l2 的归一化公式如下:
13、特征向量的缺失值处理
1. 缺失值较多.直接将该特征舍弃掉,否则可能反倒会带入较大的 noise,对结果造成不良影
响。
2. 缺失值较少,其余的特征缺失值都在 10%以,我们可以采取很多的方式来处理:
1) 把 NaN 直接作为一个特征,假设用 0 表示;
2) 用均值填充;
3) 用随机森林等算法预测填充
随机森林如何处理缺失值(charleshm.github.io/2016/03/Random-Forest-Tricks/)
方法一(na.roughfix)简单粗暴,对于训练集,同一个 class 下的数据,如果是分类变量缺失,
用众数补上,如果是连续型变量缺失,用中位数补。
方法二(rfImpute)这个方法计算量大,至于比方法一好坏?不好判断。先用na.roughfix 补
上缺失值,然后构建森林并计算proximity matrix,再回头看缺失值,如果是分类变量,则用
没有缺失的观测实例的 proximity 中的权重进行投票。如果是连续型变量,则用proximity 矩
阵进行加权平均的方法补缺失值。然后迭代 4-6 次,这个补缺失值的思想和 KNN 有些类似
12。
随机森林如何评估特征重要性(charleshm.github.io/2016/03/Random-Forest-Tricks/)
衡量变量重要性的方法有两种,Decrease GINI 和 Decrease Accuracy:
1) Decrease GINI: 对于回归问题,直接使用 argmax(Var−VarLeft−VarRight)作为评判标准,即
当前节点训练集的方差 Var 减去左节点的方差 VarLeft 和右节点的方差 VarRight。
2) Decrease Accuracy:对于一棵树 Tb(x),我们用 OOB 样本可以得到测试误差 1;然后随机改
变 OOB 样本的第 j 列:保持其他列不变,对第 j 列进行随机的上下置换,得到误差 2。至此,
我们可以用误差 1-误差 2 来刻画变量 j 的重要性。基本思想就是,如果一个变量 j 足够重要,
那么改变它会极大的增加测试误差;反之,如果改变它测试误差没有增大,则说明该变量不
是那么的重要。
14、优化 Kmeans
使用 kd 树或者 ball tree(这个树不懂)
将所有的观测实例构建成一颗 kd 树,之前每个聚类中心都是需要和每个观测点做依次距离
计算,现在这些聚类中心根据 kd 树只需要计算附近的一个局部区域即可
KMeans 初始类簇中心点的选取
k-means++算法选择初始 seeds 的基本思想就是:初始的聚类中心之间的相互距离要尽可能
的远。
1. 从输入的数据点集合中随机选择一个点作为第一个聚类中心
2. 对于数据集中的每一个点 x,计算它与最近聚类中心(指已选择的聚类中心)的距离 D(x)
3. 选择一个新的数据点作为新的聚类中心,选择的原则是:D(x)较大的点,被选取作为聚类
中心的概率较大
4. 重复 2 和 3 直到 k 个聚类中心被选出来
评论0
最新资源