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