您的位置:首页 > 编程语言 > Python开发

python计算auc指标

2017-07-12 19:13 253 查看
1.安装scikit-learn

1.1Scikit-learn依赖

Python(>=2.7or>=3.3),

NumPy(>=1.8.2),

SciPy(>=0.13.3).

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

python-V结果:Python2.7.3
  python-c'importscipy;printscipy.version.version'scipy版本结果:0.9.0
python-c"importnumpy;printnumpy.version.version"numpy结果:1.10.2

  查看包安装路径:python-c'importscipy;printscipy.__file__'

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

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

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

2.计算auc指标

1importnumpyasnp
2fromsklearn.metricsimportroc_auc_score
3y_true=np.array([0,0,1,1])
4y_scores=np.array([0.1,0.4,0.35,0.8])
5roc_auc_score(y_true,y_scores)

输出:0.75



3.计算roc曲线

1importnumpyasnp
2fromsklearnimportmetrics
3y=np.array([1,1,2,2])#实际值
4scores=np.array([0.1,0.4,0.35,0.8])#预测值
5fpr,tpr,thresholds=metrics.roc_curve(y,scores,pos_label=2)#pos_label=2,表示值为2的实际值为正样本
6printfpr
7printtpr
8printthresholds

输出:
array([0.,0.5,0.5,1.])
array([0.5,0.5,1.,1.])
array([0.8,0.4,0.35,0.1])



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: