train_test_split划分数据集时如何将全部数据用作训练集
问题原因与解决方法
报错翻译
train_size=212 应当为正数且小于样本总数212,或是取值在(0, 1)区间内的浮点数
报错原因
train_test_split 是sklearn提供的数据集拆分工具,设计逻辑是将原始数据拆分为训练集、测试集两个子集,要求测试集至少包含1条样本,因此train_size参数不能等于总样本数,你传入212刚好等于总样本量,触发了参数校验错误。
全量数据训练的实现方法
你不需要调用train_test_split做拆分,直接将全量数据赋值给训练集变量即可,代码如下:
Data_Train = DATA Target_Train = TARGET
如果为了兼容后续已写好的代码逻辑,必须保留Data_Test、Target_Test变量,也可以手动给两个变量赋值为空值:
Data_Train = DATA Target_Train = TARGET Data_Test = [] Target_Test = []
如果一定要用train_test_split实现,也可以将test_size设为0,同时关闭打乱避免警告(仅适用于sklearn 0.21及以上版本):
from sklearn.model_selection import train_test_split Data_Train, Data_Test, Target_Train, Target_Test = train_test_split(DATA, TARGET, test_size=0, shuffle=False, random_state=999)
内容的提问来源于stack exchange,提问作者Mamta
相关产品推荐
相关产品推荐

