日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

python實(shí)現(xiàn)二分類和多分類的ROC曲線教程

瀏覽:183日期:2022-07-21 10:50:41

基本概念

precision:預(yù)測(cè)為對(duì)的當(dāng)中,原本為對(duì)的比例(越大越好,1為理想狀態(tài))

recall:原本為對(duì)的當(dāng)中,預(yù)測(cè)為對(duì)的比例(越大越好,1為理想狀態(tài))

F-measure:F度量是對(duì)準(zhǔn)確率和召回率做一個(gè)權(quán)衡(越大越好,1為理想狀態(tài),此時(shí)precision為1,recall為1)

accuracy:預(yù)測(cè)對(duì)的(包括原本是對(duì)預(yù)測(cè)為對(duì),原本是錯(cuò)的預(yù)測(cè)為錯(cuò)兩種情形)占整個(gè)的比例(越大越好,1為理想狀態(tài))

fp rate:原本是錯(cuò)的預(yù)測(cè)為對(duì)的比例(越小越好,0為理想狀態(tài))

tp rate:原本是對(duì)的預(yù)測(cè)為對(duì)的比例(越大越好,1為理想狀態(tài))

ROC曲線通常在Y軸上具有真陽性率,在X軸上具有假陽性率。這意味著圖的左上角是“理想”點(diǎn) - 誤報(bào)率為零,真正的正率為1。這不太現(xiàn)實(shí),但它確實(shí)意味著曲線下面積(AUC)通常更好。

二分類問題:ROC曲線

from __future__ import absolute_importfrom __future__ import divisionfrom __future__ import print_functionimport timestart_time = time.time()import matplotlib.pyplot as pltfrom sklearn.metrics import roc_curvefrom sklearn.metrics import aucimport numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import recall_score,accuracy_scorefrom sklearn.metrics import precision_score,f1_scorefrom keras.optimizers import Adam,SGD,sgdfrom keras.models import load_modelprint(’讀取數(shù)據(jù)’)X_train = np.load(’x_train-rotate_2.npy’)Y_train = np.load(’y_train-rotate_2.npy’)print(X_train.shape)print(Y_train.shape)print(’獲取測(cè)試數(shù)據(jù)和驗(yàn)證數(shù)據(jù)’)X_train, X_valid, Y_train, Y_valid = train_test_split(X_train, Y_train, test_size=0.1, random_state=666)Y_train = np.asarray(Y_train,np.uint8)Y_valid = np.asarray(Y_valid,np.uint8)X_valid = np.array(X_valid, np.float32) / 255.print(’獲取模型’)model = load_model(’./model/InceptionV3_model.h5’)opt = Adam(lr=1e-4)model.compile(optimizer=opt, loss=’binary_crossentropy’)print('Predicting')Y_pred = model.predict(X_valid)Y_pred = [np.argmax(y) for y in Y_pred] # 取出y中元素最大值所對(duì)應(yīng)的索引Y_valid = [np.argmax(y) for y in Y_valid]# micro:多分類# weighted:不均衡數(shù)量的類來說,計(jì)算二分類metrics的平均# macro:計(jì)算二分類metrics的均值,為每個(gè)類給出相同權(quán)重的分值。precision = precision_score(Y_valid, Y_pred, average=’weighted’)recall = recall_score(Y_valid, Y_pred, average=’weighted’)f1_score = f1_score(Y_valid, Y_pred, average=’weighted’)accuracy_score = accuracy_score(Y_valid, Y_pred)print('Precision_score:',precision)print('Recall_score:',recall)print('F1_score:',f1_score)print('Accuracy_score:',accuracy_score)# 二分類 ROC曲線# roc_curve:真正率(True Positive Rate , TPR)或靈敏度(sensitivity)# 橫坐標(biāo):假正率(False Positive Rate , FPR)fpr, tpr, thresholds_keras = roc_curve(Y_valid, Y_pred)auc = auc(fpr, tpr)print('AUC : ', auc)plt.figure()plt.plot([0, 1], [0, 1], ’k--’)plt.plot(fpr, tpr, label=’Keras (area = {:.3f})’.format(auc))plt.xlabel(’False positive rate’)plt.ylabel(’True positive rate’)plt.title(’ROC curve’)plt.legend(loc=’best’)plt.savefig('../images/ROC/ROC_2分類.png')plt.show()print('--- %s seconds ---' % (time.time() - start_time))

