XGBoost python:输入形状错误,功能名称不匹配错误
用于预测数字是否为5的二进制分类器具有X_序列和y_序列(类似于X_测试和y_测试,如下所示)。(类似于MNIST数据集) 火车XGBoost python:输入形状错误,功能名称不匹配错误,python,pandas,xgboost,mnist,Python,Pandas,Xgboost,Mnist,用于预测数字是否为5的二进制分类器具有X_序列和y_序列(类似于X_测试和y_测试,如下所示)。(类似于MNIST数据集) 火车 pixel0 pixel1 pixel2 pixel3....................pixel783 0 1 1 0 1 0 0 0 1 1
pixel0 pixel1 pixel2 pixel3....................pixel783
0 1 1 0 1
0 0 0 1 1
你的火车
label
1
0
等等
基本上,X_列表示一个数字的像素。y_列表示该数字的标签,例如,如果数字为5,则标签将为1,如果数字不是5,则标签将为零
我实现XGBoost如下:
#from xgboost.xgbclassifier import XGBClassifier
from xgboost import XGBClassifier
classifier = XGBClassifier()
classifier.fit(X_train, y_train)
print('Accuracy on test set:',classifier.score(X_test,y_test))
---->print('Accuracy on test set:',classifier.score(X_test,y_test))
Error: ValueError: feature_names mismatch:
然后,为了消除功能名称不匹配,我尝试以下方法,正如许多答案中提到的那样,我应该将X_train和y_train更改为numpy数组:
X_train=train_df.drop('label', axis=1).values
X_test=train_df['label'].values
classifier.fit(X_train,X_test)
----->classifier.fit(X_train,X_test)
Error: ValueError: bad input shape (28000, 784)
我想要什么:
print('Accuracy on test set:',classifier.score(X_test,y_test))
我只想拟合XGBoost并在测试集上像这样计算其准确度分数:
print('Accuracy on test set:',classifier.score(X_test,y_test))
你找到解决这个问题的办法了吗?是的。。。。。。。。。。。。。。。。。。。。。。。。。。。。。