對python打亂數(shù)據(jù)集中X,y標簽對的方法詳解
今天踩過的兩個小坑:
一.用random的shuffle打亂數(shù)據(jù)集中的數(shù)據(jù)-標簽對
index=[i for i in range(len(X_batch))] # print(type(index)) index=random.shuffle(index)
結果shuffle完以后index變成None了,看了下api,這樣說明的:

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

因此以上方式就可以打亂index的順序,并以新順序輸出batch中的數(shù)據(jù)。
二.整體引用index這個list中的數(shù)據(jù)
因為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是數(shù)組,index是數(shù)組,就可以。
所以代碼改成了:
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打亂數(shù)據(jù)集中X,y標簽對的方法詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Pytorch實現(xiàn)圖像識別之數(shù)字識別(附詳細注釋)
這篇文章主要介紹了Pytorch實現(xiàn)圖像識別之數(shù)字識別(附詳細注釋),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-05-05
Python2 Selenium元素定位的實現(xiàn)(8種)
這篇文章主要介紹了Python2 Selenium元素定位的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02
windows上安裝python3教程以及環(huán)境變量配置詳解
這篇文章主要介紹了windows上安裝python3教程以及環(huán)境變量配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07

