Scikit-learn 之 預處理模組
阿新 • • 發佈:2018-12-10
一、預處理的作用 在機器學習任務中,學習器都會對資料有一定的要求,比如在最近鄰演算法中,我需要尋找與中心點最近鄰的點,假設我們使用歐式距離度量,如果有一個屬性值是千萬量級,而另一個屬性是100以內,那麼如此計算的距離會嚴重依賴於大量級的屬性,這對最後模型結果是有很大的影響的。總之,預處理的目的就是為了能夠讓學習器得到“乾淨”的資料。在機器學習任務中,學習器都會對資料有一定的要求,比如在最近鄰演算法中,我需要尋找與中心點最近鄰的點,假設我們使用歐式距離度量,如果有一個屬性值是千萬量級,而另一個屬性是100以內,那麼如此計算的距離會嚴重依賴於大量級的屬性,這對最後模型結果是有很大的影響的。總之,預處理的目的就是為了能夠讓學習器得到“乾淨”的資料。 二、Sklearn有哪些預處理方案
3.2. 稀疏資料的標準化 對於稀疏化資料,首先需要保證標準化後的資料仍然能保證其稀疏性,所以MaxAbsScaler可以應用在稀疏資料,對於StandardScaler,必須傳入with_mean = False從而保證標準化後的資料稀疏性。
3.3. 預處理一般流程 1.缺失值處理 2.異常值處理 3.標準化 4.正則化 5.資料稀疏問題 6.是否降維處理 7.屬性是否擴充
PS:本模組包含程式都在0.19.2版本的scikit-learn庫中進行測試 Sklearn預處理模組都在sklearn.preprocesssing包中