机器学习模型评估与优化
1. 分类模型评估
1.1 ROC曲线与AUC指标
在分类模型评估中,理解性能权衡至关重要。ROC曲线和AUC评估指标是验证分类模型的常用工具。以下是计算AUC的代码:
from numpy import trapz
def auc(true_labels, predicted_labels, pos_class=1):
fpr, tpr, thr = roc_curve(true_labels, predicted_labels,
pos_class=pos_class)
area = -trapz(tpr, x=fpr)
return area
1.2 多类别分类
之前我们主要关注二元分类问题,但许多工具同样适用于多类别分类。手写数字识别就是一个著名的多类别分类问题。例如,邮政服务在确定信件地址时,可能会使用机器学习算法识别手写数字。
以MNIST手写数字数据集为例,该数据集包含80,000个28x28像素的手写数字图像。我们可以使用随机森林算法构建分类器,并通过测试集生成混淆矩阵。混淆矩阵的对角线元素表示每个数字被正确分类的实例数,非对角线元素则显示分类器最容易混淆的地方。例如,数字4和9、3和5、7和9之间的混淆较为明显。
为了生成多类别分类器的ROC曲线,我们可以使用“一对多”技巧。对于每个类别,将其指定为正类,其余类别指定为负类,然后绘制ROC曲线。下表展示了MNIST分类器中每个数字的AUC值:
| 数字 | AUC值 |
|
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



