運用python為不平衡資料上取樣

2021-09-27 11:03:35 字數 2850 閱讀 6356

訓練資料train.list如下:

e:/mycode/fushikang2019/imgoct/abnor/171229154214_00011/s065_abnor.jpg1.將檔案中各個類別檔案(normal,abnor)解析出來,

並將各個類別檔案列表分別輸出到不同檔案,

輸出前較少類別檔案亂序並拷貝三份

#將檔案中各個類別檔案解析出來,

#並將各個類別檔案列表分別輸出到不同檔案,輸出前較少類別檔案亂序並拷貝三份

import os

import random

mf = open('train1.list','r')

aa =

nn =

for line in mf:

# print(line)

if 'abnor' in line:

# print(line)

if 'normal' in line:

#print(line)

mf.close()

"""aafile = open('train_abnor3.list','w')

for a in aa:

aafile.write(a)

random.shuffle(aa)

aafile.close()

aafile1 = open('train_abnor1.list','w')

for a1 in aa:

aafile1.write(a1)

aafile1.close()

aafile2 = open('train_abnor2.list','w')

for a2 in aa:

aafile2.write(a2)

aafile2.close()

"""aafile = open('train_abnor3.list','w')

for a in aa:

aafile.write(a)

random.shuffle(aa)

for a1 in aa:

aafile.write(a1)

random.shuffle(aa)

for a2 in aa:

aafile.write(a2)

aafile.close()

nnfile = open('train_normal.list','w')

for n in nn:

nnfile.write(n)

nnfile.close()

合併兩個生成的檔案的內容,並將合併後的內容亂序

#合併兩個檔案的內容,並將合併後的內容亂序

import os

import random

nfile = open('train_normal.list','r')

nn =

for line in nfile:

nfile.close()

afile = open('train_abnor3.list','r')

for line in afile:

#將列表中元素亂序

random.shuffle(nn)

rfile = open('train2.list','w')

for n1 in nn:

rfile.write(n1)

rfile.close()

資料不平衡問題

資料不平衡問題實際上指的就是y的分布相差很大的問題,又稱為類別不平衡問題。出現這種問題的原因是在實際取樣中,有可能會出現一類的y數量遠遠大於另一類的例子。乙個很明顯的例子就是在做信用卡還款 的時候,一定是按時還款的人佔據絕大多數,不按時還款的人佔一小部分,那如果機器無腦 新客戶一定會還款,正確率是很...

資料不平衡分類問題

不平衡分類問題是指訓練樣本數量在類間分布不平衡的模式分類問題。在實際應用中,不平衡問題很常見。有些問題其原始資料的分布就存在不平衡,如通過衛星雷達檢測海面石油油汙 監測信用卡非法交易 發掘基因序列中編碼資訊以及醫學資料分類等。所謂的資料不平衡是指 資料集樣本類別極不均衡。不平衡資料的學習即需要在如此...

不平衡資料處理

在做實驗中遇到了非平衡資料集,導致實驗結果很憂傷,資料類別不均對模型訓練有挺大影響,尤其是在類別極度不均的時候。目前還沒有很好的解決方法,還處於查詢資料,比著葫蘆找葫蘆的過程中,記錄一下,或許能有所啟發。對於不平衡資料,其實類別精度 precise 和召回率 recall 或者是準確率 accura...