roc值函数python python ros( 三 )


在上述癌症检测中(正反例极度不平衡的情况下),
有时我们还会见到sensitivity和specificity两个概念:
也就是说想要sensitivity高一点相当于要True Positive Rate高一点,要specificity高一点相当于False Positive Rate低一点/ 。为了权衡recall和precision,对于评判二分类器的优劣 , 可以使用ROC(Receiver Operating Characteristic)曲线以及AUC(Area Under roc Curve)指标 。
ROC曲线的几个概念:
以医生诊断为例,我们可以看出:
上图中一个阈值,得到一个点 。现在我们需要一个独立于阈值的评价指标来衡量这个医生的医术如何,也就是 遍历所有的阈值  , 得到ROC曲线 。还是一开始的那幅图,假设如下就是某个医生的诊断统计图,直线代表阈值 。我们遍历所有的阈值,能够在ROC平面上得到如下的ROC曲线 。
以一个简单的模拟数据来计算下ROC曲线每个点的值
Python可以用sklearn , R可以用ROCR包或者pROC包,这里以ROCR包来检验下上述计算结果:
x.values对应FPR , y.values对应TPR, alpha.values对应预测打分cutoff,结果跟上面完全一致 , 然后简单做个ROC图 。
AUC值就相当于ROC曲线的所覆盖的面积,可以从ROC曲线看出AUC值越大,其分类效果越好 。
理解ROC和AUC
ROC曲线与AUC值
Python数据分析(4)决策树模型 时间:2021/06/30
系统环境:Windows 10
所用工具:Jupyter Notebook\Python 3.0
涉及的库:pandas\train_test_split\DecisionTreeClassifier\accuracy_score\roc_curve\matplotlib.pyplot\roc_auc_score\export_graphviz\graphviz\os\GridSearchCV
蛋肥想法: 通过测试集数据,检验预测准确度,测得准确度为95.47% 。
蛋肥想法: 通过绘制ROC曲线,得出AUC值为0.966,表明预测效果不错 。
蛋肥想法: 特征重要性最高的是“satisfaction_level”,而“salary”在该模型中的特征重要性为0,并不符合实际(钱可太重要了~),应该是因为数据处理时单纯将工资分为“高”“中”“低”3个档次,使得该特征变量在决策树模型中发挥的作用较小 。
蛋肥想法: GridSearch网格搜索可以进行单参数和多参数调优 , 蛋肥这里以max_depth参数来练习调优 , 得出'max_depth': 7时 , AUC更好为0.985 。
roc值函数python的介绍就聊到这里吧 , 感谢你花时间阅读本站内容 , 更多关于python ros、roc值函数python的信息别忘了在本站进行查找喔 。

推荐阅读