特征缩放
我們什么時候用到特征縮放呢?特征縮放的意義又是什么呢?
如果我們有多個特征一起來用于作出某一個決定。有些特征的值可能數值極大。有些特征可能數值較小。這是簡單的對特征累加之后用于判斷顯然是不太合適的。特征縮放的意義便在于此。
特征縮放公式
公式的特點是他的值總是在0和1之間。這個公式不足之處在于她比較容易受極值影響,如果極值是異常值的話,情況會十分糟糕。
在sklearn中使用最小最大值縮放器
from sklearn.preprocessing import MinMaxScaler import numpy# MinMaxScaler中要求必須是浮點數且必須是numpy.array類型 weights = numpy.array([[115.], [140.], [170.]]) scaler = MinMaxScaler() rescaled_weight = scaler.fit_transform(weights) print rescaled_weight什么樣的算法受特征縮放影響
受特征縮放影響的算法有支持向量機和K均值算法。
他們之所以受特征縮放的影響是因為他們都是根據距離數據的距離進行劃分的。支持向量機劃分是根據到數據點間的最大距離,K均值的選取和優化也和距離有十分密切的關系。因此,當一點的距離成倍增加時必然會對分類造成影響。
不受特征縮放影響的算法有決策樹和線性回歸。
決策樹之所以不受特征縮放影響是因為決策樹總是橫向的分割,即使某一個變量成比例的擴大倍數也沒有關系。線性回歸之所以不受影響的是因為線性方程的比例關系總是不變的,所以縮放對其沒有影響。
總結
- 上一篇: iterparse中的events参数s
- 下一篇: 文本学习