溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

對python打亂數據集中X,y標簽對的方法詳解

發布時間:2020-09-05 22:18:48 來源:腳本之家 閱讀:318 作者:Lychee0814 欄目:開發技術

今天踩過的兩個小坑:

一.用random的shuffle打亂數據集中的數據-標簽對

index=[i for i in range(len(X_batch))]
# print(type(index))
index=random.shuffle(index)

結果shuffle完以后index變成None了,看了下api,這樣說明的:

對python打亂數據集中X,y標簽對的方法詳解

這個函數如果返回值,就返回None,所以用index=balabala就把index的內容改變了。去掉index=random.shuffle(index)等號前面的值,這樣利用shuffle函數就可以直接將index的內容打亂,并且不返回任何值。

對python打亂數據集中X,y標簽對的方法詳解

因此以上方式就可以打亂index的順序,并以新順序輸出batch中的數據。

二.整體引用index這個list中的數據

因為index是一個list,所以代碼這樣寫:

X_batch=X_batch[index]

Y_batch=Y_batch[index]

是有問題的,報錯是:TypeError: list indices must be integers or slices, not list.

這是因為我的X_batch,Y_batch都是list,直接引用index是錯誤的。而可以直接引用的方法是如果X_batch,Y_batch是數組,index是數組,就可以。

所以代碼改成了:

X_batch,Y_batch=data_generator(data_path)
index=[i for i in range(len(X_batch))]
# print(type(index))
random.shuffle(index)
index=np.array(index)

X_batch=[np.array(X_batch)[index]]
Y_batch=[np.array(Y_batch)[index]]

參考代碼:

對python打亂數據集中X,y標簽對的方法詳解

以上這篇對python打亂數據集中X,y標簽對的方法詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女