当前位置: 首页 > >

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.25random_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]

转载于:https://www.cnblogs.com/iwangwei/p/10563999.html



友情链接: