python檢視資料集的類別 數量分布等

2021-10-09 19:51:38 字數 2639 閱讀 9578

檢視是否存在樣本不均衡問題,同時方便選擇合適的資料預處理方式。
#%%

from glob import glob

import pandas as pd

import numpy as np

import os

import cv2

from pil import image

from matplotlib import pyplot as plt

from tqdm import tqdm

#%%# 訓練集探索

train_dataset_path =

'../train_data'

image_fns = glob(os.path.join(train_dataset_path,

'*',

'*.*'))

label_names =

[s.split(

'/')[-

2]for s in image_fns]

unique_labels =

list

(set

(label_names)

)#%%

# 類別數

print

(len

(unique_labels)

)#%%

# 總數

print

(len

(image_fns)

)#%%

# 每個類別的數量

dir_lst = os.listdir(train_dataset_path)

number_lst =

for i in dir_lst:

path = os.path.join(train_dataset_path,i)

if os.path.isdir(path)

: num =

len(glob(os.path.join(path,

'*')))

if num ==0:

print

(i)#%%

plt.hist(number_lst, bins=

40, normed=

0, facecolor=

"blue"

, edgecolor=

"black"

, alpha=

0.7)

;#%%

print

(np.

max(number_lst)

)print

(np.

min(number_lst)

)#%%

dir_lst = os.listdir(train_dataset_path)

number_lst =

size_lst =

for i in tqdm(dir_lst)

: path = os.path.join(train_dataset_path,i)

if os.path.isdir(path)

: img_lst = glob(os.path.join(path,

'*')

)for j in img_lst:

open

(j).size)

#%%temp = pd.value_counts(size_lst)

#%%# 解析度分布

print

(temp[temp>

200]

)#%%

rd_index = np.random.randint(

len(image_fns)

)plt.imshow(plt.imread(image_fns[rd_index]))

#%%# 測試集探索

train_dataset_path =

'../test_data_a'

image_gal = glob(os.path.join(train_dataset_path,

'gallery'

,'*.*'))

image_que = glob(os.path.join(train_dataset_path,

'query'

,'*.*'))

#%%print

(len

(image_gal)

)print

(len

(image_que)

)#%%

size_lst_gal =

for i in tqdm(image_gal)

:open

(i).size)

#%%size_lst_que =

for i in tqdm(image_que)

:open

(i).size)

#%%temp_gal = pd.value_counts(size_lst_gal)

temp_que = pd.value_counts(size_lst_que)

#%%print

(temp_gal[temp_gal>

200]

)#%%

print

(temp_que[temp_que>

100]

)#%%

seaborn 類別資料視覺化

第七課 資料視覺化 第15節 類別資料視覺化 類別散布圖 類別內資料分布 類別內統計圖 import pandas as pd import seaborn as sns 載入小費資料集 tips data sns.load dataset tips tips data.head total bil...

python資料預處理之將類別資料轉換為數值的方法

在進行python資料分析的時候,首先要進行資料預處理。有時候不得不處理一些非數值類別的資料,嗯,今天要說的就是面對這些資料該如何處理。目前了解到的大概有三種方法 1,通過labelencoder來進行快速的轉換 3,通過get dummies方法來轉換。import pandas as pd fr...

python製作單類別檢測資料集

為了訓練自己的yolov3,但是訓練乙個公開資料集需要的時間太長了,所以就隨手做了乙個製作資料集的小demo,不長比較簡單,但是只能標註矩形框,而且只可以製作單類別資料集。製作前的準備 將需要的放在乙個資料夾下,最好都是乙個格式的 生成的資料集格式 每行代表乙個影象標籤,格式為 影象名 x1,y1,...