美文网首页
机器学习笔记(2):模型的评估指标

机器学习笔记(2):模型的评估指标

作者: 链原力 | 来源:发表于2020-02-23 23:22 被阅读0次

    本文来自之前在Udacity上自学机器学习的系列笔记。这是第2篇,介绍了模型的评估指标。
     

    1.评估指标

    不同的模型,需要使用不同的指标来评估。下面一一介绍。
     

    1.1.混淆矩阵(Confusion Matrix)

    混淆矩阵是一种展示模型结果的矩阵表达方式。如下图所示,蓝点和红点是训练数据,直线是模型的分类结果,直线之上表示分类结果都是蓝点,直线之下表示分类结果都是红点。

    Confusion Matrix
    from sklearn.metrics import confusion_matrix
    

     

    1.2.准确度(Accuracy)

    分类准确数与总数的比例。但是精确度不能仅仅作为一些问题的唯一评估指标,例如信用卡欺诈,即使存在一个99%的模型可以将欺诈数据排查出来,但是仍然不是一个好模型,因为它无法捕捉欺诈交易,而模型的目标正是捕捉所有欺诈交易。

    from sklearn.metrics import accuracy_score
    

     

    1.3.精度(Precision)和召回率(Recall)

    精度就是判断为Positive且的确为真的与所有判断为Positive的比率;而召回率就是判断为Positive且的确为真的与所有真实Positive的比率。前者追求的是查准率,后者追求的是查全率。下面举两个例子。不同例子所需要使用的指标是不同的。

    医院检测一个人是否患病,有四种情况:

    判断是否患病 分类为阳性 分类为阴性
    真实阳性 真阳性(治疗!) 假阴性(避免!)
    真实阴性 假阳性(多检查!) 真阴性(还好!)

    医院应该尽力避免“假阴性”,因为如果一个人真实患病但被诊断为没病,就不好了。所以,判断是否患病的模型追求高召回率,判断为阳性且为真的数量占真实阳性数量越大,说明模型越好。

    判断一封邮件是否为垃圾邮件,也有四种情况:

    判断是否垃圾邮件 分类为垃圾邮件 分类为非垃圾邮件
    真实垃圾邮件 真垃圾邮件(过滤!) 假非垃圾邮件(多检查!)
    真实非垃圾邮件 假垃圾邮件(避免!) 真非垃圾邮件(还好!)

    邮件系统应该尽力避免“假垃圾邮件”,因为如果把一封家人发过来的邮件判断为垃圾邮件,就不好了。判断是否垃圾邮件模型追求高精度。判断为垃圾邮件且为真的数量占判断为垃圾邮件的数量越大,说明模型越好。

    from sklearn.metrics import precision_score
    

     

    1.4.F1分数和F-beta分数

    F1和F-beta分数是综合考虑精度和召回率的指标。具体定义如下:

    F1和F-beta分数

    从它们的数学定义可以看到,随着beta取不同的值,F-beta在精度和召回率之间移动。当beta=1时,得到一个平衡的考量。为用户推荐一部可能喜欢的电影,我们可以取beta=1;为潜在客户发送促销邮件,我们可以取beta=0.5,这样模型指标更加靠近精度,确保目标的用户群体中有意向的客户越多越好;而检测航空器中的故障部件率,则应该取beta=2,这样模型指标更加靠近召回率,确保尽可能把有故障部件都找出来。
     

    1.5.ROC曲线(Receiver Operator Characteristic Curve)

    ROC曲线是这样构成的,我们将判断为Positive且为真的比率作为纵坐标,判断为Positive但为假的比率作为横坐标。然后根据模型对数据的划分,我们在数据间设立一个划分边界,来计算上述的两个比率。如果模型对数据划分的好,那么这些比率点所形成的曲线面积越靠近1,代表模型越好。

    ROC曲线
    from sklearn.metrics import roc_curve, roc_auc_curve
    

    以上模型适用于监督学习的分类模型。
    下面介绍适用于监督学习的回归模型的指标。
     

    1.6.平均绝对误差(Mean Absolute Error)

    预测值与真实值之差的绝对值,加起来求其平均。

    平均绝对误差

     

    1.7.均方误差(Mean Squared Error)

    预测值与真实值之差的平方,加起来求其平均。

    均方误差

     

    1.8.R2分数(R2 Score)

    R2分数通过将我们的模型与最简单的可能模型相比得出。所谓最简单的可能模型,比如说我们要拟合一个散点图,我们可以直接画一条直线穿过这些点。然后求出该直线模型下的均方误差。我们希望期望模型的均方误差比这个直线模型要小,而且是小得多,从而使得R2分数趋向于1。

    R2分数
    from sklearn_metrics import r2_score
    

     
    平均绝对误差、均方误差和R2分数常用于监督学习的回归模型中。

    相关文章

      网友评论

          本文标题:机器学习笔记(2):模型的评估指标

          本文链接:https://www.haomeiwen.com/subject/kaweqhtx.html