sklearn.model_selection.train_test_split随机划分训练集和测试集

1 函数用途

train_test_split()是交叉验证中常用的函数,功能是将数组或矩阵按比例随机划分为训练集和测试集,使用方法为:

X_train,X_test, y_train, y_test =cross_validation.train_test_split(train_data,train_target,test_size=0.4, random_state=0, shuffle=True)

2 参数解释:

  • train_data:所要划分的样本特征集
  • train_target:所要划分的样本结果
  • test_size:如果为小数则代表样本占比(0到1),如果是整数则代表样本的数量,默认为0.25
  • random_state:是随机数的种子,默认为None。如果种子相同,则随机数相同,如果种子不同,则随机数不同。在需要重复试验的时候,保证得到一组一样的随机数。比如你每次都填1,其他参数一样的情况下你得到的随机数组是一样的。但填0或不填,则代表随机数的种子是一个随机值,每次结果都不同。
  • shuffle:划分前是否对数组或矩阵进行洗牌,默认为True。
import numpy as np
from sklearn.model_selection import train_test_split
X = np.arange(10).reshape((5, 2))
y = range(5)

其中X,y分别为:

X= [[0 1]
 [2 3]
 [4 5]
 [6 7]
 [8 9]]
y= [0, 1, 2, 3, 4]

对数据集进行划分,训练集占70%,测验集占30%,固定随机数的种子,划分前不重新洗牌:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1,shuffle=False)

划分完的数据集如下:

X_train= [[0 1]
 [2 3]
 [4 5]]
y_train= [0, 1, 2]
X_test= [[6 7]
 [8 9]]
y_test= [3, 4]
posted @ 2019-03-20 11:52  王小薇  阅读(1465)  评论(0编辑  收藏  举报