机器学习模型评估指标

1.回归模型评估指标

(1).绝对误差

预测和实际之间误差的绝对值之和。

比如预测是100,实际是120,那么绝对误差就是20

(2).均方误差

预测和实际之间距离之差平方和的均值。

2.分类的评估准则

分类的评估标准很多,不同的评估标准侧重点不一样,我们不可能做到万事俱备,甚至有的指标是相互冲突。我们这里先引入混淆矩阵。

假设我们要做二分类,标签为0和1,预测值当然也是0和1

预测为0预测为1
真实标签为0TNFP
真实标签为1FNTP

我们以预测为标准,来分析结果,如果你对一个数据预测,预测为1,结果他真的是1,那么他就是真正(True Position)类,也就是TP,如果你的写得算法很垃圾,全靠猜,那么很不幸,他就是假正(False Position)类FP,同理,就有真负(True Negative)类TN和假负(Flase Negative)类。

于是就有了如下几个评估

(1).准确率

预测正确所占的比例

accuracy=(TP+TN)/(TP+FP+TN+FN)

(2).精度

预测为正的全部样本中真正类所占的比例。所以又叫做查准率,查询正确的正类的比率,也就是所查询出来的这些信息,有多少是我想要的。推送广告很有用。

Position=TP/(TP+FP)

(3).召回率

正类中有多少被查询出来?于是就有了下面这个标准。所以又叫查全率。顾名思义的名字。诊断病痛很有效。

Recall=TP/(FN+TP)

精度和召回率就是一对对立的标准,一个高另一个就会低。根据实际情况选择一个标准。但是总有人想全都要,于是出现了第三个标准F1分数

(4).F1分数

Position为纵坐标,Recall为横坐标,在评估过程中,修改阈值,这两个值会形成一条曲线,如果一个曲线覆盖另一个,则说明覆盖范围更大的曲线对应的算法更好。这么描述,很多人都不会明白,百度一下吧。总之会有这么一条曲线,在y=x上会有个交点,这个交点就是平衡点F1。

F1=(2*Position*Recall)/(Positive+Recall)

F1分数也有很多变种,其中有一个Fβ,可以修改position和recall之间的比例

(5)ROC曲线

(引入).这个稍微有点复杂,假设我们做一个二分类,结果是根据分类的概率来分类,比如一个数据它被分为1的概率是0.55,那么我们应该怎么算它的类别?如果我们设置一个阈值为0.5,概率大于0.5就被认为是1,反之为0;如果我们设置阈值为0.6,那么他就被分类为0;

(a).如果我们得到一组预测样本,还有对应的预测概率值,那么我们就将概率值从大到小排列。

(b).依次从大到小选择对应的概率值作为阈值,大于等于这个阈值设置为正,反之设置为负。

(c).将设置结果与实际进行比较,然后计算TP和TP,TP为纵坐标,FP为横坐标

一般来讲,曲线面积越大,则表示分类器效果越好

于是就有了AUC,AUC就是ROC曲线的面积,这就没什么好说的,累加求面积。

(6).AUC

3.聚类模型的评估标准

聚类就是把一组数据划分为不相关的子集,也就是样本簇,我们希望统一簇内的样本尽可能相似,而不同簇的样本之间尽可能不同。也就是同一类样本内的差距尽可能小,不同类之间相差尽可能大。实现这个目标主要有外部指标和内部指标。

1.外部指标

外部指标需要提供一个参考模型,然后将聚类结果与该模型进行比较得到一个评判值,常用的评估标准有Jaccard系数,FM指数,Rand指数和标准化互信息。

假设给定数据集为T=\{x_1,x_2,...,x_m\},被某个参考划分为C^*=\{c_1^*,c_2^*,c_3^*,...,c_J^*\},也就是实际被划分为J个簇;如果选择一个算法,被划为C=\{c_1,c_2,c_3,...,c_k\},将它划分为k个簇,假设\gamma^*\gamma分别表示C^*和C的簇向量标记,我们将样本两两配对得到下面的结果

SS:同时属于\gamma_i\gamma^*_j的样本对数量为a,这个就相当于TP

SD:属于\gamma_i但不属于\gamma^*_j的样本对数量b,相当于FP

DS:不属于\gamma_i但属于\gamma^*_j的样本对数量c,相当于FN

DD:不属于\gamma_i\gamma^*_j的样本对数量d,相当于TN

(1).Jaccard系数

JC=a/(a+b+c)

(2).FM指数

FMI=\sqrt{a/(a+b)*a/(a+c)}

(3).Rand指数

RI=\tfrac{2(a+b)}{M(M+1)}

M代表样本总数

(4).标准互信息

这个没什么好说,基本意思时一个随机变量由于另一个变量的随机性下降而减少的随机性

这就相当于答题的时候,有四个选项,但是给出提示,就能排除不可能的选项,猜中的准确率就上升了。

I(x,y)=H(Y)-H(Y/X)

2.内部指标

将一堆数据分为K个簇,希望他们尽可能聚拢在一起。每个簇都有自己如下的数据

(1).avg(ck),簇ck每对样本之间的平均距离

(2).diam(ck),簇ck中距离最远的两个点

(3).d_{min}(ck,cl),簇ck,cl之间最近的点

(4).d_{cen}(ck,cl),簇ck,cl中心点之间的距离

(1)DB指数

DBI=\frac{1}{K}\sum_{k=1}^{k=K} max(\frac{avg(c_k)+avg(c_l)}{d_{cen}(c_k,c_l)})(k!=l)

先计算两个簇各种的平均距离只和,然后除以两个簇之间的中心点之间的距离。DB指数越小越好。

(2).Dunn指数

DI=\frac{min(d_{min (c_k,c_l)})}{max diam(c_k)}

求两个簇之间最近距离最小距离与两个簇之间最远距离的最大值的比值,这个值越大越好。

3.轮廓系数

这个系数适用于样本类别位置未知的情况。

假设某个样本点与它同类的群内点的平均距离为a,与它距离最近的非同类样本的群外距离为b,则

一个样本的轮廓系数为s=(b-a)/max(a,b)

簇的轮廓系数等于所有样本轮廓系数的均值

4.距离

1.曼哈顿距离

d_{12}=\sum_{i=1}^{n}|x_{1i}-x_{2i}|

2.欧氏距离

这个没什么好说的,就是平面直角坐标系的距离

3.闵可夫斯基距离

欧式距离的推广,平方改为p次方

4.切比雪夫距离

每一对数据数据绝对值中的最大值

max(xi, yi)

5.夹角余弦

衡量两个方向向量之间的角度差异,高中知识

6.汉明距离

两个字符串中不相同位数的数目,比如‘1100’与'1000'的汉明距离为1

7.杰卡徳相似系数

两个类的交集与两个类的并集的比值

8.杰徳卡距离

1减去杰徳卡相似系数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值