ROC圖如下所示:

python實(shí)現(xiàn)二分類和多分類的ROC曲線教程

多分類問題:ROC曲線

ROC曲線通常用于二分類以研究分類器的輸出。為了將ROC曲線和ROC區(qū)域擴(kuò)展到多類或多標(biāo)簽分類,有必要對(duì)輸出進(jìn)行二值化。⑴可以每個(gè)標(biāo)簽繪制一條ROC曲線。⑵也可以通過將標(biāo)簽指示符矩陣的每個(gè)元素視為二元預(yù)測(cè)(微平均)來繪制ROC曲線。⑶另一種用于多類別分類的評(píng)估方法是宏觀平均,它對(duì)每個(gè)標(biāo)簽的分類給予相同的權(quán)重。

from __future__ import absolute_importfrom __future__ import divisionfrom __future__ import print_functionimport timestart_time = time.time()import matplotlib.pyplot as pltfrom sklearn.metrics import roc_curvefrom sklearn.metrics import aucimport numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import recall_score,accuracy_scorefrom sklearn.metrics import precision_score,f1_scorefrom keras.optimizers import Adam,SGD,sgdfrom keras.models import load_modelfrom itertools import cyclefrom scipy import interpfrom sklearn.preprocessing import label_binarizenb_classes = 5print(’讀取數(shù)據(jù)’)X_train = np.load(’x_train-resized_5.npy’)Y_train = np.load(’y_train-resized_5.npy’)print(X_train.shape)print(Y_train.shape)print(’獲取測(cè)試數(shù)據(jù)和驗(yàn)證數(shù)據(jù)’)X_train, X_valid, Y_train, Y_valid = train_test_split(X_train, Y_train, test_size=0.1, random_state=666)Y_train = np.asarray(Y_train,np.uint8)Y_valid = np.asarray(Y_valid,np.uint8)X_valid = np.asarray(X_valid, np.float32) / 255.print(’獲取模型’)model = load_model(’./model/SE-InceptionV3_model.h5’)opt = Adam(lr=1e-4)model.compile(optimizer=opt, loss=’categorical_crossentropy’)print('Predicting')Y_pred = model.predict(X_valid)Y_pred = [np.argmax(y) for y in Y_pred] # 取出y中元素最大值所對(duì)應(yīng)的索引Y_valid = [np.argmax(y) for y in Y_valid]# Binarize the outputY_valid = label_binarize(Y_valid, classes=[i for i in range(nb_classes)])Y_pred = label_binarize(Y_pred, classes=[i for i in range(nb_classes)])# micro:多分類# weighted:不均衡數(shù)量的類來說,計(jì)算二分類metrics的平均# macro:計(jì)算二分類metrics的均值,為每個(gè)類給出相同權(quán)重的分值。precision = precision_score(Y_valid, Y_pred, average=’micro’)recall = recall_score(Y_valid, Y_pred, average=’micro’)f1_score = f1_score(Y_valid, Y_pred, average=’micro’)accuracy_score = accuracy_score(Y_valid, Y_pred)print('Precision_score:',precision)print('Recall_score:',recall)print('F1_score:',f1_score)print('Accuracy_score:',accuracy_score)# roc_curve:真正率(True Positive Rate , TPR)或靈敏度(sensitivity)# 橫坐標(biāo):假正率(False Positive Rate , FPR)# Compute ROC curve and ROC area for each classfpr = dict()tpr = dict()roc_auc = dict()for i in range(nb_classes): fpr[i], tpr[i], _ = roc_curve(Y_valid[:, i], Y_pred[:, i]) roc_auc[i] = auc(fpr[i], tpr[i])# Compute micro-average ROC curve and ROC areafpr['micro'], tpr['micro'], _ = roc_curve(Y_valid.ravel(), Y_pred.ravel())roc_auc['micro'] = auc(fpr['micro'], tpr['micro'])# Compute macro-average ROC curve and ROC area# First aggregate all false positive ratesall_fpr = np.unique(np.concatenate([fpr[i] for i in range(nb_classes)]))# Then interpolate all ROC curves at this pointsmean_tpr = np.zeros_like(all_fpr)for i in range(nb_classes): mean_tpr += interp(all_fpr, fpr[i], tpr[i])# Finally average it and compute AUCmean_tpr /= nb_classesfpr['macro'] = all_fprtpr['macro'] = mean_tprroc_auc['macro'] = auc(fpr['macro'], tpr['macro'])# Plot all ROC curveslw = 2plt.figure()plt.plot(fpr['micro'], tpr['micro'], label=’micro-average ROC curve (area = {0:0.2f})’ ’’.format(roc_auc['micro']), color=’deeppink’, linestyle=’:’, linewidth=4)plt.plot(fpr['macro'], tpr['macro'], label=’macro-average ROC curve (area = {0:0.2f})’ ’’.format(roc_auc['macro']), color=’navy’, linestyle=’:’, linewidth=4)colors = cycle([’aqua’, ’darkorange’, ’cornflowerblue’])for i, color in zip(range(nb_classes), colors): plt.plot(fpr[i], tpr[i], color=color, lw=lw, label=’ROC curve of class {0} (area = {1:0.2f})’ ’’.format(i, roc_auc[i]))plt.plot([0, 1], [0, 1], ’k--’, lw=lw)plt.xlim([0.0, 1.0])plt.ylim([0.0, 1.05])plt.xlabel(’False Positive Rate’)plt.ylabel(’True Positive Rate’)plt.title(’Some extension of Receiver operating characteristic to multi-class’)plt.legend(loc='lower right')plt.savefig('../images/ROC/ROC_5分類.png')plt.show()print('--- %s seconds ---' % (time.time() - start_time))

