我应该啥时候在机器学习中进行特征缩放或归一化?

Posted

技术标签:

【中文标题】我应该啥时候在机器学习中进行特征缩放或归一化?【英文标题】:When should I do feature scaling or normalisation in machine learning?我应该什么时候在机器学习中进行特征缩放或归一化? 【发布时间】:2019-01-18 23:42:09 【问题描述】:

我有一个包含 92 个特征的训练特征集。其中 91 个特征是 1 或 0 的布尔值。但 1 个特征是数字的,它在 3-2000 之间变化。

如果我对我的第 92 个特征进行特征缩放会更好吗?

如果是,最好的方法是什么?我正在使用 Python。

【问题讨论】:

使用 python ??? 如果使用 python 然后使用 sklearn.preprocessing 中的 minmax scaller,您将能够在具有巨大值的特定数组中从 0,1 缩放数据。 scikit-learn.org/stable/modules/generated/… 您打算使用哪种算法?特征 92 也有异常值吗? 【参考方案1】:

有时,这在很大程度上取决于您想使用哪种算法进行预测。假设如果您使用 SVM 并为此使用高斯内核,并且您没有对输入使用特征缩放,那么您最终可能会得到错误的假设,并且您的大特征将支配其他较小的特征。一般来说,特征缩放始终是控制输入变化的最佳方法,它也使算法计算速度更快(或者换句话说,收敛到最优最小值)。

【讨论】:

以上是关于我应该啥时候在机器学习中进行特征缩放或归一化?的主要内容,如果未能解决你的问题,请参考以下文章

为什么要对特征进行缩放(归一化)

特征归一化与独热编码

机器学习算法在什么情况下需要归一化

点云数据集的归一化(特征缩放)

机器学习中数值型特征做特征归一化

机器学习中数值型特征做特征归一化