使用train_test_split命令来做训练集和数据集的数据划分,方便之后的模型训练和验证工作。
一般机器学习的流程中,为了使最终训练好的模型在真实数据中得到好的预测效果,我们在模型训练过程中将数据分成训练集和测试集(还可以添加验证集,此处暂且忽略)。我们可以使用训练集的数据来训练模型,然后用测试集上的误差作为最终模型在应对现实场景中的泛化误差。有了测试集,我们想要验证模型的最终效果,只需将训练好的模型在测试集上计算误差,即可认为此误差即为泛化误差的近似,我们只需让我们训练好的模型在测试集上的误差最小即可。
语法
| ..
| train_test_split split_ratio=<float> shuffle=<True <default>|False> random_state=<int>
参数说明
split_ratio: 用来指定测试集和训练集的划分比例,默认是0.75,即测试集:训练集= 3:1。一般建议划分比例至少在0.6以上。
shuffle: 用来指定将数据按顺序或乱序划分,默认是True,即乱序划分。顺序划分一般用在当数据的排列顺序有意义的时候,比如在时间序列分析的场景中,需要将数据按照时间序列顺序划分。
random_state: 用来指定随机种子,默认是1234。随机种子可以是任意整数,用来保证在乱序划分的情况下,多次划分结果保持一致。
示例用法
- 将原始数据按4:1的比例做划分。返回结果新增dataset字段,表明该行数据属于测试集(test)还是训练集(train)。
repo="_internal"
| train_test_split split_ratio=0.8
文档反馈
(如有产品使用问题,请 提交工单)