对训练数据进行欠采样
现在请使用少量 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。 - 打印新数据集中贷款状态的
.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(____[____].____())