最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pytorch 多分類問題,計算百分比操作

 更新時間:2020年07月09日 09:49:01   作者:風(fēng)澤茹嵐  
這篇文章主要介紹了pytorch 多分類問題,計算百分比操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

二分類或分類問題,網(wǎng)絡(luò)輸出為二維矩陣:批次x幾分類,最大的為當(dāng)前分類,標(biāo)簽為one-hot型的二維矩陣:批次x幾分類

計算百分比有numpy和pytorch兩種實現(xiàn)方案實現(xiàn),都是根據(jù)索引計算百分比,以下為具體二分類實現(xiàn)過程。

pytorch

out = torch.Tensor([[0,3],
     [2,3],
     [1,0],
     [3,4]])
cond = torch.Tensor([[1,0],
      [0,1],
      [1,0],
      [1,0]])
 
persent = torch.mean(torch.eq(torch.argmax(out, dim=1), torch.argmax(cond, dim=1)).double())
print(persent)

numpy

out = [[0, 3],
  [2, 3],
  [1, 0],
  [3, 4]]
cond = [[1, 0],
  [0, 1],
  [1, 0],
  [1, 0]] 
a = np.argmax(out,axis=1)
b = np.argmax(cond, axis=1)
persent = np.mean(np.equal(a, b) + 0)
# persent = np.mean(a==b + 0)
print(persent)

補(bǔ)充知識:python 多分類畫auc曲線和macro-average ROC curve

最近幫一個人做了一個多分類畫auc曲線的東西,不過最后那個人不要了,還被說了一頓,心里很是不爽,anyway,我寫代碼的還是要繼續(xù)寫代碼的,所以我準(zhǔn)備把我修改的代碼分享開來,供大家研究學(xué)習(xí)。處理的數(shù)據(jù)大改是這種xlsx文件:

IMAGE y_real y_predict 0其他 1豹紋 2彌漫 3斑片 4黃斑
/mnt/AI/HM/izy20200531c5/299/train/0其他/IM005111 (Copy).jpg 0 0 1 8.31E-19 7.59E-13 4.47E-15 2.46E-14
/mnt/AI/HM/izy20200531c5/299/train/0其他/IM005201 (Copy).jpg 0 0 1 5.35E-17 4.38E-11 8.80E-13 3.85E-11
/mnt/AI/HM/izy20200531c5/299/train/0其他/IM004938 (4) (Copy).jpg 0 0 1 1.20E-16 3.17E-11 6.26E-12 1.02E-11
/mnt/AI/HM/izy20200531c5/299/train/0其他/IM004349 (3) (Copy).jpg 0 0 1 5.66E-14 1.87E-09 6.50E-09 3.29E-09
/mnt/AI/HM/izy20200531c5/299/train/0其他/IM004673 (5) (Copy).jpg 0 0 1 5.51E-17 9.30E-12 1.33E-13 2.54E-12
/mnt/AI/HM/izy20200531c5/299/train/0其他/IM004450 (5) (Copy).jpg 0 0 1 4.81E-17 3.75E-12 3.96E-13 6.17E-13

導(dǎo)入基礎(chǔ)的pandas和keras處理函數(shù)

import pandas as pd

from keras.utils import to_categorical

導(dǎo)入數(shù)據(jù)

data=pd.read_excel('5分類新.xlsx')

data.head()

導(dǎo)入機(jī)器學(xué)習(xí)庫

from sklearn.metrics import precision_recall_curve
import numpy as np
from matplotlib import pyplot
from sklearn.metrics import f1_score
from sklearn.metrics import roc_curve, auc

把ground truth提取出來

true_y=data[' y_real'].to_numpy()

true_y=to_categorical(true_y)

把每個類別的數(shù)據(jù)提取出來

PM_y=data[[' 0其他',' 1豹紋',' 2彌漫',' 3斑片',' 4黃斑']].to_numpy()

PM_y.shape

計算每個類別的fpr和tpr

n_classes=PM_y.shape[1]
fpr = dict()
tpr = dict()
roc_auc = dict()
for i in range(n_classes):
 fpr[i], tpr[i], _ = roc_curve(true_y[:, i], PM_y[:, i])
 roc_auc[i] = auc(fpr[i], tpr[i])

計算macro auc

from scipy import interp
# First aggregate all false positive rates
all_fpr = np.unique(np.concatenate([fpr[i] for i in range(n_classes)]))
 
# Then interpolate all ROC curves at this points
mean_tpr = np.zeros_like(all_fpr)
for i in range(n_classes):
 mean_tpr += interp(all_fpr, fpr[i], tpr[i])
 
# Finally average it and compute AUC
mean_tpr /= n_classes
 
fpr["macro"] = all_fpr
tpr["macro"] = mean_tpr
roc_auc["macro"] = auc(fpr["macro"], tpr["macro"])

