数据分析-打乱数据集

我们在进行机器学习的时候,有时得到的数据都是按顺序排列的。比如:

[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2

2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

2 2]

利用留出法讲数据分成训练集和验证集,你会发现留出验证集标签都是[2],不利于学习。

下面是两种打乱数据的方法:

permutation传入参数要打乱数组的长度,返回原数组索引的乱序,不改变原数组顺序。

二、利用sklearn的train_test_split

fromsklearnimportdatasets

fromsklearn.model_selection \

importtrain_test_split

iris=datasets.load_iris()

X_train, X_test, y_train, y_test=\

train_test_split(

iris['data'],

iris['target'],

test_size=0.4,

random_state=)

第一个参数:所要划分的样本特征集

第二个参数: 所要划分的样本结果

第三个参数: 样本占比,如果是整数的话就是样本的数量。默认0.25,即75%训练数据,25%测试数据。

第四个参数:随机数生成器的种子,相同种子生成的函数结果相同。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181214G1LDFR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券