ROC圖如下所示:

python實(shí)現(xiàn)二分類和多分類的ROC曲線教程

以上這篇python實(shí)現(xiàn)二分類和多分類的ROC曲線教程就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产亚洲一区二区三区啪| 国产精品白丝一区二区三区| 欧美视频一区| 日韩专区视频网站| 亚洲欧美在线综合| 亚洲婷婷在线| 激情综合亚洲| 欧美1区免费| 黄色亚洲免费| 国产精品美女| 日韩中文字幕1| 亚洲麻豆一区| 精品网站999| 中文在线а√在线8| 日韩在线免费| 91久久久精品国产| 美女精品在线| 日本va欧美va精品发布| 麻豆精品久久久| 日本综合字幕| 91亚洲人成网污www| 欧美1级日本1级| 在线精品一区| 国产经典一区| 久久美女性网| 色综合视频一区二区三区日韩 | 精品视频自拍| 麻豆精品少妇| 欧美日韩国产免费观看视频| aa亚洲婷婷| 国产日产一区| 亚洲精品国产嫩草在线观看| 99国产精品视频免费观看一公开| 视频一区欧美日韩| 精品视频一二| 欧美专区18| 国产成人精品一区二区三区视频 | 欧美三级第一页| 久久精品123| 日本va欧美va瓶| sm久久捆绑调教精品一区| 久久久国产精品一区二区中文| 日韩影院在线观看| 涩涩av在线| 88久久精品| 香蕉久久国产| 色婷婷狠狠五月综合天色拍| 玖玖玖国产精品| 欧美肉体xxxx裸体137大胆| 日本h片久久| 久久国产高清| 久久视频一区| 97精品一区二区| 国产精品巨作av| 日日摸夜夜添夜夜添国产精品| 国产精品地址| 国产欧美日本| 免费成人在线视频观看| 欧美三级精品| 精品久久影院| 久久中文字幕导航| 日韩高清在线观看一区二区| 午夜欧美理论片| 日韩一区电影| 在线一区av| 日韩在线不卡| 亚洲综合电影| 日韩欧美中文| 日韩在线看片| 久久久久免费av| 久久精品观看| av资源中文在线| 中文在线а√在线8| 国产精品videossex| 中文字幕视频精品一区二区三区 | 亚州av乱码久久精品蜜桃| 久久国产欧美| 午夜国产欧美理论在线播放| 99精品综合| 免费日韩视频| 日韩精彩视频在线观看| 欧美日韩 国产精品| 久久精品av麻豆的观看方式| 欧美在线日韩| 麻豆久久一区| 欧美黑人巨大videos精品| 久久激五月天综合精品| 国产欧美一区二区精品久久久| 综合激情网站| 在线看片福利| 日韩久久精品网| 国产91精品对白在线播放| 91久久国产| 国产亚洲高清一区| 丁香六月综合| 亚洲人成亚洲精品| 精品国产欧美| 激情婷婷欧美| 国产精品欧美日韩一区| 快播电影网址老女人久久| 亚洲www啪成人一区二区| 香蕉成人久久| 久久久91麻豆精品国产一区| 日韩网站中文字幕| 亚洲精品黄色| 波多视频一区| 国产成人精选| 国产欧美自拍| 成人亚洲一区二区| 久久福利影视| 欧美黄色精品| 免费黄网站欧美| 欧洲av一区二区| 麻豆精品av| 亚洲日本欧美| 另类专区亚洲| 国产精品videosex极品| 国产亚洲午夜| 日韩中文影院| 美女视频黄免费的久久| 亚洲最大av| 国产综合精品一区| 精品理论电影在线| 欧美精品中文字幕亚洲专区| 亚洲中字黄色| 免费高潮视频95在线观看网站| 国产一区二区精品久| 亚洲一级在线| 三上悠亚国产精品一区二区三区| 日韩精品三级| 91精品国产调教在线观看| 国产精品一区二区三区www | 免费黄网站欧美| 蜜桃伊人久久| 亚洲午夜视频| 九一精品国产| 制服诱惑一区二区| 免费黄色成人| 欧美日韩国产精品一区二区亚洲| 99tv成人| 国产精品超碰| 亚欧洲精品视频在线观看| 红桃视频国产精品| 日韩一区二区久久| 国产精品精品国产一区二区| 国产精品极品| 精品视频一区二区三区在线观看| 国产精品1luya在线播放| 麻豆成人在线观看| 蜜桃av.网站在线观看| 久久精品欧美一区| 午夜精品网站| 欧美一级网址| 国产精品13p| 国产精品nxnn| 正在播放日韩精品| 欧美在线影院| 91精品丝袜国产高跟在线| 久久永久免费| 国产自产自拍视频在线观看| 99久久久久| 国产精品入口久久| 国产乱码精品一区二区三区亚洲人 | 免费在线看一区| 国产精品亚洲欧美日韩一区在线| 黑森林国产精品av| 亚洲制服欧美另类| 久久久久97| 亚洲精品一级二级三级| 国产欧美88| 久久久久免费| 亚洲精品美女91| 久久激五月天综合精品| 亚洲大全视频| 国产videos久久| 亚洲视频国产精品| 麻豆精品蜜桃| 国产激情在线播放| 在线观看亚洲精品福利片| 99精品电影| 国产成人调教视频在线观看| 日韩毛片网站| 免费在线观看视频一区| 亚洲香蕉网站| 99精品在线观看| 免费国产自线拍一欧美视频| 爽好多水快深点欧美视频| 国产激情精品一区二区三区| 国产精品多人| 亚洲免费婷婷| 国产一区精品福利| 丰满少妇一区| 日韩激情一区二区| 亚洲精品a级片| 麻豆精品视频在线观看免费| 欧美日韩国产精品一区二区亚洲| 97久久超碰| 久久国产精品免费精品3p| av资源中文在线| 国产精品亚洲四区在线观看 |