使用sklearn中的classification_report输出分类报告时,横坐标应为数据的真实标签,纵坐标为数据的预测标签,故选C。
正确答案是C: `classification_report(data['是否违约'], Y_hat)`
**专业分析:**
在使用 `sklearn` 中的 `classification_report` 函数时,函数的参数需要传入真实标签和预测标签。具体来说:
1. `data['是否违约']` 是数据集中客户是否违约的真实标签。
2. `Y_hat` 是基于逻辑回归模型 `model` 和判断阈值 0.5 得到的预测标签。
`classification_report` 的作用是生成分类任务的主要指标,包括精确率(precision)、召回率(recall)、F1-score 等,用来评估分类模型的性能。因此,正确的调用方式是将真实标签和预测标签传入 `classification_report` 函数。
分析各个选项:
A: `classification_report(data['是否违约'], p)` - 错误。`p` 是预测的概率值,而不是标签。`classification_report` 需要的是标签而不是概率。
B: `classification_report(p, data['是否违约'])` - 错误。同样地,`p` 是概率值,不是标签。
C: `classification_report(data['是否违约'], Y_hat)` - 正确。`data['是否违约']` 是真实标签,`Y_hat` 是预测标签。
D: `classification_report(Y_hat, data['是否违约'])` - 错误。参数顺序不对,`classification_report` 的第一个参数应为真实标签,第二个参数应为预测标签。
因此,正确答案是C。