前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习-07-分类回归和聚类算法评估函数

机器学习-07-分类回归和聚类算法评估函数

作者头像
用户2225445
发布2024-04-10 09:29:09
1240
发布2024-04-10 09:29:09
举报
文章被收录于专栏:IT从业者张某某IT从业者张某某

总结

本系列是机器学习课程的系列课程,主要介绍机器学习中分类回归和聚类算法中的评价函数。

参考

机器学习常见评价指标

Python sklearn机器学习各种评价指标——Sklearn.metrics简介及应用示例

本门课程的目标

完成一个特定行业的算法应用全过程:

懂业务+会选择合适的算法+数据处理+算法训练+算法调优+算法融合 +算法评估+持续调优+工程化接口实现

机器学习定义

关于机器学习的定义,Tom Michael Mitchell的这段话被广泛引用: 对于某类任务T性能度量P,如果一个计算机程序在T上其性能P随着经验E而自我完善,那么我们称这个计算机程序从经验E中学习

机器学习常见评价指标

“没有测量,就没有科学。”——门捷列夫 在计算机科学特别是机器学习领域中,对模型的评估同样至关重要。只有选择与问题相匹配的评估方法,才能快速地发现模型选择或训练过程中出现的问题,迭代地对模型进行优化。 本篇文章就给大家分享一下分类和回归模型中常用地评价指标,希望对大家有帮助。

📌 分类模型 ① 准确率和错误率 ② 混淆矩阵 ③ 精确率(查准率)Precision ④ 召回率(查全率)Recall ⑤ F1-Score ⑥ P-R曲线 ⑦ ROC曲线 ⑧ AUC ⑨ KS曲线

📌 回归模型 ① 平均绝对误差(MAE) ② 均方误差(MSE) ③ 均方根误差(RMSE) ④ 决定系数R^2 ⑤ 可解释变异

分类任务

混淆矩阵

在机器学习领域,混淆矩阵(ConfusionMatrix),又称为可能性矩阵或错误矩阵。混淆矩阵的每一列代表了预测类别,每一行代表了数据的真实类别。分类问题的评价指标大多基于混淆矩阵计算得到的。

准确率(Accuracy)

识别对了的正例(TP)与负例(TN)占总识别样本的比例。 缺点:类别比例不均衡时影响评价效果。

在这里插入图片描述
在这里插入图片描述
精确率(Precision)

识别正确的正例(TP)占识别结果为正例(TP+FP)的比例。

召回率(Recall)

识别正确的正例(TP)占实际为正例(TP+FN)的比例。

通常在排序问题中,采用Top N返回结果的精确率和召回率来衡量排序模型的性能,表示为Precision@N 和Recall@N。 Precision和Recall是一对矛盾又统一的指标,当分类阈值越高时,模型的精确率越高,相反召回率越低。

F1值

F1是召回率R和精度P的加权调和平均,顾名思义即是为了调和召回率R和精度P之间增减反向的矛盾,对R和P进行加权调和。

P-R曲线

PR曲线通过取不同的分类阈值,分别计算当前阈值下的模型P值和R值,以P值为纵坐标,R值为横坐标,将算得的一组P值和R值画到坐标上,就可以得到P-R曲线。当一个模型的P-R曲线完全包住另一个模型的P-R曲线,则前者的性能优于后者(如A>C,B>C)。

ROC(Receiver Operating Characteristic)

ROC曲线也称受试者工作特征。以FPR(假正例率:假正例占所有负例的比例)为横轴,TPR(召回率)为纵轴,绘制得到的曲线就是ROC曲线。与PR曲线相同,曲线下方面积越大,其模型性能越好。

在这里插入图片描述
在这里插入图片描述
AUC

含义一:ROC曲线下的面积即为AUC。面积越大代表模型的分类性能越好。

含义二:随机挑选一个正样本以及负样本,算法将正样本排在所有负样本前面的概率就是AUC值。 是排序模型中最为常见的评价指标之一。

M代表数据集中正样本的数量,N代表负样本数量。AUC的评价效果不受正负样本比例的影响。因为改变正负样本比例,AOC曲线中的横纵坐标大小同时变化,整体面积不变。

KS曲线
sklearn实现分类评价

sklearn.metrics 是 scikit-learn 库中的一个模块,它提供了许多用于评估预测模型性能的指标和工具。这些指标和工具可以帮助你了解模型在训练集和测试集上的表现,以及模型是否能够很好地泛化到未见过的数据。

