数据集划分
一般在日常工作中我们会将数据集拆分为训练集(train_set)和测试集(test_set)
- 训练集:一般用于训练模型,需要尽可能保证训练的数据具有代表性。
- 测试集:用于测试模型,检测模型的性能(包括了运行时间,模型的效果等)
trian_test_split(*arrays,train_size,test_size,ramdom_state)
- *arrays:表示需要进行划分的数据,可以为多个
- train_size:训练集所占总数据的比例,0-1的浮点数,无默认
- test_size:测试集所占总数据的比例,和train_size相加为1,在填写了train_size的情况下可以省略
- random_state:设置随机种子,保证后续每次划分的结果相同
from sklearn.datasets import load_iris # 鸢尾花
from sklearn.model_selection import train_test_split
iris = load_iris()
X = iris['data']
y = iris['target']
X_train,X_test,y_train,y_test = train_test_split(X,y,train_size=0.8,random_state = 123)
print(X_train.shape,X_test.shape,y_train.shape,y_test.shape)
(120, 4) (30, 4) (120,) (30,)