机器学习的模型评估(使用sklearn工具)

本文深入探讨了sklearn.metrics中用于评估分类和回归模型的方法,包括混淆矩阵、召回率、准确率、精确率、F1分数、ROC/AUC曲线等。此外,还讨论了accuracy_score与score方法的区别,以及如何通过train_error与test_error曲线、验证曲线和学习曲线来评估模型性能。最后,介绍了过拟合和欠拟合的识别与缓解策略。
摘要由CSDN通过智能技术生成


sklearn模型评估主要包括三种方法

  • 使用scoring进行模型的性能评估
  • 使用各个模型的提供的score方法来进行评估
  • 使用metrics进行模型评估

一、sklearn.metrics中的分类模型评估方法介绍

(1)confusion_matrix混淆矩阵

#sklearn代码实例
sklearn.metrics.confusion_matrix(y_true, y_pred, labels=None, sample_weight=None)

在这里插入图片描述
所以11为TP,10为FP,01为FN,00为TN。

在这里插入图片描述
第一个字符代表预测表现,第二个字符对于实际表现来说是预测对或错。

TP:预测为1,预测正确,即实际1

FP:预测为1,预测错误,即实际0

FN:预测为0,预测错确,即实际1

TN:预测为0,预测正确即,实际0

(2)recall_score召回率

(召回率针对原样本,含义是预测正确的样本数占实际为正样本的百分比),分母为实际为正的样本数。

利用混淆矩阵表示就是recall_score=TP/(TP+FN)

#sklearn代码实例
recall_score=recall_score(y_true, y_pred,labels=None,pos_label=1,average='binary', sample_weight=None)

多分类时候指定参数average : string, [None, ‘micro’, ‘macro’(default), ‘samples’, ‘weighted’]
在这里插入图片描述

(3)accuracy_score准确率

(准确率是指预测正确的样本数占总样本百分比)

利用混淆矩阵表示就是accuracy_score=(TP+TN)/(TP+TN+FP+FN)

#sklearn代码实例
accuracy_score=accuracy_score(y_true, y_pred, normalize=True, sample_weight=None)

准确率是分类问题中最简单也是最直观的评价指标, 但存在明显的缺陷。 比
如, 当负样本占99%时, 分类器把所有样本都预测为负样本也可以获得99%的准确
率。 所以, 当不同类别的样本比例非常不均衡时, 占比大的类别往往成为影响准
确率的最主要因素
在这里插入图片描述

(4)精确率

它是针对预测结果而言的,它的含义是预测正确的样本数占预测为正样本的百分比,意思就是在预测为正样本的结果中,我们有多少把握可以预测正确,即预测的有多少个为正样本。分母为预测为正的样本数

精确率代表对正样本结果中的预测准确程度,而准确率则代表整体的预测准确程度,既包括正样本,也包括负样本,和样本比例有很大关系。
在这里插入图片描述

#sklearn代码实例
precision_score=precision_score(y_true, y_pred[, labels, …])

(5)F1分数

F1-score是精准率和召回率二者的评估,F1分数同时考虑了精准率和召回率,让二者同时达到最高,取一个平衡。F1分数的公式为 = 2精准率召回率 / (精准率 +召回率)。

#sklearn代码实例
f1_score=f1_score(y_true, y_pred)

在这里插入图片描述

(6)classification_report函数

classification_report函数会输出包含召回率,精确率,F1值的表

from sklearn.metrics import classification_report
y_true = [0, 1, 2, 2, 2]
y_pred
  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值