是否需要特征缩放

Feature Scaling required or not

我正在与 sample data set 一起学习聚类。该数据集包含关键字的出现次数。

既然都是不同关键字的出现次数,那么不缩放值并按原样使用它们可以吗?

我在互联网上阅读了几篇文章,其中强调缩放很重要,因为它将调整频率的相关性。由于大多数频率为 0 (95%+),z 分数缩放将改变分布的形状,我觉得这可能是个问题,因为我正在改变数据的性质。

我正在考虑完全不更改值以避免这种情况。这会影响我从聚类中获得的结果质量吗?

应该是分类算法的问题吧。我只熟悉 SVM。请参阅 Ch. 2.2 for the explanation of scaling

特征的类型(字数)无关紧要。特征范围应该或多或少相似。如果计数例如"dignity" 是 10 而 "have" 的计数在你的文本中是 100000000,那么(至少在 SVM 上)这些特征的结果会不如你将两个计数缩放到相似范围时准确。

不需要缩放的情况是那些数据被隐式缩放的情况,例如特征是图像中的像素值。数据已缩放到 0-255 范围。

如前所述,答案在很大程度上取决于所使用的算法。

如果您使用基于距离的算法(通常是默认的)欧氏距离(例如,k-Means 或 k-NN),它将更多地依赖范围更大的特征,因为 "typical difference" 该特征的值更大。

非基于距离的模型也会受到影响。尽管人们可能认为线性模型不属于这一类,因为缩放(和翻译,如果需要)是一种线性变换,所以如果它使结果更好,那么模型应该学习它,对吧?事实证明,答案是否定的。原因是没有人使用香草线性模型,它们总是与某种惩罚过大权重的正则化一起使用。这会阻止您的线性模型从数据中学习缩放。

存在独立于特征尺度的模型。例如,基于树的算法(决策树和随机森林)不受影响。树的一个节点通过将一个特征(最好地分割数据集)与阈值进行比较,将您的数据分成 2 组。阈值没有正则化(因为应该保持树的高度小),所以它不受不同尺度的影响。

也就是说,通常建议对数据进行标准化(减去均值并除以标准差)。