机器学习算法评估指标整合和解析

一、分类
1.精确率和召回率
设A为预测正样本数,B为真实正样本数则,C为所有样本数
精确率(Precision):
精确率代表预测为正样本中真正为正样本数与预测的正样本数的比值。
Precision(A,B)=|A⋂B| / |A|
召回率(Recall):
是预测为正样本中真正为正阳数占真实正样本数,即召回。
Recall(A,B)=|A⋂B| / |B|
F1-score:
有时我们要对精确率和召回率两种指标做出均衡,这时我们就可以利用精确率与召回率绘制出曲线,而F1-sroce系数就是类似于精确率与召回率曲线的一种表现形式:
Fβ=(1+β2)⋅precision⋅recall / β2⋅precision+recall
当β=1时,F1=2 precision*recall / precision+recall

2.ROC曲线
ROC曲线是一种真正率为纵坐标,假正率为横坐标的一种曲线。
真正率:|A⋂B| / |B|
假正率:|A−B| / |C−B|
ROC曲线适用于二分类问题

在这里插入图片描述
AUC(Area under curve):
AUC代表ROC曲线下的面积,当面积越大时,说明分类器效果越好。如果这个模型是完美的则AUC=1,如果这个模型是随机猜测概率则AUC=0.5。

3.铰链损失(hinge loss)
铰链损失函数一般是来实现,边缘最大化。铰链损失实际上是一种最优控制理论。
铰链损失函数常用于二分类问题,假设正样本定义为+1,负样本定义为-1,真实值为y,预测值为w,则:
在这里插入图片描述

通过对铰链损失函数进行扩展,我们还可以利用它处理多分类问题,假设yw为真实分类的预测值,而yt为预测分类的最大值,则:
LHinge(yw,yt)=max{1+yt−yw,0}

4.混淆矩阵
混淆矩阵的具体介绍请看我之前的一篇文章:https://blog.csdn.net/qq_39037383/article/details/89324012

5.对数损失(Log loss)
对数损失(Log loss)被称为逻辑回归损失(Logistic regression loss)或交叉熵损失(Cross-entropy loss)。
二分类:
Llog(y,p)=−logPr(y|p)=−(ylog§+(1−y)log(1−p))
多分类:
Llog(Yi,Pi)=−logPr(Yi|Pi)=∑k=1Kyi,klogpi,k

6.kappa系数
kappa系数就是用来衡量两种标注之间的吻合程度,而标注就是a个样本有B个互斥子集
在这里插入图片描述
kappa系数中,k值越大说明吻合程度越大,K值越小说明越不吻合,K值可以为负数

7.准确率
准确率(Accuracy)衡量的是分类正确的比例。设y^i是是第i个样本预测类别,yi是真是类别,在nsample个测试样本上的准确率为

accuracy=1 / nsample∑i=1nsample1(y^i=yi)

当预测结果与真实情况完全相符时准确率为1,两者越不相符准确率越低。

8.杰卡德相似系数
杰卡德用于对样本的多个标签进行分类,样本数为i,预测样本为yi,真实样本为Ai,T为标签数量则
F(yi,Ai) = yi ∩ Ai / yi∪Ai
则由上述公式可知,如果预测结果与实际情况完全相符则,杰卡德系数为1,如果T=1,则杰卡德相似系数为0

9.海明距离
海明距离也是用于对多个标签进行分类,样本数为i,预测样本数为yi,真实样本为Ai,T为标签数量则
E(yi,Ai) = (yi ≠ Ai)/ T
则如果预测结果与实际情况完全相符时,海明距离为0
二、拟合
1.平均绝对误差(MAE)
平均绝对误差越小,说明精度越高。又称为l1系数
在这里插入图片描述
2.平均平方误差(MSE)
平均均方误差越小,精度越高。又称为l2系数

在这里插入图片描述
3.决定系数
决定系数又叫R*2系数,又叫拟合优度。
决定系数反应了y的波动有多少百分比能被x的波动所描述,即表征依变数Y的变异中有多少百分比,可由控制的自变数X来解释。
在这里插入图片描述
意义:拟合优度越大,自变量对因变量的解释程度越高,自变量引起的变动占总变动的百分比高。观察点在回归直线附近越密集。

取值范围:0-1。

数据集的评估方法
1.留出法
将数据集划分为训练集与测试集两个数据集,利用训练集训练出模型后,利用测试集进行测试出结果。测试集的划分大小占数据集1/3-1/5之间,这是一种我们最常用的方法,但是缺点也很明显我们无法给出最合适的划分方法,有时不合理的划分会使测试出的结果偏差过大。
使用留出法时尽量采用随机划分,以保证留出法的稳定性。

2.k折交叉验证法
交叉验证法是将数据集划分成 k个相似的互斥子集,而每个子集要尽可能数据分布保持一致,通过分层采样来取出,得到k-1个训练集,剩下的子集为测试集。然后我们分别将这k-1训练集进行训练并且通过测试集测试,最终我们可以得到k-1个结果,然后求得这k-1个结果的平均值,这就是我们想要的结果,这个方法也叫交叉验证法。
在这里插入图片描述
k折交叉验证法因为要进行k-1次训练与测试,所以算法本身的时间复杂度大大增加,成本也相对较高。

3.自助法
自助法是将从数据集D中随机取出一个样本放入空数据集T中,然后将放入T的数据样本进行copy,再将放入T的样本放回原数据集D,假设数据集D有m样本,那么这个操作就将循环操作m次从而得到新的数据集T,这时我们应该思考,因为T数据为有放回取样,那么T中必然会有重复样本,我们将这个事件转化为一个概率问题,我们可以做一个简单估计,在m次采样中仍然没有被采到的样本概率为P,而通过求得m的最大极限公式为:
P =lim m→+∞(m- 1 / m)**m
我们可以通过极限求解可得:1 / e
而1 / e约等于0.367
最后我们可得知P=0.367
我们将T作为训练集,而D作为测试集,进行训练。最后得到的就是自助法想要的结果,而测试集在进行测试时势必会有约三分之一的样本在训练集中不存在,通过这种方法我们提升测试集测试的真实性,从而可以更好的得出结果,这种方法又叫“包外估计”。
自助法比较适合作用于不太好划分训练集与测试集的小型数据集使用,但是因为会改变数据初始分布,而导致引发偏差,所以要谨慎使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值