如何在Python中使用scikit-learn庫進行資料縮放?


特徵縮放是構建機器學習演算法中資料預處理階段的重要步驟。它有助於將資料歸一化到特定範圍內。

有時,它還有助於提高機器執行計算的速度。

為什麼需要它?

作為輸入提供給學習演算法的資料應保持一致和結構化。輸入資料的全部特徵應處於單個尺度上,以便有效地預測值。但在現實世界中,資料是非結構化的,而且大多數情況下,並非處於相同的尺度上。

這時,歸一化就發揮作用了。它是最重要的資料準備過程之一。它有助於更改輸入資料集列的值,使其落入相同的尺度。

讓我們瞭解如何使用Scikit learn庫在Python中執行特徵縮放。

示例

import numpy as np
from sklearn import preprocessing
input_data = np.array(
[[34.78, 31.9, -65.5],
[-16.5, 2.45, -83.5],
[0.5, -87.98, 45.62],
[5.9, 2.38, -55.82]])
data_scaler_minmax = preprocessing.MinMaxScaler(feature_range=(0,1))
data_scaled_minmax = data_scaler_minmax.fit_transform(input_data)
print ("\nThe scaled data is \n", data_scaled_minmax)

輸出

The scaled data is
[[1.  1. 0.1394052 ]
[0.  0.75433767 0. ]
[0.33151326 0. 1. ]
[0.43681747 0.75375375 0.21437423]]

解釋

  • 匯入所需的包。

  • 使用Numpy庫生成輸入資料。

  • 使用'preprocessing'類中的MinMaxScaler函式將資料縮放至0到1的範圍。

  • 這樣,陣列中的任何資料都會縮放到0到1之間的值。

  • 此縮放後的資料顯示在控制檯上。

更新於:2020年12月11日

334 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.