train_test_split()函数
作用:是用来随机划分样本数据为训练集和测试集的
完整格式为:
X_train,X_test, y_train, y_test =sklearn.model_selection.train_test_split(train_data,train_target,test_size=0.4, random_state=0,stratify=y_train)
- train_target为所要划分的样本结果。
- test_size与train_size为所要划分的数据比例,默认为0.25与0.75
- random_state称之为随机数种子,当random为none时,每一次划分的数据都是随机的。当其为整数时,划分的数字为固定的。
- stratify用于当数据不平衡时,可以按比例平衡分配,stratify=x时,按x比例分配,stratify=y时按,y的比例分配,以下为实践代码。
#显示分类器的作用
import numpy as np
from sklearn.model_selection import train_test_split
x = np.arange(20)
import numpy as np
from sklearn.model_selection import train_test_split
x = np.arange( 20)
y = [ 'A','B' ,'A','A' , 'A','B' ,'A','B','B','A','A','B','B','A','A','B','A','B','A','A']
#test_size 与train_size 参数是用来分离数据的比例 默认情况下test_size为0.25而train_size为0.75
X_train , x_test , y_train,y_test = train_test_split(x,y,test_size=0.3,random_state=None)
#当random_state=None时数据不同 为整数时每次的数据都相同
print(x_test)
print(y_test)
print(X_train)
print(y_train)
#stratify参数可以处理数据不不平衡的问题。如下 stratify=x就是按x的比例去分配数据 =y同理
x = np.arange(20)
X_train , x_test , y_train,y_test = train_test_split(x,y,test_size=0.3,random_state=None,stratify=y)
print("对stratify参数的测试")
print(x_test)
print(y_test)
print(X_train)
print(y_train)