Sklearn——数据集分割

Sklearn——数据集分割

通常,在训练有监督的机器学习模型的时候,会将数据划分为训练集**(Training set)、验证集(Validation set)和测试集(Test set)**,目的为了能够选出效果(可以理解为准确率)最好的、泛化能力最佳的模型。

sklearn.model_selection.train_test_split 随机划分训练集和测试集

train_test_split()函数是用来随机划分样本数据为训练集和测试集的,当然也可以人为的切片划分。

优点:随机客观的划分数据,减少人为因素

train_X,test_X,train_y,test_y = train_test_split(train_data,train_target,test_size=0.3,random_state=5)

参数解释:
train_data:待划分样本数据
train_target:待划分样本数据的结果(标签)
test_size:测试数据占样本数据的比例,若整数则样本数量
random_state:设置随机数种子,保证每次都是同一个随机数。若为0或不填,则每次得到数据都不一样

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

# 重点和难点:
随机数的产生取决于种子,随机数和种子之间的关系遵从以下两个规则:
种子不同,产生不同的随机数;种子相同,即使实例不同也产生相同的随机数。

# 注意事项:
经过观察,使用train_test_split进行分割后,并不保证每个子集中正负样本的比例与原数据集一致。

详情参考官网文档:
http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html#sklearn.model_selection.train_test_split

猜你喜欢

转载自blog.csdn.net/GODSuner/article/details/113706621