以下是一些 sklearn.metrics 中常用的函数和指标:

  1. 分类指标
  • accuracy_score: 计算分类准确率。
  • classification_report: 显示主要分类指标的文本报告,包括精确度、召回率、F1 分数等。
  • confusion_matrix: 计算混淆矩阵,用于评估分类模型的性能。
  • precision_score: 计算精确度。
  • recall_score: 计算召回率。
  • f1_score: 计算 F1 分数(精确度和召回率的调和平均数)。
  • roc_auc_score: 计算接收者操作特性(ROC)曲线下的面积(AUC)。

回归任务

MAE(Mean Absolute Error)

MAE是平均绝对误差,又称L1范数损失。通过计算预测值和真实值之间的距离的绝对值的均值,来衡量预测值与真实值之间的真实距离。

MSE(Mean Square Error)

MSE是真实值与预测值的差值的平方然后求和平均。通过平方的形式便于求导,所以常被用作线性回归的损失函数。

RMSE(Root Mean Square Error)

RMSE衡量观测值与真实值之间的偏差。常用来作为机器学习模型预测结果衡量的标准。 受异常点影响较大,鲁棒性比较差。

决定系数
可解释变异
sklearn实现回归

回归指标

  • mean_squared_error: 计算均方误差(MSE)。
  • mean_absolute_error: 计算平均绝对误差(MAE)。
  • r2_score: 计算 R² 分数,即决定系数。

排序任务

AUC

同上。AUC不受数据的正负样本比例影响,可以准确的衡量模型的排序能力,是推荐算法、分类算法常用的模型评价指标。

MAP(Mean Average Precision)

全局平均准确率,其中AP表示单用户TopN推荐结果的平均准确率。

这里R表示推荐的结果序列长度,rel(N)表示第N个推荐结果的相关性分数,这里命中为1,未命中为0。AP衡量的是整个排序的平均质量。对全局所有用户的AP取平均值就是MAP。

NDCG

首先介绍CG(累计收益),模型会给推荐的每个item打分表示与当前用户的相关性。假设当前推荐item的个数为N个,我们把这N个item的相关分数进行累加,就是当前用户的累积增益:

显然CG不考虑不同位置对排序效果的影响,所以在此基础上引入位置影响因素,即DCG(折损累计增益),位置靠后的结果进行加权处理:

推荐结果的相关性越大,DCG越大,推荐效果越好。

NDCG(归一化折损累计增益),表示推荐系统对所有用户推荐结果DCG的一个平均值,由于每个用户的排序列表不一样,所以先对每个用户的DCG进行归一化,再求平均。其归一化时使用的分母就是IDCG,指推荐系统为某一用户返回的最好推荐结果列表,即假设返回结果按照相关性排序,最相关的结果放在前面,此序列的DCG为IDCG。

MRR(Mean Reciprocal Rank)

MRR平均倒数排名,是一个国际上通用的对搜索算法进行评价的机制,即第一个结果匹配,分数为1,第二个匹配分数为0.5,第n个匹配分数为1/n,如果没有匹配的句子分数为0。最终的分数为所有得分之和。

聚类任务

聚类任务的评价指标分为内部指标(无监督数据)和外部指标(有监督数据)。

内部指标(无监督数据,利用样本数据与聚类中心之间的距离评价):

紧密度(Compactness)

每个聚类簇中的样本点到聚类中心的平均距离。紧密度越小,表示簇内的样本点越集中,样本点之间聚类越短,也就是说簇内相似度越高。

分割度(Seperation)

每个簇的簇心之间的平均距离。分割度值越大说明簇间间隔越远,分类效果越好,即簇间相似度越低。

轮廓系数 (Silhouette Coefficient)

对于一个样本集合,它的轮廓系数是所有样本轮廓系数的平均值。轮廓系数的取值范围是[-1,1],同类别样本距离越相近,不同类别样本距离越远分数越高。假设:

a:某个样本与其所在簇内其他样本的平均距离

b:某个样本与其他簇样本的平均距离

单个样本的轮廓系数s为:

聚类的总体轮廓系数为:

外部指标(有监督数据,利用样本数据与真实label进行比较评价):

兰德系数(Rand index)

兰德系数是使用真实label对聚类效果进行评估,评估过程和混淆矩阵的计算类似:

互信息(Mutual Information)
sklearn实现聚类

