將資料集簡單地劃分為測試集以及訓練集
import os
import random
train_percent =
.9# 訓練集所佔比例
valid_percent =
0.1# 測試集所佔比例
xmlfilepath =
'data-delete'
#所在地相對路徑
total_file = os.listdir(xmlfilepath)
#以列表地形式將資料夾中的名字羅列出
num =
len(total_file)
list
=range
(num)
tr =
int(num * train_percent)
#訓練集的個數
tval =
int(num * valid_percent)
trainval = random.sample(
list
, tval)
#在list裡面隨機抽取 tval個數重新構成乙個列表,當作驗證集
train = random.sample(
list
, tr)
ftrain =
open
('train.txt'
,'w'
)fval =
open
('valid.txt'
,'w'
)for i in
list
: name =
"d:\yolov4-zhaban\data\data-delete/"
+ total_file[i]
+'\n'
if i in trainval:
fval.write(name)
else
: ftrain.write(name)
ftrain.close(
)fval.close(
)#啊建立完畢,關閉檔案
劃分測試集與訓練集
cnn datasets為自有資料集,np.random.permutation操作為打亂資料 函式shuffle也是是對原來的陣列進行重新洗牌 即隨機打亂原來的元素順序 區別在於shuffle直接在原來的陣列上進行操作,改變原來陣列的順序,無返回值。而permutation不直接在原來的陣列上進行...
Matlab劃分測試集和訓練集
x是原資料集,分出訓練樣本和測試樣本 ndata,d size x ndata樣本數,d維數 r randperm ndata 1到n這些數隨機打亂得到的乙個隨機數字序列作為索引 xtest x r 1 num test 以索引的前1000個資料點作為測試樣本xtest r 1 num test x...
訓練集,測試集和驗證集劃分的意義
訓練集 驗證集和測試集的意義 有了模型後,訓練集就是用來訓練引數的,說準確點,一般是用來梯度下降的。而驗證集基本是在每個epoch完成後,用來測試一下當前模型的準確率。因為驗證集跟訓練集沒有交集,因此這個準確率是可靠的。那麼為啥還需要乙個測試集呢?這就需要區分一下模型的各種引數了。事實上,對於乙個模...