標準預處理

2021-08-21 11:44:56 字數 742 閱讀 9940

不同特徵的取值範圍千差萬別,常見的解決方法是對不同的特徵進行規範化,使它們的特徵值落在相同的值域或從屬於某幾個確定的類別,比如小、中和大。一旦解決這個問題,不同的特徵型別對演算法的影響將大大降低,分類正確率就能有大幅提公升。

選擇具區分度的特徵、建立新特徵等都屬於預處理的範疇。scikit-learn的預處理工具叫作轉換器(transformer),它接受原始資料集,返回轉換後的資料集。除了處理數值型特徵, 轉換器還能用來抽取特徵。在這裡,我們只看下對數值型特徵的預處理方法。

下面用minmaxscaler類進行基於特徵的規範化。

from sklearn.preprocessing import minmaxscaler
這個類可以把每個特徵的值域規範化為0到1之間。小值用0代替,大值用1代替,其餘值介於兩者之間。

接下來,對資料集x進行預處理。我們在預處理器minmaxscaler上呼叫轉換函式。有些轉 換器要求像訓練分類器那樣先進行訓練,但是minmaxscaler 不需要,直接呼叫 fit_transform()函式,即可完成訓練和轉換。

x_transformed = minmaxscaler().fit_transform(x
x_transformed與x行列數相等,為同型矩陣。然而,前者每列值的值域為0到1。

還有很多其他類似的規範化方法,對於其他型別的應用和特徵型別會很有用。

參考資料

《python資料探勘入門與實踐》

C 標準庫 預處理器

1.預處理器 1.1 使用 代表返回乙個帶引號的字串,如 define to string s s to string hello 可以表示成 hello 1.2 使用 代表連線前後的內容,如 define concatenate x,y x y concatenate 5,2 可以表示成52 1....

資料預處理之標準化

近來趁專案間隔期,工作不是太多,也在利用空餘時間把資料分析的完整流程用python實現一遍,也恰好整理下這幾年手頭的一些資料,順序可能比較亂,後期再慢慢調整。資料的標準化 normalization 是將資料按照一定規則縮放,使之落入乙個小的特定區間。這樣去除資料的單位限制,將其轉化為無量綱的純數值...

資料預處理 資料標準化

x train np.array 1,1,2 2,0,0 0,1,1 min max scaler preprocessing.minmaxscaler x train minmax min max scaler.fit transform x train print x train minmax ...