基于python实现ROC曲线绘制广场解析

时间: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邮箱联系删除。

相关文章