開始使用免費開始

標準化縮放

標準化縮放會把數值型特徵轉換為平均數為 0、變異數為 1。在本練習中,你會使用 sklearnStandardScaler() 進行標準化縮放。首先,你會只選出需要縮放的欄位,方法是結合對數值欄位的篩選與對欄位名稱的既有認識。這段篩選程式碼已經提供,會透過正規表示式來完成,能進行部分字串比對。接著你會使用 fit_transform() 來轉換相關欄位。

pandas 模組已在工作環境中以 pd 提供,範例 DataFrame 已載入為 df。另外,hour 欄位已轉換為 datetime,且可使用 sklearn.preprocessing 中的 StandardScaler

本練習屬於課程

用 Python 透過機器學習預測 CTR

檢視課程

練習說明

  • 使用 .select_dtypes() 選出數值欄位,並用它來篩選給定的 filter_cols
  • 先建立 StandardScaler(),再用 .fit_transform() 對相關欄位套用標準化縮放。
  • 使用 .var() 列印新轉換欄位的變異數。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Get non-categorical columns, with a filter
num_df = df.____(include=['int', 'float'])
filter_cols = ['click', 'banner_pos', 'device_type',
               'search_engine_type', 'product_type', 'advertiser_type']
new_df = num_df[num_df.columns[~num_df.columns.____(filter_cols)]]
num_cols = new_df.____

# Transform columns using StandardScaler
scaler = ____()
df[num_cols] = scaler.____(df[____])

# Print mean and variance of transformed columns
print(df[num_cols].mean())
print(df[num_cols].____)
編輯並執行程式碼