真实世界的成本分析
本练习仍使用信用数据集。回忆一下,该数据集中"正类"表示"信用不良",也就是违约的客户;"负类"表示按期还款的客户。银行经理告知您:每位"低风险"(good risk)客户平均可为银行带来 10K 利润,而每位"高风险"(bad risk)客户会让银行损失 150K。您的算法将用于筛选申请者:被标为"负类"的会获批贷款,被标为"正类"的会被拒贷。那么,您的分类器带来的总成本是多少?可用的数据为 X_train、X_test、y_train 和 y_test。可用的函数包括 confusion_matrix()、f1_score()、precision_score() 以及 RandomForestClassifier()。
本练习是课程的一部分
用 Python 设计机器学习工作流
练习说明
- 在训练数据上拟合一个随机森林分类器。
- 用它为测试数据生成标签。
- 从
confusion_matrix()中提取假阴性和假阳性。您需要将矩阵展平。 - 将"good"客户误判为"bad",意味着银行错失 10K 的盈利机会。将"bad"客户误判为"good",意味着银行因其违约而损失 150K。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Fit a random forest classifier to the training data
clf = ____(random_state=2).fit(____, ____)
# Label the test data
preds = clf.____(____)
# Get false positives/negatives from the confusion matrix
tn, ____, ____, tp = confusion_matrix(y_test, preds).____()
# Now compute the cost using the manager's advice
cost = fp*____ + fn*____