基于python實現ROC曲線繪制廣場解析
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的描繪
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: