P36 标准化与归一化的区别?
简单来说,标准化是依照特征矩阵的列处理数据,其通过求z-score的方法,将样本的特征值转换到同一量纲下。
归一化是依照特征矩阵的行处理数据,其目的在于样本向量在点乘运算或其他核函数计算相似性时,拥有统一的标准,也就是说都转化为“单位向量”。规则为L2的归一化公式如下:
特征向量的缺失值处理:
1.缺失值较多 直接将该特征舍弃掉,否则可能反倒会带入较大的noise,对结果造成不良影响。
2.缺失值较少 其余的特征缺失值都在10%以内,我们可以采取很多的方式来处理:
1) 把NaN直接作为一个特征,假设用0表示;
2) 用均值填充;
3) 用随机森林等算法预测填充
P37 随机森林如何处理缺失值
RF中有相应的缺失值处理方法,本次记录其两种缺失值处理技巧
1 暴力填补
Python中的na.roughfix
包提供简单的缺失值填补策略:
对于训练集中处于同一个类别下的数据,如果是类别变量缺失,则用众数补全,如果是连续变量,则用中位数。
2 相似度矩阵填补
RF的Python实现中,有一个rfImpute
包,可以提供更加高层的缺失值填补。
1) 首先先用暴力填补法进行粗粒度填充。
2) 然后使用上述填补后的训练集来训练随机森林模型,并统计相似度矩阵(proximity matrix),然后再看之前缺失值的地方,如果是分类变量,则用没有缺失的观测实例的相似度中的权重进行投票;如果是连续性变量,则用相似度矩阵进行加权求均值。
3) 上述投票方案迭代进行4~6次。
相似度矩阵
就是任意两个观测实例间的相似度矩阵,原理是如果两个观测实例落在同一棵树的相同节点次数越多,则这两个观测实例的相似度越高。
参考:
https://blog.csdn.net/sinat_35512245/article/details/78796328
https://www.jianshu.com/p/a4bf9224d66c
本文分享自 程序员郭震zhenguo 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!