优达笔记-特征缩放

文章目录

        • 特征缩放
        • 在Python中实践特征缩放

特征缩放

特征缩放这个名字听起来很腻害的样子,实际上它讲了一个非常浅显的方法。

例如下面的Cameront1身高5.9,体重175,他穿L号的衣服。
Sarah体重115,身高5.2,她穿S号的衣服。
那么有个人叫Chris,他体重140,身高6.1,应该穿了L还是S呢?

优达笔记-特征缩放_第1张图片

我们可以合理的猜测一下,Chris的身高6.1更接近Cameron的5.9的身高,因此可以和他一样穿L号的,当然你也可以有其他的猜测,例如根据体重

特征缩放就讲的这么一回事,公式如下:

x'=\frac{x-x_{min}}{x_{max}-x_{min}}

例如刚刚的图片中,我们的身高有[115,140,174],这里的最大值是175,最小值是115,那么140的缩放值就是

x_{140}'=\frac{140-115}{175-115}≈0.417

这中做法的有好有坏:
好处 :得到的值都是0~1之间的,很方便

坏处:如果存在异常值,那么结果就很不可靠

在Python中实践特征缩放

这个公式非常简单,当然你也可以自己编写代码来计算,不过我们要用到的是Sklearn文档中的函数,因为这样子更懒~

打开Sklearn的MinMaxScaler函数,会看到下面的代码示例:

优达笔记-特征缩放_第2张图片

然后我们打开Python的终端来操作一下刚刚例子中的身高数组[115,140,174]


>>> from sklearn.preprocessing import MinMaxScaler
>>> import numpy
>>> weights=numpy.array([[115.],[140.],[175.]])
>>> scaler=MinMaxScaler()
>>> rescaled_weight=scaler.fit_transform(weights)
>>> rescaled_weight
array([[0.        ],
       [0.41666667],
       [1.        ]])

需要注意的是【使用RBF核函数的SVM】和【K-均值聚类】算法都会收到【特征缩放】的影响,而【决策树】和【线性回归】则不会受到影响

你的是对作者莫大的支持哦~?

如果你想看其他的关于机器学习的一些知识,可以关注我的知乎专栏,我是一个机器学习小白,初学者总会遇到各种各样的困难,我会从初学者的角度把每一个坑都给你仔仔细细的讲明白咯~

优达笔记-特征缩放_第3张图片

你可能感兴趣的:(机器学习,机器学习,特征缩放,非监督学习,优达学诚)