+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-03(2)

2019-04(1)

2019-06(1)

2019-07(6)

2019-08(122)

数据集乱序的几种方法

发布于2020-10-27 19:48     阅读(83)     评论(0)     点赞(1)     收藏(2)


0

1

2

3

4

5

6

7

8

random.shuffle和numpy.random.shuffle的区别

random.shuffle只能对一维list和两维list进行数据打乱
numpy.random.shuffle可以对列表和数组进行数据打乱

1. 使用索引值

from random import shuffle

x_train, y_train = load_data()
# 创建索引
index = [i for i in range(len(x_train))]
# 打乱索引
shuffle(index)
# 获得打乱的数据集
x_train = x_train[index]
y_train = y_train[index]

2. 使用zip()

x_train, y_train=load_data()
result = list(zip(x_train, y_train))  
# 打乱的索引序列
np.random.shuffle(result)
x_train,y_train = zip(*result)

zip()和zip(*)的含义:

a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b)    
  # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
zip(a,c)              
 # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
zip(*zipped)         
 # 与 zip 相反,可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]

3. 使用随机数种子

x_train, y_train = load_data()
#随机数种子,保证数据和标签打乱顺序一致
seed=77
random.seed(seed)
random.shuffle(x_train)
random.seed(seed)
random.shuffle(y_train)

4. skit-learn中的shuffle,快速打乱

from sklearn.utils import shuffle
x_train, y_train = shuffle(x_train, y_train, random_state=0)

原文链接:https://blog.csdn.net/nyz5211314/article/details/109291434

0

1

2

3

4

5

6



所属网站分类: 技术文章 > 博客

作者:我是天上的仙女

链接: https://www.pythonheidong.com/blog/article/608977/343ba9bac422a3280429/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

1 0
收藏该文
已收藏

评论内容:(最多支持255个字符)