July 2025
Intermediate to advanced
320 pages
3h 10m
Chinese
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
本章将介绍以下指标和评估工具:混淆矩阵、各种指标、分类报告和一些可视化工具。
这将作为预测泰坦尼克号生还的决策树模型进行评估。
混淆矩阵有助于了解分类器的性能。
二元分类器有四种分类结果:真阳性 (TP)、真阴性 (TN)、假阳性 (FP) 和假阴性 (FN)。前两种是正确的分类。
下面是一个记住其他结果的常见例子。假设阳性表示怀孕,阴性表示没有怀孕,那么假阳性就好比声称一个男人怀孕了。假阴性是指声称一名孕妇没有怀孕(而她明显有怀孕迹象)(见图 12-1)。后两种误差分别称为1 型和2 型误差(见表 12-1)。
另一种记忆方法是,P(表示假阳性)中有一条直线(类型 1 错误),N(表示假阴性)中有两条垂直线。
| 实际 | 预测阴性 | 预测阳性 |
|---|---|---|
实际负值 |
真阴性 |
假阳性(类型 1) |
实际阳性 |
假阴性(类型 2) |
真阳性 |
下面是计算分类结果的 pandas 代码,注释显示了计算结果。我们将使用这些变量来计算其他指标:
>>>y_predict=dt.predict(X_test)>>>tp=(...(y_test==1)&(y_test==y_predict)...).sum()# 123>>>tn=(...(y_test==0)&(y_test==y_predict)...).sum()# 199>>>fp=(...(y_test==0)&(y_test!=y_predict)...).sum()# 25>>>fn=(...(y_test==1)&(y_test!=y_predict)...).sum()# 46
表现良好的分类器最好在真对角线上有较高的计数。我们可以使用 sklearnconfusion_matrix 函数创建一个 DataFrame:
>>>fromsklearn.metricsimportconfusion_matrix>>>y_predict=dt.predict(X_test)>>>pd.DataFrame(...confusion_matrix(y_test,y_predict),...columns=[..."Predict died",..."Predict Survive",...],...index=["True Death","True Survive"],...)Predict died Predict SurviveTrue Death 199 25True Survive 46 123
Yellowbrick 提供了混淆矩阵图(见图 12-2):
>>>importmatplotlib.pyplotasplt>>>fromyellowbrick.classifierimport(...ConfusionMatrix,...)>>>
Read now
Unlock full access