• python计算auc指标


    1.安装scikit-learn

      1.1Scikit-learn 依赖

    • Python (>= 2.7 or >= 3.3),
    • NumPy (>= 1.8.2),
    • SciPy (>= 0.13.3).

         分别查看上述三个依赖的版本,

           python -V        结果:Python 2.7.3
      python -c 'import scipy; print scipy.version.version'    scipy版本结果:0.9.0
           python -c "import numpy; print numpy.version.version"   numpy结果:1.10.2

      查看包安装路径:python -c 'import scipy; print scipy.__file__'


     1.2 Scikit-learn安装
           如果你已经安装了NumPy、SciPy和python并且均满足1.1中所需的条件,那么可以直接运行sudo pip install -U scikit-learn 执行安装,这个命令安装的是最新版本的scikit-learn。

      如果你的Scipy版本和我的一样,是0.9.0版本,在不升级scipy版本的情况下,可以指定安装scikit-learn低版本(例如:0.17版本):sudo pip --default-timeout=500 install -U scikit-learn==0.17.0。这样就不会造成高版本的scikit-learn不兼容低版本的Scipy问题。

      在pip安装的过程中,--default-timeout=500设定可以解决网络问题引起的ssl认证失败的问题,通过pip install -h命令得知默认超时时间是15s。

    2.计算auc指标

    1 import numpy as np
    2 from sklearn.metrics import roc_auc_score
    3 y_true = np.array([0, 0, 1, 1])
    4 y_scores = np.array([0.1, 0.4, 0.35, 0.8])
    5 roc_auc_score(y_true, y_scores)

    输出:0.75
     

    3.计算roc曲线

    1 import numpy as np
    2 from sklearn import metrics
    3 y = np.array([1, 1, 2, 2])   #实际值
    4 scores = np.array([0.1, 0.4, 0.35, 0.8])  #预测值
    5 fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2)  #pos_label=2,表示值为2的实际值为正样本
    6 print fpr
    7 print tpr
    8 print thresholds

    输出:
    array([ 0. ,  0.5,  0.5,  1. ])
    array([ 0.5,  0.5,  1. ,  1. ])
    array([ 0.8 ,  0.4 ,  0.35,  0.1 ])
     
  • 相关阅读:
    mysql 每条数据增加随机数
    Linux 的VSFTP报错
    Linux 常见命令指南
    Python文件
    Python合并2个文件
    J2ME获取移动手机号码
    不同角度来理解面向对象的几个关键性概念
    打印字符串中第一个只出现一次的字符(C语言)
    ftp上传文件
    ftp上传到nas
  • 原文地址:https://www.cnblogs.com/litaozijin/p/7155146.html
Copyright © 2020-2023  润新知