对python打乱数据集中X, y标签对的方法详解

  

<强>今天踩过的两个小坑:

  

一。用随机的洗牌打乱数据集中的数据,标签对

        指数=[我的范围(len (X_batch)))   #打印(类型(指数))   指数=random.shuffle(指数)      

结果洗完以后指数变成了,看了下api,这样说明的:

  

对python打乱数据集中X, y标签对的方法详解

  

这个函数如果返回值,就返回,所以用指数=balabala就把指数的内容改变了。去掉指数=random.shuffle(索引)等号前面的值,这样利用洗牌函数就可以直接将指数的内容打乱,并且不返回任何值。

  

对python打乱数据集中X, y标签对的方法详解

  

因此以上方式就可以打乱指数的顺序,并以新顺序输出批中的数据。

  

二。整体引用指数这个列表中的数据

  

<强>因为指数是一个列表,所以代码这样写:

        X_batch=X_batch(指数)      Y_batch=Y_batch(指数)   之前      

是有问题的,报错是:TypeError:列表索引必须是整数或片,而不是列表。

  

这是因为我的X_batch, Y_batch都是列表,直接引用指数是错误的,而可以直接引用的方法是如果X_batch, Y_batch是数组,指数是数组,就可以。

  

<强>所以代码改成了:

        X_batch Y_batch=data_generator (data_path)   指数=[我的范围(len (X_batch)))   #打印(类型(指数))   random.shuffle(索引)   指数=np.array(指数)      X_batch=[np.array (X_batch)[指数]]   Y_batch=[np.array (Y_batch)[指数]]   之前      

参考代码:

  

对python打乱数据集中X, y标签对的方法详解

  

以上这篇对python打乱数据集中X, y标签对的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

对python打乱数据集中X, y标签对的方法详解