使用 .transform() 進行最小-最大正規化
最常見的操作之一是最小-最大正規化。做法是將欲關注的數值先減去最小值,再除以最大值與最小值的差。例如,若要將學生的體重資料從 160 磅到 200 磅重新縮放,你要先從每位學生的體重減去 160,然後再除以 40(200 - 160)。
你將把最小-最大正規化定義出來,並套用到餐廳資料中所有數值變數。你會先依用餐時間(Lunch 或 Dinner)進行分組,接著對每個群組分別套用正規化。
記得你可以隨時在 IPython Shell 中探索資料集並觀察變化,也可以參考「Slides」分頁中的投影片。
本練習屬於課程
使用 pandas 撰寫高效程式碼
練習說明
- 使用 lambda 方法定義最小-最大正規化。
- 依照用餐發生的時間對資料分組。
- 對分組後的資料套用轉換。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Define the min-max transformation
min_max_tr = lambda x: (x - ____) / (____ - x.min())
# Group the data according to the time
restaurant_grouped = restaurant_data.____(____)
# Apply the transformation
restaurant_min_max_group = restaurant_grouped.____(____)
print(restaurant_min_max_group.head())