模型算法评估与测试

在机器学习应用中,一般会采用在线和离线两套数据和环境进行,离线开发进行训练,然后在线提供服务。

在离线评估时,我们使用训练样本和测试样本来训练和评估机器学习模型算法,以使模型算法的偏差和方差尽可能小。在进行在线评估时,除了验证在线部署的正确性,还要从业务的角度来评估模型。此外,还要关注在线模型算法的指标,保障在线服务的稳定性。

模型算法的评估指标

 1、回归模型的评估指标

1) 平均绝对误差

平均绝对误差( Mean Absolute Eror, MAE )又称为平均绝对离差,是所有单个观测值与算术平均值偏差的绝对值的平均值。平均绝对误差可以避免误差相互抵消的问题,因而可以准确反映实际预测误差的大小。MAE用来描述预测值和真实值的差值,其数值越小越好。

2)均方误差

均方误差( Mean Squared Error, MSE )计算的是预测值和实际值的误差平方。它可以评价数据的变化程度,MSE的值越小说明预测模型具有更高的精确度。由于MSE与目标变量的量纲不一致,因此为了保证量纲一致性,我们需要对MSE进行开方,即均方根误差。

3)均方根误差

均方根误差( Root Mean Squared Error, RMSE )也称为标准误差,是预测与真实值偏差的平方与观测次数n比值的平方根。在实际测量中,观渡次数n总是有限的,真实值只能用最可信赖(最佳)值来代替。均方根误差对一组测量中的特大或特小误差非常敏感,所以它能够很好地反映出测量的精密度。这正是均方根误差在工程测量中广泛被采用的原因。标准差用来衡量一组数据自身的离散程度,而均方根误差是用来衡量观测值同真实值之间偏差的,它们的研究对象和研究目的不同,但是计算过程类似。

RMSE相当于L2范数,MAE相当于L1范数。次数越高,计算结果就越与较大的值有关,而忽略较小的值。这就是RMSE对异常值更敏感的原因。由于有一个预测值与真实酒柜差很大,因此RMSE会很大。

4)均值平方对数误差

MLSE=\frac{1}{n}\sum_{i=0}^{n-1} {(ln(1+y_i)-ln(1+\hat{y_i}))}^2

 

当目标(例如人口数量、商品在一段时间内的平均销售额等)具有指数增长的趋势时,最适合使用这一指标。需要注意的是,该度量对于低于真实值的预测更加敏感。

5)中位数绝对误差

MedAE=median(\left | y_1 -\hat y_1\right |,...,\left | y_n -\hat y_n\right |)

它可以减弱异常值的影响,并通过取目标值和预测值之间的所有绝对差值的中值来计算损失。

6){R}^2

{R}^2又称为决定系数。它判断的是预测模型和真实模型的拟合程度,最佳值为1,同时可为负值。

 2、分类模型的评估指标

1)混淆矩阵

2)F1 score

3)AUC

4)KS曲线

分别以TPR和FPR作为纵轴,以确定类别的阈值作为横轴。KS值可以反映模型的最优区分效果,此时所取的阈值一般作为定义用户的最优阈值。KS值越大,模型的预测准确性越好。KS值的取值范围是0~1, 一般KS值>0.2,即可认为模型有比较好的预测准确性。模型区分样本的能力与KS值的关系表如下:

模型区分样本的能力与KS值的关系
KS值模型能力
[0,0.2)模型无鉴别能力
[0.2,0.4)模型可以勉强接受
[0.4,0.5)模型具有区分能力
[0.5,0.6)模型有很好的区分能力
[0.6,0.75)模型有非常好的区分能力
[0.75,1)模型异常,可能有问题

因为KS值能找出模型中差异最大的一个分段,所以适合用于划定概率的类别界限,即确定的分类阈值。但是KS值只能反映出哪个分段中模型区分样本的能力是最大的,而不能从总体上反映出所有分段的效果,因此AUC值更好。一般来说, 如果任务更关注负例样本,那么区分度肯定就很重要。此时KS值比AUC值更合适用于模型评估,如果没什么特要求,那么建议使用AUC值。

5)群体稳定性指标(PSI)

