当前位置: 首页 > news >正文

机器学习和数据挖掘03-模型性能评估指标

Accuracy(准确率)

概念:模型正确预测的样本数量与总样本数量的比例。
公式:Accuracy = (TP + TN) / (TP + TN + FP + FN)

TP (True Positives):正确预测为正例的样本数。即模型正确地将正例判定为正例。

TN (True Negatives):正确预测为负例的样本数。即模型正确地将负例判定为负例。

FP (False Positives):错误预测为正例的样本数。即模型错误地将负例判定为正例。

FN (False Negatives):错误预测为负例的样本数。即模型错误地将正例判定为负例。

代码实现

from sklearn.metrics import accuracy_scorey_true = [0, 1, 1, 0, 1, 0]
y_pred = [0, 1, 0, 0, 1, 1]accuracy = accuracy_score(y_true, y_pred)
print("Accuracy:", accuracy)

Precision(精确度)

概念:被模型正确分类为正例的样本数量与所有被模型分类为正例的样本数量的比例。
公式:Precision = TP / (TP + FP)

代码实现

from sklearn.metrics import precision_scoreprecision = precision_score(y_true, y_pred)
print("Precision:", precision)

Recall(召回率)

概念:在所有实际正例中,模型正确识别的比例。
公式:Recall = TP / (TP + FN)

代码实现

from sklearn.metrics import recall_scorerecall = recall_score(y_true, y_pred)
print("Recall:", recall)

F1-Score

概念:综合了模型的精确度和召回率,是一个更全面的指标。
公式:F1 Score = 2 * (Precision * Recall) / (Precision + Recall)

代码实现

from sklearn.metrics import f1_scoref1 = f1_score(y_true, y_pred)
print("F1-Score:", f1)

Time Taken(花费时间)

这个指标通常不是用公式来计算的,而是通过代码中记录开始时间和结束时间,然后计算时间差来得出。

Root Mean-Squared Error (RMSE)(均方根误差)

概念:衡量模型预测值与真实值之间的平均差异。是均方误差的平方根。
公式:RMSE = sqrt(MSE)

from sklearn.metrics import mean_squared_error
import numpy as npy_true = np.array([3.0, 2.5, 4.8])
y_pred = np.array([2.8, 2.7, 4.5])mse = mean_squared_error(y_true, y_pred)
rmse = np.sqrt(mse)
print("RMSE:", rmse)

Mean Absolute Error (MAE)(平均绝对误差)

概念:衡量模型预测值与真实值之间的平均绝对差异。
公式:MAE = (|y_true - y_pred|) / n

from sklearn.metrics import mean_absolute_errormae = mean_absolute_error(y_true, y_pred)
print("MAE:", mae)

Log-loss/Cross-entropy loss(对数损失/交叉熵损失)

概念:衡量模型在预测概率时的准确性。适用于二分类问题的交叉熵损失为对数损失。
公式:Log-loss = - (y_true * log(y_pred) + (1 - y_true) * log(1 - y_pred))

代码实现

from sklearn.metrics import log_lossy_true = [0, 1, 1, 0]
y_pred = [0.2, 0.8, 0.7, 0.3]logloss = log_loss(y_true, y_pred)
print("Log-loss:", logloss)
http://www.lryc.cn/news/157891.html

相关文章:

  • PageNumberPagination、LimitOffsetPagination、CursorPagination
  • 怎么把视频转换成mp4格式
  • 正则判断字符是否包含手机号
  • OSCP系列靶场-Esay-Sumo
  • 本地电脑搭建web服务器、个人博客网站并发布公网访问 【无公网IP】(1)
  • Python基础List列表定义与函数
  • typeScript--[数据定义]
  • 【常见相机模型】
  • 大数据-玩转数据-Flink状态编程(上)
  • 主动获取用户的ColaKey接口
  • C#写一个UDP程序判断延迟并运行在Centos上
  • Kafka核心原理第二弹——更新中
  • 巨人互动|游戏出海H5游戏出海规模如何?
  • 【爬虫】实验项目三:验证码处理与识别
  • 广东成人高考报名将于9月14日开始!
  • pytorch中文文档学习笔记
  • element-ui全局导入与按需引入
  • go 地址 生成唯一索引v2 --chatGPT
  • JSON XML
  • 2023年MySQL实战核心技术第四篇
  • cmake编译(qtcreator)mingw下使用的osg3.6.5
  • Python钢筋混凝土结构计算.pdf-混凝土强度设计值
  • elasticsearch的索引库操作
  • 把握市场潮流,溯源一流品质:在抖in新风潮 国货品牌驶过万重山
  • 【网络教程】Python如何优雅的分割URL
  • 1998-2014年工业企业数据库和绿色专利匹配
  • Python基于Mirai开发的QQ机器人保姆式教程(亲测可用)
  • 算法笔记:堆
  • vue3 判断包含某个字符
  • MySQL的故事——查询性能优化