首页 > 其他 > 详细

第7章 模型评估

时间:2019-09-01 18:31:48      阅读:77      评论:0      收藏:0      [点我收藏+]

7.1 分类模型评估

1、二分类

技术分享图片

  混淆矩阵中对角线的元素代表正确分类的数量;

  非对角线元素代表错误分类的数量。

所以最为理想的模型(拿测试集来看),应该是一个对角阵。若无法得到对角阵,对角线上的数字之和如果占统治地位也是可以的。

技术分享图片技术分享图片

片面的追求查准率可能会降低召回率

 

 2、多分类

技术分享图片

技术分享图片

 recall参数中的average()的取值:

  binary表示二分类

  micro表示多元混淆矩阵中的第一种方法

  macro表示的是一种不加权的平均

  weighted表示加权的平均

3、 反应分类效果的图及ROC曲线阈值的选取

1ROCAUC

技术分享图片技术分享图片

 

 选取标准:让TPR尽可能的大,FPR尽可能的小,所以选取其拐点

AUC表示的是ROC曲线下的面积,可以直接反应ROC曲线像左上方靠近的程度。

 

如何做ROC曲线?

 技术分享图片

https://scikit-learn.org/stable/modules/generated/sklearn.metrics.roc_curve.html#sklearn.metrics.roc_curve

xy_lst = [(X_train, Y_train), (X_validation, Y_validation), (X_test, Y_test)]

import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve,auc,roc_auc_score
f = plt.figure()

for i in range(len(xy_lst)):
    X_part = xy_lst[i][0]
    Y_part = xy_lst[i][1]
    Y_pred = mdl.predict(X_part)
    # Y_pred = mdl.predict_classes(X_part)#用predict()时输出的是连续值,使用predict_classes()时输出的是分类标注
    # print(i)
    print(Y_pred)
    Y_pred = np.array(Y_pred[:,1]).reshape((1,-1))[0]
    # from sklearn.metrics import accuracy_score, recall_score, f1_score
    # print(i, ‘---:‘, ‘Nural Network‘, ‘准确率:‘, accuracy_score(Y_part, Y_pred),
    #       ‘召回率:‘, recall_score(Y_part, Y_pred),
    #       ‘F1分数:‘, f1_score(Y_part, Y_pred))
    f.add_subplot(1,3,i+1)
    fpr,tpr,thresholds = roc_curve(Y_part,Y_pred)
    plt.plot(fpr,tpr)
    plt.shaow()
    #这两个函数功能一样
    print(‘Nural Network‘,‘AUC‘,auc(fpr,tpr))
    print(‘Nural Network‘,‘AUC Score‘,roc_auc_score(Y_part,Y_pred))
    ‘‘‘
    Nural Network AUC 0.9610879734019506
    Nural Network AUC Score 0.9610879734019506
    Nural Network AUC 0.961721658936862
    Nural Network AUC Score 0.961721658936862
    Nural Network AUC 0.9637020039792525
    Nural Network AUC Score 0.9637020039792525
    ‘‘‘

技术分享图片

 

 2)增益图与KS

技术分享图片

其中KS图中关注的是,TPR曲线与FPR曲线的差距,这个差距反映了对正类样本的区分度。

 

第7章 模型评估

原文:https://www.cnblogs.com/Cheryol/p/11442812.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!