- 如果要预测的case有特征缺失了,应该用什么方法补呢?(和训练集的特征工程还是有区别的吧?)
特征归一化(Feature Scaling),这也是许多机器学习模型都需要注意的问题。
有些模型在各个维度进行不均匀伸缩后,最优解与原来不等价,例如SVM。对于这样的模型,除非本来各维数据的分布范围就比较接近,否则必须进行标准化,以免模型参数被分布范围较大或较小的数据占有优势。
有些模型在各个维度进行不均匀伸缩后,最优解与原来等价,例如logistic regression。对于这样的模型,是否标准化理论上不会改变最优解。但是,由于实际求解往往使用迭代算法,如果目标函数的形状太“扁”,迭代算法可能收敛得很慢甚至不收敛。所以对于具有伸缩不变性的模型,最好也进行数据标准化。
做归一化有什么好处呢?
其一是提升模型训练速度。
比如就两个特征,一个特征取值为0~2000,而另一个特征取值为1-5,对其进行优化时,会得到一个长的椭圆形,导致在梯度下降时,梯度的方向为垂直等高线的方向而走之字形路线,这样会使迭代慢。相比之下,做过归一化的迭代就会很快。
Feature Scaling:(make sure features are on a similar scale)
其二,提升模型的精度。
在涉及到一些距离计算的算法时效果显著,比如算法要计算欧式距离。做归一化很有必要,可以让各个特征对结果做出的贡献相同。
关于归一化的选择:
1)在分类、聚类算法中,需要使用距离来度量相似性的时候,或者使用PCA技术进行降维的时候,用Zscore表现更好。
2)在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用minmaxscore或其他归一化方法。
碎碎念 好久没写啦 经历了阿里面试结束说过了 等hr 再到hc满了 被扔进公海 再简历进入阿里云无人问津后 ? 我就认真在做实习的事情了 没怎么复习基础概念 ε=(´ο`*)))唉