机器学习模型分类为有监督学习和无监督学习。
有监督学习
分类Classification
- 准确率是预测和标签一致的样本在所有样本中所占的比例;
- 精确率是你预测为正类的数据中,有多少确实是正类;
- 召回率是所有正类的数据中,你预测为正类的数据有多少。
这三个数据往往用来衡量一个二分类算法的优劣。
分类模型比较的指标意义:
- Accuracy 准确率:模型正确预测的样本数占总样本数的比例。准确率越高,模型的性能越好。
- AUC 值的范围是0.5~1之间,如果小于0.5,则说明模型很烂。AUC 是 ROC 曲线下的面积,它表示模型的区分能力。AUC 越大,模型的性能越好。
- Recall 召回率:表示实际为正类的样本中,被模型正确预测为正类的样本数占实际为正类的样本数的比例。召回率越高,模型的召回能力越强。
- Precision 精确率 :模型预测为正类的样本中,实际为正类的样本数占预测为正类的样本数的比例。精确率越高,模型的预测结果越准确。
- F1: 是精确率和召回率的调和平均值,它综合考虑了模型的准确性和召回率。F1 值越高,模型的性能越好。
- Kappa
-MCC - 混淆矩阵:Confusion Matrix ,对角线上的值越大,模型越好。利用混淆矩阵可以计算准确率、精确率、召回率等指标。
一般情况下,我们选择AUC最大的模型
上图中ROC曲线和X围成的区域的面积,即为AUC值,这个图中是多分类模型,可以看到分类值为2的AUC最高为0.66,分类为1的AUC最低为0.46,说明这个模型如果用来预测分类值为1的目标值时,效果非常差。
从混淆矩阵也可以看出分类模型的好坏,这是上面的多模型比较后,最优模型LDA的混淆矩阵,对角线的值越大,则模型越好。这个模型显然很差。
回归Regression
多个回归模型比较时,比单个模型的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值。
kmeans的模型,从上图中看出拐点是3,大于3之后,曲线就是趋于平缓,看到从4到10变化都不大,所以尽量取小的K值,此处即为4.
上面这个轮廓图就不是好的结果,好的轮廓图,要求是每个层的厚度基本相同,而且每个层都有部分样本超过红色虚线(均值线)。尽量选择均值大的,层数多的。
例子2:肘节图无法区分,轮廓图能够区分选择最佳K值。
从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越好。
上图是基于1950-1960航班的乘客数量预测1960-1962年乘客的数量。
针对统一数据使用不同的预测周期进行预测,可以看到R2的差距是很大的,但是最优模型的MASE,RMSSE,MAE等指标基本接近。
时间序列的ACF和PACF
从上图中的ACF和PACF可以看出,数据点基本分布在阴影区间内,说明这个数据模型平稳性比较好。
上图中的左侧的ACF出现了振幅梯度递减,数据需要进一步处理才能建模,右侧数据是正常分布在阈值范围内是正常数据。
左侧这种情况,一般是时间序列数据内出现了自相关,这时候使用PACF来确定在哪些时间尺度上出现的,就是PACF图中哪些柱子超出阴影区域,这个横坐标即对应的时间尺度。
上图这个PACF图就是数据存在自相关。时间尺度可以选择柱子超出蓝色阴影区域的长的点,例如横坐标为1,2,3,10,13.
差分:时间序列模型建模前的一种数据预处理模式,后一个观测值减去前一个值的差值作为时间序列的值,用来建时间序列模型。这种只减了一次的称为一阶差分,如果得到的值,再来一次差分得到的值,就是二阶差分。有时候,一阶差分的值还是离散很大,就需要继续多次差分。