使用RandomForestClassifier拟合模型时样本数不匹配错误求助
RandomForestClassifier拟合时样本数不匹配报错的原因及解决办法
问题根源
你在执行train_test_split时,将划分后的训练集特征覆盖了原X_train变量,但训练集标签被存到了**大写的Y_train**中,原始的全量标签y_train(9557个样本)并未被替换。拟合模型时你传入的是划分后的X_train(7167个样本)和未更新的y_train,两者样本数不一致,因此触发ValueError。
解决办法
有两种简单的修正方式:
方式一:统一变量命名(推荐)
修改train_test_split的变量赋值,将划分后的训练集标签存回小写y_train,覆盖原始变量:
X_train, X_test, y_train, y_test = train_test_split(X_train, y_train, test_size=0.25)
之后直接执行拟合即可:
rfc_model.fit(X_train, y_train)
方式二:使用正确的标签变量
保持现有变量名不变,拟合时传入划分后的训练集标签Y_train:
rfc_model.fit(X_train, Y_train)
验证建议
修改后可以再次打印对应变量的形状,确认X_train.shape和标签变量的形状样本数一致,再执行模型拟合。
内容的提问来源于stack exchange,提问作者Aafiya P Sayyad
相关产品推荐
相关产品推荐

