机器学习与数据挖掘"人工智障 机器瞎学 数据掩埋" 入门笔记机器学习

高级特征工程II

2018-10-17  本文已影响7人  HeoLis

以下是Coursera上的How to Win a Data Science Competition: Learn from Top Kagglers课程笔记。

Statistics and distance based features

该部分专注于此高级特征工程:计算由另一个分组的一个特征的各种统计数据和从给定点的邻域分析得到的特征。

groupby and nearest neighbor methods

例子:这里有一些CTR任务的数据

statistic_ctr_data.png

我们可以暗示广告有 页面上的最低价格将吸引大部分注意力。 页面上的其他广告不会很有吸引力。 计算与这种含义相关的特征非常容易。 我们可以为每个广告的每个用户和网页添加最低和最高价格。 在这种情况下,具有最低价格的广告的位置也可以使用。

statistic_ctr_data2.png

代码实现


statistic_ctr_data_code.png

如果没有特征可以像这样使用groupby呢?可以使用最近邻点

Neighbors

Examples

讲师在Springleaf比赛中使用了它。

KNN features in springleaf

Evaluate

Matrix factorizations for feature extraction

Notes about Matrix Fatorization

Implementtation

NMF for tree-based methods

non-negative matrix factorization简称NMF,它以一种使数据更适合决策树的方式转换数据。

NMF.png

可以看出,NMF变换数据形成平行于轴的线。

因子分解

可以使用与线性模型的技巧来分解矩阵。


NMF_note.png

Conclusion

Feature interactions

特征值的所有组合

假设我们正在构建一个预测模型,在网站上显示的最佳广告横幅。

... category_ad category_site ... is_clicked
... auto_part game_news ... 0
... music_tickets music_news .. 1
... mobile_phones auto_blog ... 0

将广告横幅本身的类别和横幅将显示的网站类别,进行组合将构成一个非常强的特征。

... ad_site ... is_clicked
... auto_part | game_news ... 0
... music_tickets | music_news .. 1
... mobile_phones | auto_blog ... 0

构建这两个特征的组合特征ad_site

从技术角度来看, 有两种方法可以构建这种交互。

方法1

interaction1.png

方法2

interaction2.png

事实上,这不限于乘法操作,还可以是其他的

Practival Notes

通过这种方法生成了大量的特征,可以使用特征选择或降维的方法减少特征。以下用特征选择举例说明


sele.png

Interactions' order

Extract features from DT

tree_interaction.png

看一下决策树。 让我们将每个叶子映射成二进制特征。 对象叶子的索引可以用作新分类特征的值。 如果我们不使用单个树而是使用它们的整体。 例如,随机森林, 那么这种操作可以应用于每个条目。 这是一种提取高阶交互的强大方法。

In sklearn:

tree_model.apply()

In xgboost:

booster.predict(pred_leaf=True)

Conclusion

t-SNE

用于探索数据分析。可以被视为从数据中获取特征的方法。

Practical Notes

Conclusion

矩阵分解:

T-SNOW:

互动:

上一篇下一篇

猜你喜欢

热点阅读