Python机器学习实战(二)——模型评估与选择

本文深入探讨了机器学习中关键的评估指标,包括误差、错误率、精度、查准率、查全率等概念,通过实例展示了如何使用sklearn库进行计算,并提供了混淆矩阵和分类报告的解读。

一.经验误差

  • 误差:模型输出与样本真实值之间的差异
  • 错误率:分类错误样本数占总样本数比例
  • 精度:1 - 错误率
  • 训练误差:模型在训练集上的误差
  • 泛化误差:模型在新样本上的误差(用测试误差代替泛化误差)

二.查全率&查准率

1、混淆矩阵

在这里插入图片描述
T&F:表示预测的True&False
P&N:表示正例(positive)&反例(negative)

  • 查准率/准确率(precision):P=TP/(TP+FP)
  • 查全率/召回率/灵敏度(recall):R=TP/(TP+FN)
from sklearn.metrics import precision_score
from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report
y_true = [1, 0, 1, 1, 0]  # 样本实际值
y_pred = [1, 0, 1, 0, 0]  # 样本预测值
res = precision_score(y_true, y_pred, average=None)  # 查准率
con = confusion_matrix(y_true,y_pred) # 混淆矩阵
print(res)# 查准率
array([0.66666667, 1.        ])
print(con)# 混淆矩阵
array([[2, 0],
       [1, 2]], dtype=int64)
report = classification_report(y_true,y_pred) # 分类报告

print(report)
              precision    recall  f1-score   support

           0       0.67      1.00      0.80         2
           1       1.00      0.67      0.80         3

    accuracy                           0.80         5
   macro avg       0.83      0.83      0.80         5
weighted avg       0.87      0.80      0.80         5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值