分类结果的评估方法

模型评估可以用在模型类型、调节参数及特征组合中。通过模型评估来估计训练得到的模型对于非样本数据的泛化能力,并且还需要恰当的模型评估度量手段来衡量模型的性能表现。

通常在回归问题可以采用平均绝对误差(Mean Absolute Error)、均方误差(Mean Squared Error)、均方根误差(Root Mean Squared Error),而分类问题则采用分类准确率混淆矩阵的方法,也就是今天要讲述的方法。

分类准确率

分类准确率分数是指所有分类正确的百分比。sklearn库中有直接调用它的方法

sklearn.metrics.accuracy_score(y_true, y_pred, normalize=True, sample_weight=None)

参数含义
y_ture真实标签值
y_pred预测标签值
normalize返回结果的形式,False返回正确分类的样本数,True返回正确分类样本的分数
sample_weight样本权重

分类准确率可能是一个较好的结果评估方法,但却不是一个好的模型度量方法,不能通过它观察任何有关测试数据的潜在分布。

换句话说,该训练的模型可能会在比例较高的那项类别的预测中预测正确,而在另外一种类别的预测中预测失败,而我们没法从分类准确率这项指标中发现这个问题。

那么就得通过混淆矩阵来解决这个问题。

混淆矩阵

混淆矩阵可以理解为就是一张表格,话不多说,先把表格放上。(positive代表1,negative代表0,即一般的二分类问题)
 
 

               真实值

positivenegative

      预测值

positiveTPFP
negativeFNTN
  • True Positive(TP): 被正确预测为正类的正类样本数量;
  • False Positive(FP): 被错误预测为负类的正类样本数量;
  • False Negative(FN): 被错误预测为正类的负类样本数量;
  • True Negative(TN): 被正确预测为负类的负类样本数量。

只通过这些数据可能无法直观的观察模型的优劣,则需要下面的四个指标:

准确率(Accuracy): 评价分类器性能的一般性指标就是分类的准确率,它统计的是在给定的测试集上,分类器正确分类的样本数与总测试样本数之比

                                                       Accuracy=TP+TN/TP+FN+TN+FP

精确率(Precision): 精确率在数据挖掘中也可以称为置信度,它关注的是在给定的测试数据集上,被正确预测为正类的样本数占总的被预测为正类样本数的比例: 

                                                                      Precision= TP/(TP+FP)

召回率 (Recall): 召回率,又可以称为查全率,它关注的是在给定的测试数据集上,被正确预测为正类的样本数占测试数据中正类样本数的比例

                                                                         Recall= TP/(TP+FN)

F1分数(F1 scoreF1 measure): F1分数是精确率和召回率的调和均值:

                                 F1 score=2*(precision*recall)/(precision+recall)=2TP/(2TP+FP+FN)

同样的,sklearn也提供了相应的工具以便直接使用:

准确率:sklearn.metrics.accuracy_score(y_test, y_pred)
精确率:sklearn.metrics.precision_score(y_test, y_pred)
召回率:sklearn.metrics.recall_score(y_test, y_pred)
F1分数:sklearn.metrics.f1_score(y_test, y_pred)

混淆矩阵使得我们对一个分类器性能的表现有了更全面的认识,同时通过计算各种分类后的指标,进行模型选择。

除此之外,还有另外两个指标ROC曲线和AUC值,感兴趣的同学可参考ROC曲线和AUC面积理解ROC曲线与AUC值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值