sklearn——train

sklearn——train,第1张

sklearn——train

函数原型:

sklearn.model_selection.train_test_split(train_data,train_target,test_size=0.4,

random_state=0,stratify=y_train)

函数功能:

将原始数据按照比例分割为“测试集”和“训练集”。返回四个数组。 

参数说明:

train_data:要划分的样本集。

train_target:要划分的样本标签集。

test_size:测试集所占的比例大小。

random_state:随机数种子。

随机数种子:其实就是该组随机数的编号,在需要重复试验的时候,保证得到一组一样的随机数。比如你每次都填1,其他参数一样的情况下你得到的随机数组是一样的。但填0或不填,每次都会不一样。

stratify:是为了保持split前类的分布。

比如有100个数据,80个属于A类,20个属于B类。如果train_test_split(... test_size=0.25, stratify = y_all), 那么split之后数据如下: 
training: 75个数据,其中60个属于A类,15个属于B类。 
testing: 25个数据,其中20个属于A类,5个属于B类。 

再如----stratify =train_target  : 依据标签y,按原数据y中各类比例,分配给train和test,使得train和test中各类数据的比例与原数据集一样。 

函数的返回值有四个值:

X_train:训练特征集

X_test:训练标签集

y_train:测试特征集

y_test:测试标签集

eg:

import numpy as np
from sklearn.model_selection import train_test_split
X=np.arange(10)
y=[0,1,1,0,1,1,1,1,0,0,]
##划分训练集占比0.8,训练集占比0.2  随机数种子为0
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2, random_state=0)
print("X=",X)
print("X_train=",X_train)
print("X_test=",X_test)
print("y_train=",y_train)
print("y_test=",y_test)

result:
X= [0 1 2 3 4 5 6 7 8 9]
X_train= [4 9 1 6 7 3 0 5]
X_test= [2 8]
y_train= [1, 0, 1, 1, 1, 0, 0, 1]
y_test= [1, 0]

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5161445.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存