评估指标小结

news/2025/1/17 3:53:31/

通常报告两种错误率:top-1和top-5,其中top-5错误率是测试图像中正确标签不在模型认为最有可能的五个标签中的部分。

20220405

sklearn中使用r2_score评价回归模型_#HereWeGo的博客-CSDN博客_python r2score

判定系数R2

20201225

分类报告输出到csv

from sklearn.metrics import classification_report
report = classification_report(y_test, y_pred, output_dict=True)
df = pd.DataFrame(report).transpose()
df.to_csv("result.csv", index= True)

python classification_reportè¾åºå°csvæ件_第1å¼ å¾ç

使用说明

参数

sklearn.metrics.classification_report(y_true, y_pred, labels=None, target_names=None, sample_weight=None, digits=2, output_dict=False)

  • y_true:1 维数组,真实数据的分类标签
  • y_pred:1 维数组,模型预测的分类标签
  • labels:列表,需要评估的标签名称
  • target_names:列表,指定标签名称
  • sample_weight:1 维数组,不同数据点在评估结果中所占的权重
  • digits:评估报告中小数点的保留位数,如果 output_dict=True,此参数不起作用,返回的数值不作处理
  • output_dict:若真,评估结果以字典形式返回

返回

字符串或字典。

每个分类标签的精确度,召回率和 F1-score。

  • 精确度:precision,正确预测为正的,占全部预测为正的比例,TP / (TP+FP)
  • 召回率:recall,正确预测为正的,占全部实际为正的比例,TP / (TP+FN)
  • F1-score:精确率和召回率的调和平均数,2 * precision*recall / (precision+recall)

同时还会给出总体的微平均值,宏平均值和加权平均值。

  • 微平均值:micro average,所有数据结果的平均值
  • 宏平均值:macro average,所有标签结果的平均值
  • 加权平均值:weighted average,所有标签结果的加权平均值

在二分类场景中,正标签的召回率称为敏感度(sensitivity),负标签的召回率称为特异性(specificity)

鸢尾花数据集的随机森林结果评估


from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split# 鸢尾花数据集
iris = load_iris()
X = iris.data
y = iris.target# [0, 1, 2] 标签转换为名称 ['setosa' 'versicolor' 'virginica']
y_labels = iris.target_names[y]# 数据集拆分为训练集与测试集
X_train, X_test, y_train, y_test = train_test_split(X, y_labels, test_size=0.2)# 使用训练集训练模型
clf = RandomForestClassifier(n_estimators=100)
clf.fit(X_train, y_train)# 使用测试集预测结果
y_pred = clf.predict(X_test)# 生成文本型分类报告
print(classification_report(y_test, y_pred))
"""precision    recall  f1-score   supportsetosa       1.00      1.00      1.00        10versicolor       0.83      1.00      0.91        10virginica       1.00      0.80      0.89        10micro avg       0.93      0.93      0.93        30macro avg       0.94      0.93      0.93        30
weighted avg       0.94      0.93      0.93        30
"""# 生成字典型分类报告
report = classification_report(y_test, y_pred, output_dict=True)
for key, value in report["setosa"].items():print(f"{key:10s}:{value:10.2f}")
"""
precision :      1.00
recall    :      1.00
f1-score  :      1.00
support   :     10.00
"""

Reference

  • sklearn.metrics.classification_report
  • 准确率、精确率、召回率、F1值、ROC/AUC整理笔记


20201207

                precision    recall  f1-score   support

           0       0.94      0.98      0.96      5259

           1       0.06      0.02      0.03       307

    accuracy                          0.93      5566

   macro avg       0.50      0.50     0.49      5566

weighted avg       0.90      0.93      0.91      5566

precision 是精准率 

准确率是所有预测正确处于总数


http://www.ppmy.cn/news/607519.html

相关文章

[JS] HEX颜色转换成RGBA

写了一个函数&#xff0c;可以把hex格式的颜色转为rgba的格式实际上不是颜色转换&#xff0c;主要是slice()函数的使用吧&#xff0c;当成字符串理解就好。 function change(hex) {if (hex.length < 9 || hex[0] ! #) return hexlet r parseInt(hex.slice(1, 3), 16)let g…

稀疏矩阵理论与实践

稀疏矩阵理论与实践 1.稀疏矩阵的优化  多线程。使用openmp或者mpi  numanode awareness 特性。把稀疏矩阵的存储均匀地分配到两颗处理器各自的本地内存中&#xff0c;最大程度的利用内存带宽  利用硬件cache特性&#xff0c;对矩阵进行分块或矩阵的循环进行限制  利用…

9 从0开始学PyTorch | 过拟合欠拟合、训练集验证集、关闭自动求导

这一小节在开始搞神经网络之前&#xff0c;我们先熟悉几个概念&#xff0c;主要还是把模型训练的流程打通。 过拟合和欠拟合 我们在日常的工作中&#xff0c;训练好的模型往往是要去评价它的准确率的&#xff0c;通过此来判断我们的模型是否符合我的要求。 几个可能的方案是&…

LogisticRegressionCV 参数使用以及含义 笔记

第一次接触LogisticRegressionCV &#xff0c;记录一下。 Logistic回归是分类算法&#xff0c;不能应用于回归中(传入模型的y值,不能是float类型&#xff0c;必须是int类型) 正则化选择参数 &#xff1a;penalty ——> L1 / L2 默认是…

芯片产品介绍

芯片产品介绍 云端训练芯片 7纳米GPGPU高端自研云端训练芯片 基于全自研通用计算GPGPU芯片&#xff0c;天数智芯的硬件产品聚焦于云端训练及推理&#xff0c;通过丰富全面的自研指令集释放强大的可编程性与应用通用性&#xff0c;提供业界领先的AI算力密度与能效比。 天数智芯…

Python第三方库jieba(中文分词)入门与进阶(官方文档)

jieba “结巴”中文分词&#xff1a;做最好的 Python 中文分词组件 github:https://github.com/fxsjy/jieba 特点 支持三种分词模式&#xff1a; 精确模式&#xff0c;试图将句子最精确地切开&#xff0c;适合文本分析&#xff1b; 全模式&#xff0c;把句子中所有的可以成词的…

js ajax 递归,javascript ajax循环请求/ 长轮询终极解决办法——递归

ajax循环请求&#xff0c;不能使用for循环&#xff0c;原因如下&#xff1a;1. 因为ajax是异步执行&#xff0c;在还没有拿到服务器响应内容&#xff0c;就进入下一个for循环中解决办法&#xff1a;递归currentIndex 0;function ajax(){if(currentIndex>20){return;}var ur…

[JS] 什么是浮动,clear:both的使用

test.html里输入以下代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"wi…