開始使用免費開始

分層抽樣(Stratified sampling)

你現在知道 volunteer 資料集中 category_desc 欄位的類別標籤分佈並不平均。若你想訓練一個模型來預測 category_desc,就需要確保模型是用能代表整個資料集的樣本來訓練。分層抽樣就是達成這件事的方法之一!

本練習屬於課程

Python 的 Machine Learning 前處理

檢視課程

練習說明

  • 建立特徵的 DataFrame X,包含除了 category_desc 以外的所有欄位。
  • category_desc 欄位建立標籤的 DataFrame y
  • Xy 分割為訓練集與測試集,並確保兩個資料集中標籤的類別分佈相同。
  • 使用 .value_counts() 列印 y_train 中的標籤與計數。

動手互動練習

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

# Create a DataFrame with all columns except category_desc
X = volunteer.____(____, axis=____)

# Create a category_desc labels dataset
y = ____[[____]]

# Use stratified sampling to split up the dataset according to the y dataset
X_train, X_test, y_train, y_test = ____(____, ____, ____, random_state=42)

# Print the category_desc counts from y_train
print(____[____].____)
編輯並執行程式碼