亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python算法測試結(jié)果自動保存到excel表格的實(shí)現(xiàn)步驟

 更新時(shí)間:2023年12月20日 10:37:13   作者:Coding的葉子  
我們在進(jìn)行算法評估是通常會針對每個(gè)樣本的算法處理結(jié)果進(jìn)行統(tǒng)計(jì),例如每個(gè)樣本正確預(yù)測數(shù)量、漏檢數(shù)量和誤檢數(shù)量、精度等,本文小編將給大家介紹python算法測試結(jié)果自動保存到excel表格的實(shí)現(xiàn)步驟,感興趣的朋友可以參考下

前言

我們在進(jìn)行算法評估是通常會針對每個(gè)樣本的算法處理結(jié)果進(jìn)行統(tǒng)計(jì),例如每個(gè)樣本正確預(yù)測數(shù)量、漏檢數(shù)量和誤檢數(shù)量、精度等。特別是,算法驗(yàn)證是比較關(guān)注錯(cuò)誤識別的樣本,把每個(gè)樣本的預(yù)測結(jié)果寫入excel表格,可以進(jìn)行快速篩查和定位,并且結(jié)果更加直觀。

1 python excel操作

這里會將算法結(jié)果保存成.xls格式的excel文件,所需的python庫為xlwt。如果沒有xlwt庫,請使用pip進(jìn)行安裝。

pip install xlwt

1.1 excel文件創(chuàng)建

excel文件創(chuàng)建分為兩步,第一步是定義表格的編碼方式,第二步是為表格創(chuàng)建表單。

myWorkbook = xlwt.Workbook(encoding = 'utf-8')
mySheet = myWorkbook.add_sheet('Sheet1')

1.2 單元格賦值

單元格賦值的方式是采用write函數(shù),第一個(gè)參數(shù)表示第row+1行,row=0表示第一行。第二個(gè)參數(shù)表示第col+1列,col=0表示第1列。參數(shù)label是要寫入單元格的內(nèi)容。

mySheet.write(row, col, label='測試')

1.3 表格保存

表格保存的文件后綴為.xls。

savepath = 'test.xls'
myWorkbook.save(savepath)

2 定義算法結(jié)果保存函數(shù)

函數(shù)名稱為write_result_to_excel,定義如下。

def write_result_to_excel(files, fps, fns, prs, lbs, savepath='res.xls')
  • files:list,每個(gè)元素為樣本名稱字符串。
  • fps:list,每個(gè)元素為樣本中誤檢目標(biāo)數(shù)量。
  • fns:list,每個(gè)元素為樣本中漏檢目標(biāo)數(shù)量。
  • prs:list,每個(gè)元素為樣本中算法預(yù)測目標(biāo)數(shù)量。
  • lbs:list,每個(gè)元素為樣本中真實(shí)標(biāo)簽?zāi)繕?biāo)數(shù)量。
  • savepath:excel表格保存路徑。

3 函數(shù)完整定義

可以根據(jù)自身需要對函數(shù)進(jìn)行更改。

def write_result_to_excel(files, fps, fns, prs, lbs, savepath='res.xls'):
    myWorkbook = xlwt.Workbook(encoding = 'utf-8')
    mySheet = myWorkbook.add_sheet('Sheet1')
    mySheet.write(0, 0, label='樣本名稱')
    mySheet.write(0, 1, label='目標(biāo)標(biāo)簽個(gè)數(shù)')
    mySheet.write(0, 2, label='預(yù)測標(biāo)簽個(gè)數(shù)')
    mySheet.write(0, 3, label='正確預(yù)測個(gè)數(shù)')
    mySheet.write(0, 4, label='錯(cuò)誤預(yù)測個(gè)數(shù)')
    mySheet.write(0, 5, label='漏檢目標(biāo)個(gè)數(shù)')
    for i in range(len(files)):
        mySheet.write(i+1, 0, label=files[i])
        mySheet.write(i+1, 1, label=lbs[i])
        mySheet.write(i+1, 2, label=prs[i])
        mySheet.write(i+1, 3, label=lbs[i]-fns[i])
        mySheet.write(i+1, 4, label=fps[i])
        mySheet.write(i+1, 5, label=fns[i]) 
   
    fp = sum(fps)
    fn = sum(fns)
    pr = sum(prs)
    lb = sum(lbs)
 
    residual  = fn / lb * 100
    recall    = 100 - residual
    error     = fp / pr * 100
    precision = 100 - error
    accuracy  = recall * precision / 100
    mySheet.write(i+2, 0, label='總計(jì)')
    mySheet.write(i+2, 1, label=lb)
    mySheet.write(i+2, 2, label=pr)
    mySheet.write(i+2, 3, label=lb-fn)
    mySheet.write(i+2, 4, label=fp)
    mySheet.write(i+2, 5, label=fn)
 
    mySheet.write(i+3, 1, label='檢出率(%)')
    mySheet.write(i+3, 2, label='漏檢率(%)')
    mySheet.write(i+3, 3, label='準(zhǔn)確率(%)')
    mySheet.write(i+3, 4, label='誤檢率(%)')
    mySheet.write(i+3, 5, label='精度(%)')
 
    mySheet.write(i+4, 1, label=recall)
    mySheet.write(i+4, 2, label=residual)
    mySheet.write(i+4, 3, label=precision)
    mySheet.write(i+4, 4, label=error)
    mySheet.write(i+4, 5, label=accuracy)
    myWorkbook.save(savepath)
    s = '目標(biāo)標(biāo)簽個(gè)數(shù):{0}\n預(yù)測標(biāo)簽個(gè)數(shù):{1}\n正確預(yù)測個(gè)數(shù):{2}\n錯(cuò)誤預(yù)測個(gè)數(shù):{3}\n漏檢目標(biāo)個(gè)數(shù):{4}\n'.format(lb, pr, lb-fn, fp, fn)
    s += '檢出率recall:{0}\n漏檢率residual:{1}\n準(zhǔn)確率precision:{2}\n誤檢率error:{3}\n精度accuracy:{4}'.format(recall, residual, precision, error, accuracy)
    print(s)

