选择具有标准化数据的算法(分类)

数据挖掘 机器学习 分类 特征选择
2022-02-16 15:00:04

我有一个数据集,所有特征都是从 0 到 1(实数),输出是 0 或 1(整数)。例子:

var1   var2   var3  output
0.01    0.1    0.7       1
0.01    0.1    0.7       1
 0.1    0.2    0.3       0
 0.2    0.4    0.4       0
 0.4    0.1    0.9       1    

当变量从 0“标准化”到 1 时,推荐使用哪种分类算法?SVM 或逻辑回归在这些类型的数据中是否“反应”良好?

我注意到,大多数在进行特征缩放时使用 SVM、NN 或逻辑回归的人都使用 stardadization( (value-mean)/std) )。是否有理由不将值从 0 重新调整到 1?

1个回答

在处理使用梯度下降训练的模型时,重新缩放或任何其他形式的标准化/归一化非常有用:(SVM,NN,LogReg)。

这个问题很好地解释了标准化对梯度的影响:https ://stats.stackexchange.com/questions/111467/is-it-necessary-to-scale-the-target-value-in-addition-to-scaling -re功能

例如,决策树对线性变换是不变的,因此理论上,特征缩放不会以任何方式影响模型。

对于您的设置,您有一个二元分类问题。

我建议首先尝试对您的数据使用线性分类器。逻辑回归是一个不错的首选。如果您认为 LogReg 没有像您希望的那样工作,那么您可以继续使用更复杂的模型。我建议使用与梯度提升模型相结合的决策树。

在与您描述的问题类似的问题中,特别是当数据中没有固有结构时(如图像分类、语音识别等),梯度提升模型往往优于神经网络。

希望这可以帮助。