机器学习模型的评价指标和方法(附代码)

1 篇文章 0 订阅

衡量分类器的好坏

1. 对于二类分类器/分类算法

评价指标主要有accuracy, [precision,recall,F-score,pr曲线],ROC-AUC曲线
在这里插入图片描述
accurary(准确率):也就是说真实值是1,预测值也是1;真实值为0,预测值也为0。就是正确的分类,这是我们评价模型的最重要的一个指标,

#使用sklearn库实现
from sklearn.metrics import accuracy_score
y_pred = [0, 1, 1, 0]
y_true = [0, 1, 0, 0]
accuracy_score(y_true, y_pred)
accuracy_score(y_true, y_pred, normalize=False)#normalize:默认值为True,返回正确分类的比例;如果为False,返回正确分类的样本数

precision(精准率):假如预测的正类的个数和预测个数的比重,比如预测了100个1,但是只有70个真实值也是1的,那么精准率就是70%。 数值越高,就是表示越对

from sklearn.metrics import precision_score
y_pred = [0, 1, 1, 0]
y_true = [0, 1, 0, 0]
precision_score(y_true, y_pred)

recall(召回率):样本中的正例有多少被预测正确了。真实值是正例1,在正例预测中所占的比重。假如我们比较考虑类别1的预测能力,可以使用这个标准。 数值越高 就是找的越全。

from sklearn.metrics import recall_score
y_pred = [0, 1, 1, 0]
y_true = [0, 1, 0, 0]
r = recall_score(y_true, y_pred)

F1:综合评价一个模型的拟合能力。

from sklearn.metrics import f1_score
y_pred = [0, 1, 1, 0]
y_true = [0, 1, 0, 0]
f1 = f1_score(y_true, y_pred)

实际应用:
(1)如果是做搜索,则要在保证召回率理想的情况下,提升准确率;
(2)如果做疾病监测、反垃圾,则是要保证准确率的条件下,提升召回率。

P-R曲线(精准率—召回率):准确率和召回率互相影响,理想状态下肯定追求两个都高,但是实际情况是两者相互“制约”:追求准确率高,则召回率就低;追求召回率高,则通常会影响准确率。若两者都低,则一般是出了某种问题。
在这里插入图片描述

# 绘制P-R曲线
def plot_pr_curve(rec_ls, pre_ls, pr_value=None, title=None):
    label = "AUPR: " + str(pr_value)
    plt.plot(rec_ls, pre_ls, 'r-', )
    plt.plot([0, 1], [1, 0], 'k--', linewidth=0.8, label=label)
    plt.axis([0, 1, 0, 1])
    plt.xlabel('Recall')
    plt.ylabel('Precision')
    plt.title(title)
    plt.legend(loc="lower left")  # 若需显示label,必须在show之前加这一句
    plt.show()

ROC曲线:在一个二分类模型中,假设采用逻辑回归分类器,其给出针对每个实例为正类的概率,那么通过设定一个阈值如0.6,概率大于等于0.6的为正类,小于0.6的为负类。对应的就可以算出一组(FPR,TPR),在平面中得到对应坐标点。随着阈值的逐渐减小,越来越多的实例被划分为正类,但是这些正类中同样也掺杂着真正的负实例,即TPR和FPR会同时增大。阈值最大时,对应坐标点为(0,0),阈值最小时,对应坐标点(1,1)。
在这里插入图片描述
真正例:预测为正例且真实情况为正例的,占所有真实情况中正例的比率。
在这里插入图片描述
假正例:预测为正例但真实情况为反例的,占所有真实情况中反例的比率

对于多类分类器/分类算法

评价指标主要有accuracy, [宏平均和微平均,F-score,召回率,混淆矩阵

对于回归分析

主要有MSE和R^2拟合优度。
MSE(均方误差):真实目标y与估计值y-hat之间差值的平方误差
在这里插入图片描述

RMSE(均方根误差) :均方误差的方根,可从单位度量上衡量模型的效果
在这里插入图片描述
决定系数(Coefficient of Determination)R2:目标的变化由特征引起的比例

模型的R2值上升很多,那就说明这个特征和目标有关。表示一个随机变量与多个随机变量关系的数字特征,用来反映回归模式说明因变量变化可靠程度的一个统计指标。
在这里插入图片描述

  • 0
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值