畫圖

import matplotlib.pyplot as plt
from itertools import cycle
from matplotlib.ticker import FuncFormatter
lw = 2
# Plot all ROC curves
plt.figure()
labels=['Category 0','Category 1','Category 2','Category 3','Category 4']
plt.plot(fpr["macro"], tpr["macro"],
   label='macro-average ROC curve (area = {0:0.4f})'
    ''.format(roc_auc["macro"]),
   color='navy', linestyle=':', linewidth=4)
 
colors = cycle(['aqua', 'darkorange', 'cornflowerblue','blue','yellow'])
for i, color in zip(range(n_classes), colors):
 plt.plot(fpr[i], tpr[i], color=color, lw=lw,
    label=labels[i]+'(area = {0:0.4f})'.format(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('1-Specificity (%)')
plt.ylabel('Sensitivity (%)')
plt.title('Some extension of Receiver operating characteristic to multi-class')
def to_percent(temp, position):
 return '%1.0f'%(100*temp)
plt.gca().yaxis.set_major_formatter(FuncFormatter(to_percent))
plt.gca().xaxis.set_major_formatter(FuncFormatter(to_percent))
plt.legend(loc="lower right")
plt.show()

展示

上述的代碼是在jupyter中運(yùn)行的,所以是分開的

以上這篇pytorch 多分類問題,計算百分比操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • keras建模的3種方式詳解

    keras建模的3種方式詳解

    這篇文章主要介紹了keras建模的3種方式詳解,keras是Google公司于2016年發(fā)布的以tensorflow為后端的用于深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練的高階API,因接口設(shè)計非常人性化,深受程序員的喜愛,需要的朋友可以參考下
    2023-08-08
  • Python+OpenCV實現(xiàn)基本的圖像處理操作

    Python+OpenCV實現(xiàn)基本的圖像處理操作

    說到圖像處理,那必然要提到opencv模塊了。本文將從最基本的opencv模塊在圖像的基本操作上說起,利用Python+OpenCV實現(xiàn)圖像的讀取保存等,感興趣的可以了解一下
    2022-07-07
  • json 轉(zhuǎn) mot17數(shù)據(jù)格式的實現(xiàn)代碼 (親測有效)

    json 轉(zhuǎn) mot17數(shù)據(jù)格式的實現(xiàn)代碼 (親測有效)

    這篇文章主要介紹了json 轉(zhuǎn) mot17數(shù)據(jù)格式的實現(xiàn)代碼 (親測有效),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Python要求O(n)復(fù)雜度求無序列表中第K的大元素實例

    Python要求O(n)復(fù)雜度求無序列表中第K的大元素實例

    這篇文章主要介紹了Python要求O(n)復(fù)雜度求無序列表中第K的大元素實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python?http通信接口開發(fā)示例

    python?http通信接口開發(fā)示例

    本文主要介紹了python?http通信接口開發(fā)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Python使用Tkinter實現(xiàn)滾動抽獎器效果

    Python使用Tkinter實現(xiàn)滾動抽獎器效果

    Tkinter 是 Python 的標(biāo)準(zhǔn) GUI(Graphical User Interface,圖形用戶接口)庫,Python 使用 Tkinter 可以快速地創(chuàng)建 GUI 應(yīng)用程序。這篇文章主要介紹了Python使用Tkinter實現(xiàn)滾動抽獎器,需要的朋友可以參考下
    2020-01-01
  • 使用python實現(xiàn)ftp的文件讀寫方法

    使用python實現(xiàn)ftp的文件讀寫方法

    今天小編就為大家分享一篇使用python實現(xiàn)ftp的文件讀寫方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 詳解python中的lambda與sorted函數(shù)

    詳解python中的lambda與sorted函數(shù)

    這篇文章主要介紹了python中的lambda與sorted函數(shù)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • python中的for循環(huán)

    python中的for循環(huán)

    Python for循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串。這篇文章主要介紹了python的for循環(huán),需要的朋友可以參考下
    2018-09-09
  • Python matplotlib以日期為x軸作圖代碼實例

    Python matplotlib以日期為x軸作圖代碼實例

    這篇文章主要介紹了Python matplotlib以日期為x軸作圖代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11

最新評論

衡阳县| 都安| 奇台县| 株洲市| 唐山市| 信丰县| 邛崃市| 拉萨市| 宁明县| 淄博市| 南丰县| 江都市| 兴安盟| 哈巴河县| 南宁市| 苍梧县| 定陶县| 泰州市| 宝坻区| 东乡| 陇南市| 垫江县| 德惠市| 察雅县| 横峰县| 乌鲁木齐县| 湘乡市| 陵川县| 临沂市| 城固县| 广平县| 兴国县| 百色市| 澎湖县| 秭归县| 定日县| 城步| 扎兰屯市| 姚安县| 阜新市| 南通市|