開始使用免費開始

對訓練資料做欠抽樣(undersampling)

現在輪到你用幾行 Pandas 程式碼,自己對訓練集做欠抽樣。完成後,你可以查看 loan_status 的計數來驗證結果。

X_y_traincount_nondefaultcount_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 進行信用風險建模

檢視課程

練習說明

  • 建立未違約與違約兩個資料集,分別存成 nondefaultsdefaults
  • nondefaults 抽樣至與 count_default 相同的筆數,存成 nondefaults_under
  • 使用 .concat()nondefaultsdefaults 串接,存成 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(____[____].____())
編輯並執行程式碼