以上就是python算法測試結(jié)果自動保存到excel表格的實(shí)現(xiàn)步驟的詳細(xì)內(nèi)容,更多關(guān)于python算法測試結(jié)果保存excel的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python urllib庫如何添加headers過程解析

    Python urllib庫如何添加headers過程解析

    這篇文章主要介紹了Python urllib庫如何添加headers過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • pytorch中的dataloader使用方法詳解

    pytorch中的dataloader使用方法詳解

    這篇文章主要介紹了pytorch中的dataloader使用方法詳解,構(gòu)建自己的dataloader是模型訓(xùn)練的第一步,本篇文章介紹下pytorch與dataloader以及與其相關(guān)的類的用法,需要的朋友可以參考下
    2023-11-11
  • 使用Python設(shè)置PDF中圖片的透明度的實(shí)現(xiàn)方法

    使用Python設(shè)置PDF中圖片的透明度的實(shí)現(xiàn)方法

    在PDF文檔的設(shè)計(jì)與內(nèi)容創(chuàng)作過程中,圖像的透明度設(shè)置是一個(gè)重要的操作,尤其是在處理圖文密集型PDF文檔時(shí),本文將介紹如何使用Python添加指定透明度的圖片到PDF文檔或調(diào)整PDF文檔中現(xiàn)有圖片的透明度,需要的朋友可以參考下
    2024-09-09
  • Pytorch模型微調(diào)fine-tune詳解

    Pytorch模型微調(diào)fine-tune詳解

    微調(diào)(fine-tune)通過使用在大數(shù)據(jù)上得到的預(yù)訓(xùn)練好的模型來初始化自己的模型權(quán)重,從而提升精度,這篇文章主要介紹了Pytorch模型微調(diào)(fine-tune),需要的朋友可以參考下
    2023-01-01
  • TensorFlow人工智能學(xué)習(xí)Keras高層接口應(yīng)用示例

    TensorFlow人工智能學(xué)習(xí)Keras高層接口應(yīng)用示例

    這篇文章主要為大家介紹了TensorFlow人工智能學(xué)習(xí)中Keras高層接口的應(yīng)用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • 利用Python實(shí)現(xiàn)繪制論文中的曲線圖

    利用Python實(shí)現(xiàn)繪制論文中的曲線圖

    這篇文章主要為大家詳細(xì)介紹了如何利用Python語言實(shí)現(xiàn)繪制論文中需要的曲線圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-03-03
  • python實(shí)例化對象的具體方法

    python實(shí)例化對象的具體方法

    在本篇文章里小編給大家整理的是關(guān)于python實(shí)例化對象的具體方法,有興趣的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • 詳細(xì)總結(jié)Python常見的安全問題

    詳細(xì)總結(jié)Python常見的安全問題

    今天帶各位學(xué)習(xí)一下Python安全問題,文中介紹的非常詳細(xì),對正在學(xué)習(xí)python的小伙伴有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • Python?中用多種方式實(shí)現(xiàn)單例模式

    Python?中用多種方式實(shí)現(xiàn)單例模式

    單例模式是一種常用的軟件設(shè)計(jì)模式,該模式的主要目的是確保某一個(gè)類只有一個(gè)實(shí)例存在,本文給大家分享Python?實(shí)現(xiàn)單例模式的五種寫法,感興趣的朋友一起看看吧
    2022-11-11
  • pyQt5實(shí)時(shí)刷新界面的示例

    pyQt5實(shí)時(shí)刷新界面的示例

    今天小編就為大家分享一篇pyQt5實(shí)時(shí)刷新界面的示例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06

最新評論