聚类指标

  • silhouette_score: 计算轮廓系数,用于评估聚类效果。
  • calinski_harabasz_score: 计算 Calinski-Harabasz 指数,用于评估聚类效果。 - davies_bouldin_score: 计算 Davies-Bouldin 指数,用于评估聚类效果。

目标函数、损失函数、代价函数、评价函数区别

在机器学习和优化问题中,目标函数、损失函数、代价函数都是评估和优化模型的关键概念,它们之间既有联系又有区别:

  1. 损失函数(Loss Function)
    • 描述了一个模型对于单个样本预测输出与真实值之间的差异。损失函数通常是非负的,并且理想情况下,在预测完全准确时其值为零。
    • 举例:在二元分类问题中,常用的损失函数包括逻辑回归的对数损失(Log Loss, Binary Cross-Entropy Loss),它量化了模型预测的概率分布与实际标签之间的距离。
  2. 代价函数(Cost Function)
    • 在机器学习中,特别是在监督学习场景下,代价函数指的是在整个训练集上的损失函数的平均值,即所有样本损失之和的平均,用来衡量模型在所有训练数据上的整体表现。
    • 举例:假设我们在做线性回归,使用的损失函数可能是每个样本的平方误差,代价函数则是所有样本平方误差之和除以样本数量,即均方误差(Mean Squared Error, MSE)。
  3. 目标函数(Objective Function)
    • 目标函数是模型优化过程中试图最小化的函数,它不仅包含训练误差的部分(如代价函数),还可能包含正则化项(Regularization Term),旨在控制模型复杂度,防止过拟合。
    • 举例:在线性回归中,目标函数可能是代价函数加上L1或L2正则化项,如岭回归(Ridge Regression)的目标函数是在MSE的基础上添加了权重向量的L2范数惩罚项。

总结一下:

  • 损失函数关注单个数据点的预测误差;
  • 代价函数是损失函数在训练集上的平均,反映了模型在所有训练数据上的总体性能;
  • 目标函数进一步扩展了代价函数的概念,包含了对模型复杂性的惩罚项,体现了模型泛化能力的考量。

在不同的文献和上下文中,有时人们会互换使用“代价函数”和“损失函数”的说法,尤其是在只考虑训练误差而不涉及正则化时。而在正则化存在的情况下,目标函数则明确包含了正则化项,是优化过程中真正要最小化的目标。

  1. 评价函数: 损失函数是用来衡量预测值和真实值差距的函数,是模型优化的目标,所以也称之目标函数、优化评分函数。这是机器学习中很重要的性能衡量指标。 评价函数和损失函数相似,只是关注点不同: 损失函数用于训练过程, 而评价函数用于模型训练完成后(或每一批次训练完成后)的度量,

确定方向过程

针对完全没有基础的同学们 1.确定机器学习的应用领域有哪些 2.查找机器学习的算法应用有哪些 3.确定想要研究的领域极其对应的算法 4.通过招聘网站和论文等确定具体的技术 5.了解业务流程,查找数据 6.复现经典算法 7.持续优化,并尝试与对应企业人员沟通心得 8.企业给出反馈

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 总结
  • 参考
  • 本门课程的目标
  • 机器学习定义
  • 机器学习常见评价指标
  • 分类任务
    • 混淆矩阵
      • 准确率(Accuracy)
        • 精确率(Precision)
          • 召回率(Recall)
            • F1值
              • P-R曲线
                • ROC(Receiver Operating Characteristic)
                  • AUC
                    • KS曲线
                      • sklearn实现分类评价
                      • 回归任务
                        • MAE(Mean Absolute Error)
                          • MSE(Mean Square Error)
                            • RMSE(Root Mean Square Error)
                              • 决定系数
                                • 可解释变异
                                  • sklearn实现回归
                                  • 排序任务
                                    • AUC
                                      • MAP(Mean Average Precision)
                                        • NDCG
                                          • MRR(Mean Reciprocal Rank)
                                          • 聚类任务
                                            • 紧密度(Compactness)
                                              • 分割度(Seperation)
                                                • 轮廓系数 (Silhouette Coefficient)
                                                  • 兰德系数(Rand index)
                                                    • 互信息(Mutual Information)
                                                      • sklearn实现聚类
                                                      • 目标函数、损失函数、代价函数、评价函数区别
                                                      • 确定方向过程
                                                      领券
                                                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档