群体稳定性指标( Population Stability Index, PSI )可衡量样本集在模型上的分布差异,是最常见的模型稳定性评估指标。PSI是对两个数值分布的一种对比性描述, 主要对比两个数值分布的相似度,值越小说明两个数值分布越相似。PSI的计算思路是按一定规律进行排序、分档后,针对不同群体的样本或者不同时间的样本,关注各个分段区间内的数量与总数量的占比是否有显著变化。在实际应用中,经常会通过这一指标来评估模型输出分布的稳定性。

3、聚类模型的评估指标

聚类模型的评估指标可分为外部评估指标和内部评估指标。外部评估指标通过比较聚类结果与真实分布的匹配程度,对聚类结果进行评价;内部评估指标没有使用原始数据分布的先验信息,常通过评价聚类结果的优劣来发现数据集的内部结构和分布状态,是发现数据集最佳聚类的常用办法。

外部评估指标如下:

1)纯度

purity,指的是聚类结果的每个类簇中类别纯度的平均值,具体计算方式如下所示

p(\Omega ,C)=\frac{1 }{N} \sum _k max_l\left | \omega_k\bigcap c_l \right |)

其中,N表示总样本的对象个数; \Omega=\{\omega_1,\omega_2,....\omega_k\} 表示聚类的集合;\omega_k 表示第k个聚类的集合;C=\{c_1,c_2,...c_l\}表示真实类别的集合;c_l表示第l个真实类别。纯度的取值范围是[0,1],显然,纯度值越接近1,聚类效果越好。 改方法的优势是计算方便、快速、劣势是无法权衡聚类质量与类簇个数之间的关系,无法对退化的聚类模型给出正确的评价(如每个样本对象单独聚成一个类,所有类簇的纯度都将是1)

2)F1分数

3)归一化互信息(Normalized Mutual Information,NMI)

经常用来衡量两个聚类结果的吻合程度。它的值域范围是[0,1],当其值为最小值0时,表示类簇相对于类别划分是随机的。也就是说,在两者独立的情况下,\Omega给C未带来任何有用的信息;其值越接近1,说明聚类的效果越接近真实的类别划分,即聚类效果越好。

4)兰德指数和杰卡德指数

在类簇划分为\Omega,真实类别划分为C的条件下,通过比较\Omega与C的邻近矩阵来评价聚类的质量。兰德指数(Rand Index, RI), 杰卡德指数(Jaccard Index, JI)如下。

RI=\frac{a+d}{a+b+c+d}

JI= \frac {a}{a+b+c}

其中,

a表示两个样本对象在\Omega中属于同一簇且在C中为同一类; b表示两个样本对像属于\Omega的同一簇,但在C中为不同类; C表示两个样本对象不属于\Omega中的同-一簇,而在C中属于同一类; d表示两个样本对象不属于\Omega中的同一簇,且在C中为不同类。这两个评估指标值越大,说明聚类结果与真实类别划分越相近,聚类效果越好。

 内部评估指标如下:

1)CH指数

CH指数( Calinski Harabasz Index )通过计算类簇中各点与类簇中心的距度量类簇内的紧密度,通过计算各类簇中心与数据集中心点的距离平方和来度量数据集的分离度,最后再由分离度与紧密度的比值得到该指标。CH 指数的计算公式

CH(K)=\frac {tr(B)/(K - 1)}{tr(W)/(N- K)}

其中,tr(B)=\sum_{j=1}^{k}\left \| z_j-\bar z \right \|^2是类簇间距离差矩阵的迹;tr(W)表示类簇内离差矩阵的迹;z拔是整个数据集的均值;z_j是第j个类簇\omega_j的均值; N代表类簇个数;K代表当前的类簇。CH指数的值越大代表类簇自身越紧密,类簇与类簇之间越分散,即聚类结果更优。

2)轮廓系数

3)戴维森堡丁指数

用类簇内样本对象到其类簇中心的距离估计类内的紧致度,用类簇中心之间的距离表示类间的分离性,计算公式如下:

DB=\frac 1 k \sum_{i=1}^{k} {max}_{i\neq j}\left ( \frac { \bar\Omega_i+ \bar\Omega_j}{\left \| u_i-u_j \right \|_2} \right )

其中,\bar\Omega_i 与\bar\Omega_j 分别是类簇\Omega i 和j中样本对象之间的平均距离; u_i 和u_j 分别表示类簇\Omega i 和j的中心。 戴维森堡丁指数的下限是0,值越小越意味着类内距离越小,类间距离越大,聚类结果越好。但由于使用了欧式距离,所以对环状分布聚类的评估能力较差。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值