train_test_split作用

在机器学习中,用户可调用该函数,随机将样本集合划分为训练集和测试集,并返回划分好的训练集和测试集数据。

参数介绍

语法:

X_train,X_test, y_train, y_test =cross_validation.train_test_split(X,y,test_size, random_state)
parm意义
train_data待划分的样本特征集合
x_train划分出的训练数据集数据
y_train划分出的训练数据集的标签
x_test划分出的测试数据集数据
y_test划分出的测试数据集的标签
test_size若在0~1之间,为测试集样本数目与原始样本数目之比;若为整数,则是测试集样本的数目
random_state随机数种子,不同的随机数种子划分的结果不同
stratifystratify是为了保持split前类的分布,例如训练集和测试集数量的比例是 A:B= 4:1,等同于split前的比例(80:20)。通常在这种类分布不平衡的情况下会用到stratify。

示例

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split #切分数据集为训练集和测试集
iris =load_iris()
x = iris.data
y = iris.target.reshape(-1,1)
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=35, stratify=y)
print(x_train.shape, y_train.shape)
print(x_test.shape, y_test.shape)

(105, 4) (105, 1)
(45, 4) (45, 1)

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