我如何决定是否需要标准化而不是标准化,反之亦然?

数据挖掘 机器学习 Python 数据科学模型
2021-10-03 18:37:45

在设计 ML 模型时,我如何决定是否需要进行标准化而不是标准化,反之亦然?这个决定是基于什么因素做出的?

2个回答

在我们开始之前请记住,在大多数情况下,您选择两者中的哪一个并没有太大的区别。

现在回答您的问题,一般而言,应根据您要采用的模型进行选择:

  • 如果您使用基于距离的估计器(例如 k-NN、k-means),最好对您的特征进行归一化,以便它们占据相同的精确值范围(即[0,1])。这迫使您的估算器以同等重要性对待每个特征。

  • 如果您使用的是神经网络,最好将您的特征标准化,因为当您的数据集中时,梯度下降具有一些有用的属性0 有单位方差。

  • 基于树的算法不需要任何形式的缩放,因此如果您缩放或规范化您的特征,它是无关紧要的。

根据经验,我通常会标准化数据(除非我要严格使用基于距离的算法)。

我认为这完全取决于模型。例如,如果它是朴素贝叶斯,因为它只处理概率,你不能使用负值。在这种情况下,标准化有效!

当您处理基于几何的算法(例如 SVM 或 Logistic 回归)时,最好对数据进行标准化,因为数据中存在 (-1,1) 对称性。与归一化相比,训练过程的学习发生得非常快(由于对称点)。

我相信标准化主要适用于许多算法。但是,我建议您检查算法和损失函数度量的上下文。