在scikit学习中使用功能缩放

时间:2018-08-02 18:21:52

标签: python machine-learning scikit-learn regression

我从这里开始学习机器学习,本课程使用回归分析中的“ scikit学习”-https://www.udemy.com/machinelearning/

我可以看到,对于某些训练回归算法,作者使用了特征缩放,而对于某些他却没有,因为某些“ scikit学习”回归算法是自己进行特征缩放的。

如何知道我们需要在哪种训练算法中进行特征缩放以及在哪些地方不需要?

3 个答案:

答案 0 :(得分:3)

无需机器学习技术 即可进行功能缩放,对于某些算法,可缩放的输入使计算机上的优化更加轻松,从而缩短了培训时间。

通常,利用距离或假设正态性的算法将从特征缩放中受益。 https://medium.com/greyatom/why-how-and-when-to-scale-your-features-4b30ab09db5e

答案 1 :(得分:2)

这取决于您使用的算法和数据集。

  • 支持向量机(SVM),如果您缩放功能,这些模型的收敛速度会更快。缩放的主要优点是避免较大数值范围的属性主导较小数值范围的属性

  • 在K均值聚类中,您可以找到将不同数据点聚在一起的欧几里得距离。因此,似乎很可能会缩放您的特征,以使质心不受较大或异常值的影响很大。

  • 在回归的情况下,缩放要素不会有太大帮助,因为原始数据集之间的系数关系与缩放后的数据集之间的系数关系相同。

  • 就决策树而言,它们通常不需要特征缩放。

  • 在涉及学习率且使用梯度下降的模型的情况下,输入比例会影响梯度。因此,在这种情况下将考虑特征缩放。

答案 2 :(得分:1)

一个非常简单的答案。即使您不这样做,某些算法也会进行特征缩放,而有些算法则不会。因此,如果算法不支持,则需要手动缩放要素。

您可以通过谷歌搜索哪种算法进行特征缩放,但是通过手动缩放特征可以确保安全。始终确保对要素进行缩放,否则算法将使输出偏移达到理想状态。