特征缩放_概念
Posted 广目天王
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了特征缩放_概念相关的知识,希望对你有一定的参考价值。
- 给出这三个人的身高和体重:
- 按照我们的理解,明显Chris应该穿L码,但是根据身高+体重的结果,Chris却应该穿S。这是为什么呢?
因为在这里,体重完全主导了结果,身高的影响微乎其微。
而我们应该尽量让两者对结果有同等重要的影响。
这就引来了特征缩放——把特征都限制在[0,1]之间。
解释:
- X’是你要构建的新特征
- X(max)和X(min)是原始特征再被缩放前所取的最小值和最大值
- X代表需要缩放的各项特征的原始值
特点:缩放后的特征值总是在0和1之间
- 优点:你的预估输出相对稳定
-
缺点:如果你的输出特征中有异常值,那么你的特征缩放就会比较棘手(最大值最小值可能是极端值)
代码示例:
from sklearn.preprocessing import MinMaxScaler import numpy #这里numpy数组中的是特征,因为此处特征只有一个,所以看起来是这样的 #因为这里应该作为一个浮点数进行运算,所以数字后面要加. weights = numpy.array([[115.],[140.],[175.]]) scaler = MinMaxScaler() rescaled_weight = scaler.fit_transform(weights) print rescaled_weight
哪些机器学习算法会受到特征缩放的影响?
- 使用RBF核函数的SVN
- K-均值聚类
在这两种算法中计算距离时,你其实是在利用一个维度与另一个维度进行交换
如:
- SVM计算最大距离时就是这种情况。如果我们把某一点增大至其他点的两倍,那么它的数值也会扩大一倍
- K-均值聚类也是。计算各数据点到集群中心的距离
以上是关于特征缩放_概念的主要内容,如果未能解决你的问题,请参考以下文章