@songying
2019-04-03T12:57:18.000000Z
字数 3089
阅读 1178
deep-learning
实际问题中,需要通过一组互补的指标去评估模型,才能更好的发现并解决模型存在的问题,从而更好的解决实际业务场景中遇到的问题。
分类模型常用评估方法:**
指标 | 描述 | Scikit-learn函数 |
---|---|---|
Precision | 精准度 | from sklearn.metrics import precision_score |
Recall | 召回率 | from sklearn.metrics import recall_score |
F1 | F1值 | from sklearn.metrics import f1_score |
Confusion Matrix | 混淆矩阵 | from sklearn.metrics import confusion_matrix |
ROC | ROC曲线 | from sklearn.metrics import roc |
AUC | ROC曲线下的面积 | from sklearn.metrics import auc |
precision | 查准率 | |
recall | 查全率 | |
P-R曲线 | 查准率为纵轴,查全率为横轴,作图 |
回归模型常用评估方法:
指标 | 描述 | Scikit-learn函数 |
---|---|---|
Mean Square Error (MSE, RMSE) | 平均方差 | from sklearn.metrics import mean_squared_error |
Absolute Error (MAE, RAE) | 绝对误差 | from sklearn.metrics import mean_absolute_error, median_absolute_error |
R-Squared | R平方值 | from sklearn.metrics import r2_score |
准确率是指我们的模型预测正确的结果所占的比例。
- 准确率在正负样本不均衡的情况下,占比达的类别往往会成为影响准确率的最主要因素。此时,单单准确率一项并不能反映全面情况。
- 举个例子: 预测地震[0,1], 考虑到地震发生的概率是很小的,我们每次都预测为0-不发生,准确率再99%, 此时并不能很好的评估模型。
- 此时可以取每个类别下的样本准确率的算术平均作为模型评估的指标。
要全面评估模型的有效性,必须同时检查精确率和召回率。
遗憾的是,精确率和召回率往往是此消彼长的情况。如果提高精确率,分类器需要尽量在“更有把握”时才将样本预测为正样本,但此时往往会因为过于保守而漏掉很多“没有把握”的正样本,从而导致召回率降低。
为了更好的评估一个模型,最好绘制出P-R曲线。P-R曲线的横轴是召回率,纵轴是精确率。在P-R曲线上的一个点代表着:在某一阈值下,模型将大于该阈值的结果判定为正样本,小于该阈值的结果判定为负样本,此时返回结果对应的召回率和精确率。
F1 score 能够综合的反映一个模型的性能。
ROC 曲线常作为评估二分类器最重要的指标之一。
ROC 曲线的横坐标为假阳性率 - FPR, 纵坐标为真阳性率-TPR。
ROC曲线越靠近(0,1)点,越偏离45度对角线越好。
如何绘制ROC曲线:
ROC 是通过不断移动分类器的 “阈值” 来生成曲线的一组关键点。动态的调整“阈值”, 从最高的得分开始,逐渐调整到最低得分,每一个截断点都会对应于一个FPR和TPR, 在ROC图上绘制出每个截断点, 再连接所有点就得到最终的ROC曲线。
计算 AUC:
AUC 指的是ROC曲线下的面积大小,该值能够量化的反映基于ROC曲线衡量出的模型性能。计算 AUC 值只需要沿着ROC横轴做积分就行。
AUC 取值一般在 0.5-1 之间, AUC越大,说明分类器越可能把真正的正样本排在前面,分类性能越好。
ROC 曲线与 P-R 曲线:
相比P-R 曲线, ROC 曲线在正负样本的分布发生变化时, ROC曲线的形状能够基本保持不变,而P-R曲线会发生剧烈的变化。
一般情况下,RMSE能够很好的反映回归模型预测值与真实值的偏离程度,但在实际问题中,如果存在个别偏离程度非常大的离群点时,即使离群点数量非常少,也会让RMSE指标变得很差。
针对这种情况,可以从三个角度来考虑问题:
- 如果我们认定这些离群点是“噪声点”的话,就需要在数据预处理阶段将这些噪声点过滤掉
- 如果不认为这些离群带你是“噪声点”的话,需要进一步提高模型的预测能力,将离群点产生的机制建模进去
- 可以找一个更合适的指标来评估该模型。
该评价指标与RMSE相比有更好的鲁棒性,相当于将每个点的误差进行归一化,降低了个别离群点带来的绝对误差的影响。
余弦距离可用来评估两个样本之间的距离。
相同的两个相邻的余弦距离位0.
适用场景:
对于文本相似度, 余弦距离要比欧氏距离合适。 在特征维度很高时, 余弦相似度在高维情况下依然能够保持“相同时为1,正交时为0, 相反时为-1” 的性质, 而欧氏距离则受到维度的影响, 范围不固定,且含义也比较模糊。
余弦距离与欧式距离: 欧式距离体现在数值上的绝对差异,而余弦距离体现方向上的相对差异。