“More data beats clever algorithms, but better data beats more data.”——名人名言哈哈哈哈,更多的数据打败聪明的算法,更好的数据打败更多的数据。
特征工程
类别特征
Onehot编码
一个简单的例子
哈希编码
一个简单的例子
为每个类别变量赋予唯一的数字ID
一个简单的例子
计数编码(频率编码)
一个简单的例子
LabelCount编码(就是对count编码进行排名)
一个简单的例子
目标编码
一个简单的例子
类别的embedding
一个简单的例子
NaN编码
一个简单的例子
多项式编码
其实就是做了类别交叉然后再使用其它的编码方式来处理
一个简单的例子
扩展编码
kaggle的常见magic feature的产生方式,这里需要人工思考和头脑风暴的结果
一个简单的例子
合并编码
其实就是数据预处理中把相同含义的类别统一用一个类别表示
一个简单的例子
前面都是关于类别特征的常见处理,下面是关于连续特征的。
数值特征
四舍五入
当然要确保不损失信息的情况下使用,比如kaggle ieee的欺诈比赛,不同精度的交易金额代表了不同国家。。。这就不能直接四舍五入了。
分箱
标准化
缺失值插补
(缺失值的处理是一门大学问,这里写的太简单)
连续特征的交互
线性算法的非线性编码
按照行计算统计值
时间特征
投射到一个圆圈
趋势编码,简单说就是根据时间序列来计算某段时间的一些统计值,比如对总支出进行编码,例如:在上周支出,在上个月支出,在去年支出。这个也是比较常见的方法。
事件编码
空间编码
位置编码
位置所反应出来的欺诈行为
接下来是关于数据探索的一些资料:
数据探索
迭代/调试
关于标签的一些处理方法:
关于自然语言处理的一些方案,当然,很多方法类别特征也是很合适的。
重要的还是多实战,多总结,就像打策略游戏一样(比如魔兽争霸3),基本功要扎实,在实战中形成自己的一套处理问题的风格,不要抄kernel,不要窃取别人的特征,自己多思考和总结。