调用train_test_split报错输入变量样本数不一致问题求助
报错原因
你在调用train_test_split时传入的标签数据维度和特征数据维度不匹配:
- 特征数据
X_data的shape为(200000, 6),第一维对应200000条样本 - 你传入的标签为
Y_data[0],这是取Y_data的第0行数据,shape仅为(6,),对应6个值,和特征数据的样本数完全不一致,因此触发样本数不匹配的ValueError。
修复方案
根据你的实际需求二选一即可:
- 如果你需要将全部6列Y数据参与拆分,直接将传入参数改为
Y_data即可,修改后代码如下:
ts1 = 0.2 rs1 = 42 X_train, X_test, Y_train, Y_test = train_test_split(X_data, Y_data, test_size = ts1, random_state = rs1)
- 如果你只需要取Y_data的第0列作为标签,注意取列的语法是
Y_data[:, 0],该值的shape为(200000,),和特征数据的样本数匹配,修改后代码如下:
ts1 = 0.2 rs1 = 42 X_train, X_test, Y_train, Y_test = train_test_split(X_data, Y_data[:, 0], test_size = ts1, random_state = rs1)
内容的提问来源于stack exchange,提问作者sempersax
相关产品推荐
相关产品推荐

