关于train_test_split函数是否打乱数据的验证
2019-10-11 本文已影响0人
一位学有余力的同学
之前一直在使用train_test_split
函数划分训练集和测试集,但是一直不清楚它是怎么划分的,有没有打乱数据集,如果直接在最后取部分数据作为测试集在某些数据集中是很影响训练效果的。验证如下:
import numpy as np
from sklearn.model_selection import train_test_split
data = np.array([[1,5,9],[2,8,6],[3,8,6],[4,2,6],[5,2,9],[6,7,9]])
data
label = np.array([1,2,3,4,5,6])
label
data_train, data_test, label_train, label_test = train_test_split(data, label, test_size = 0.3)
结果发现,训练数据是被打乱了的
训练集和测试集划分
实际上train_test_split
函数有三个参数:
train_test_split (*arrays,test_size, train_size, rondom_state=None, shuffle=True, stratify=None)
shuffle
默认为True
,所以数据集是打乱的。