對訓練資料做欠抽樣(undersampling)
現在輪到你用幾行 Pandas 程式碼,自己對訓練集做欠抽樣。完成後,你可以查看 loan_status 的計數來驗證結果。
X_y_train、count_nondefault 和 count_default 已經載入到工作環境中。它們是用以下程式碼建立的:
X_y_train = pd.concat([X_train.reset_index(drop = True),
y_train.reset_index(drop = True)], axis = 1)
count_nondefault, count_default = X_y_train['loan_status'].value_counts()
原始訓練資料的 .value_counts() 會自動列印。
本練習屬於課程
以 Python 進行信用風險建模
練習說明
- 建立未違約與違約兩個資料集,分別存成
nondefaults與defaults。 - 將
nondefaults抽樣至與count_default相同的筆數,存成nondefaults_under。 - 使用
.concat()將nondefaults與defaults串接,存成X_y_train_under。 - 列印新資料集的
loan_status之.value_counts()。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create data sets for defaults and non-defaults
____ = ____[____[____] == 0]
____ = ____[____[____] == 1]
# Undersample the non-defaults
____ = nondefaults.sample(____)
# Concatenate the undersampled nondefaults with defaults
____ = pd.____([____.reset_index(drop = True),
____.reset_index(drop = True)], axis = 0)
# Print the value counts for loan status
print(____[____].____())