机器学习模型的各项评价指标

机器学习模型分类为有监督学习和无监督学习。

有监督学习

分类Classification

多个分类模型比较

分类模型比较的指标意义:

  • Accuracy 准确率
  • AUC 值的范围是0.5~1之间,如果小于0.5,则说明模型很烂。
  • Recall 召回率
  • Precision 精确率
  • F1
  • Kappa
    -MCC
    一般情况下,我们选择AUC最大的模型
ROC-AUC曲线图

上图中ROC曲线和X围成的区域的面积,即为AUC值,这个图中是多分类模型,可以看到分类值为2的AUC最高为0.66,分类为1的AUC最低为0.46,说明这个模型如果用来预测分类值为1的目标值时,效果非常差。


混淆矩阵

从混淆矩阵也可以看出分类模型的好坏,这是上面的多模型比较后,最优模型LDA的混淆矩阵,对角线的值越大,则模型越好。这个模型显然很差。

回归Regression

多个回归模型比较

单个模型的10重Fold

多个回归模型比较时,比单个模型的10重Fold多了一项是TT即时间。
评价指标

  • MAE 平均绝对正误差Mean Absolute Error,范围是[0,+无穷)
  • MSE 均方误差 (Mean Square Error)
  • RMSE 均方根误差(Root Mean Square Error)
  • R2 值的范围一般是0~1,但是也可能会出现小于0的情况
  • RMSLE 均方根对数误差 (Root Mean Squared Logarithmic Error)
  • MAPE 平均绝对百分比误差(Mean Absolute Percentage Error)
    一般情况下,我们选择的都是R2最大的模型,像上图中,标黄色的都是最优的值。可以看到不同 的指标最优值对应的模型可能不是同一个。R2如果小于0,说明该模型连最基础的模型都不如,即训练值和目标值之间没有线性关系,简单说这个模型很烂。
    例如:上面的10重fold运行的Mean对应的R2是-0.1754,说明这个模型很烂。建议更换选择其他更优的模型。

无监督学习

聚类Clustering

聚类没有办法使用多模型比较,自动选择最优的模型,因为这是无监督学习,程序也不知道哪个是最优的方案。
根据实现的原理和方法差异大概分类:

基于K值聚类有2种方法确定K值:elbow和silhouette

例子1:肘节图能够确定最优K值,轮廓图不能确定最优K值。
elbow 肘节图

kmeans的模型,从上图中看出拐点是3,大于3之后,曲线就是趋于平缓,看到从4到10变化都不大,所以尽量取小的K值,此处即为4.


silhouette轮廓图

上面这个轮廓图就不是好的结果,好的轮廓图,要求是每个层的厚度基本相同,而且每个层都有部分样本超过红色虚线(均值线)。尽量选择均值大的,层数多的。

例子2:肘节图无法区分,轮廓图能够区分选择最佳K值。
这个肘节图没有拐点

这个轮廓图基本可以,优于上面385个样本的轮廓图。实际使用时可以试试K从3-5,对比选择最优

上面的K=4对应的PCA图

从PCA图看出,上面的K=4,划分为4类,是可以分开400个样本的数据的。

dbscan

异常检测Anomaly Detection

时间序列 Time Series Forecasting

时间序列其实也是无监督学习的一种


时间序列的预测模型指标

时间序列的预测周期一定要设置合适,这个值对时间序列的预测结果的准确性影响非常大。
时间序列的评价指标:

  • MASE 平均绝对比例误差
  • RMSSE Root Mean Squared Scaled Error(RMSSE)标准化均方根误差,这个值越接近0越好
  • MAE 平均绝对正误差Mean Absolute Error,范围是[0,+无穷)
  • RMSE 均方根误差(Root Mean Square Error)
  • MAPE 平均绝对百分比误差(Mean Absolute Percentage Error)
  • SMAPE 对称平均绝对百分比误差(Symmetric Mean Absolute Percentage Error)
  • R2 值的范围一般是0~1,但是也可能会出现小于0的情况,越接近1越好。
fh=12,设置预测周期为12个月

上图是基于1950-1960航班的乘客数量预测1960-1962年乘客的数量。


fh=3,设置预测周期为3个月

针对统一数据使用不同的预测周期进行预测,可以看到R2的差距是很大的,但是最优模型的MASE,RMSSE,MAE等指标基本接近。

时间序列的ACF和PACF

航班数据的结果

从上图中的ACF和PACF可以看出,数据点基本分布在阴影区间内,说明这个数据模型平稳性比较好。
谷歌的数据

上图中的左侧的ACF出现了振幅梯度递减,数据需要进一步处理才能建模,右侧数据是正常分布在阈值范围内是正常数据。
左侧这种情况,一般是时间序列数据内出现了自相关,这时候使用PACF来确定在哪些时间尺度上出现的,就是PACF图中哪些柱子超出阴影区域,这个横坐标即对应的时间尺度。
PACF图

上图这个PACF图就是数据存在自相关。时间尺度可以选择柱子超出蓝色阴影区域的长的点,例如横坐标为1,2,3,10,13.
差分:时间序列模型建模前的一种数据预处理模式,后一个观测值减去前一个值的差值作为时间序列的值,用来建时间序列模型。这种只减了一次的称为一阶差分,如果得到的值,再来一次差分得到的值,就是二阶差分。有时候,一阶差分的值还是离散很大,就需要继续多次差分。

你可能感兴趣的:(机器学习模型的各项评价指标)