时间:2021-05-22
ROC
结果
源数据:鸢尾花数据集(仅采用其中的两种类别的花进行训练和检测)
Summary
features:['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
实例:[5.1, 3.5, 1.4, 0.2]
target:'setosa' 'versicolor' (0 , 1)
采用回归方法进行拟合得到参数和bias
model.fit(data_train, data_train_label)
对测试数据进行预测得到概率值
res = model.predict(data[:100])
与训练集labels匹配后进行排序(从大到小)
pred labels68 0.758208 187 0.753780 176 0.745833 150 0.743156 165 0.741676 175 0.739117 162 0.738255 154 0.737036 152 0.733625 177 0.728139 186 0.727547 174 0.726261 158 0.725150 171 0.724719 136 0.724142 014 0.723990 031 0.721648 041 0.720308 072 0.717723 179 0.712833 197 0.705148 151 0.702838 135 0.702203 098 0.701731 192 0.701106 182 0.700661 153 0.700465 118 0.699350 016 0.696915 064 0.693333 1.. ... ...33 0.658937 096 0.656761 130 0.656279 057 0.655673 14 0.652616 085 0.648620 159 0.648586 119 0.646965 070 0.646262 188 0.644482 18 0.643191 038 0.642704 03 0.640933 055 0.640630 147 0.640444 095 0.639552 113 0.639050 022 0.638485 029 0.635590 090 0.634376 137 0.632224 06 0.631119 046 0.630037 011 0.629718 066 0.627807 142 0.624795 044 0.621703 032 0.614932 024 0.603874 084 0.603249 1计算训练集中正确的个数与非正确的个数
运用一下的算式进行TPR和FPR的计算
index = 0for i in sorted_mat.values: if i[1] == 0: TPR.append(TPR[index]) FPR.append(FPR[index] + 1.0/F_num) else: TPR.append(TPR[index] + 1.0/T_num) FPR.append(FPR[index]) index += 1最后进行TPR和FPR的描绘
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
使用Python绘制正态分布曲线,借助matplotlib绘图工具;#-*-coding:utf-8-*-"""python绘制标准正态分布曲线"""#====
-AUC计算方法-AUC的Python实现方式AUC计算方法AUC是ROC曲线下的面积,它是机器学习用于二分类模型的评价指标,AUC反应的是模型对样本的排序能力
1roc曲线的意义ROC曲线就是用来判断诊断的正确性,最理想的就是曲线下的面积为1,比较理想的状态就是曲线下的面积在0.8-0.9之间,0.5的话对实验结果没有
python绘制拟合曲线并加指定点标识importosimportnumpyasnpfromscipyimportlogfromscipy.optimizeim
为了获取ROC曲线的最佳阈值,需要使用一个指标--约登指数,也称正确指数。借助于matlab的roc函数可以得出计算。%1-specificity=fpr%Se