是否需要进行特征缩放

6
我正在使用样本数据集学习聚类,该数据集包含关键字的出现次数。由于所有不同关键字的出现次数都是数字,所以不缩放值并直接使用它们是否可行?我在互联网上读了几篇文章,强调缩放很重要,因为它会调整频率的相关性。由于大多数频率为0(95%以上),z分数缩放将改变分布形状,这可能是一个问题,因为我正在改变数据的性质。我考虑根本不更改值以避免这种情况。那么这会影响我从聚类中获得的结果质量吗?

只是出于好奇,这个数据中的年份是一个特征还是一个标签?你能用这个数据预测什么? - Valentin H
既然你有数据集,为什么不尝试两种方式,看看哪种更好呢? - IVlad
@IVlad,我尝试了两种方法,但我不是很熟悉如何真正衡量聚类的有效性。只是用肉眼观察,不采用缩放方法似乎更好。但是我在想,我是不是在做一些非常规或完全不可接受的事情。 - Yantraguru
@ Valentine,我不确定数据集是否可用于预测,我正在尝试根据兴趣对其进行聚类。因此,当出现新的个人资料时,可以说它更像这些人等等。 - Yantraguru
3个回答

8
正如已经指出的,答案在很大程度上取决于所使用的算法。如果您正在使用基于距离的算法(通常使用欧几里得距离,例如k-Means或k-NN),它会更依赖于具有更大范围的特征,因为该特征值的“典型差异”更大。非基于距离的模型也可能受到影响。尽管人们可能认为线性模型不属于这一类别,因为缩放(和必要时的平移)是线性变换,所以如果可以提高结果,模型应该学习它,对吗?事实证明,答案是否定的。原因在于没有人使用纯线性模型,它们总是与某种正则化一起使用,以惩罚过大的权重。这可能会防止您的线性模型从数据中学习缩放。还有一些与特征比例无关的模型。例如,基于树的算法(决策树和随机森林)不受影响。树的节点通过将一个特征(最佳拆分数据集的特征)与阈值进行比较来将数据分成2个集合。阈值没有正则化(因为应该保持树的高度小),因此不受不同比例的影响。话虽如此,通常建议对数据进行标准化(减去平均值并除以标准差)。

1
关于基于树的回归,损失函数仍然基于距离(例如mse),您怎么看? - ADJ
1
基于树的回归与其他回归方法并无不同。回归计算预测值和真实值之间的均方误差/平均绝对误差,但它不要求您在特征空间中使用任何度量标准。 - Artem Sobolev
谢谢您的回复,我指的是针对目标/响应变量的缩放/转换,而不是特征。 - ADJ
这个问题涉及到特征缩放。但是即使在基于树的回归中,对于连续目标也没有必要对数据进行归一化处理。这是因为树只通过对数据的某些子集取平均值来与目标交互。 - Artem Sobolev

0

可能这取决于分类算法。我只熟悉SVM。请参见第2.2章节以了解缩放的解释

特征类型(单词计数)并不重要。特征范围应该更或多或少相似。如果您的文本中“尊严”的计数为10,而“有”为100000000,则(至少在SVM上),这些特征的结果将不太准确,因为当您将两个计数缩放到类似的范围时,结果会更准确。

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


事实上,没有像“如果不需要,则无需缩放”这样简单的规则。你永远不会知道这样的事情。有许多缩放方法,其中许多可能会有所帮助,尽管数据特征如此基本。您提到的最小-最大缩放是一种琐碎的方法,但并不一定是最好的方法。 - lejlot
@lejlot 很有趣。你能提供一些关于这个主题的其他方法或者一些好的链接吗? - Valentin H

0

*基于距离的算法需要进行缩放 *在基于树的算法中不需要进行缩放

但是,如果可能的话,对数据进行缩放并训练模型是有好处的。在进行缩放之前和之后,比较模型准确度和其他评估指标,并选择最佳可能性。这是我所知道的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接