Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python xgb:ValueError:";功能“名称不匹配”;_Python_Machine Learning_Xgboost - Fatal编程技术网

Python xgb:ValueError:";功能“名称不匹配”;

Python xgb:ValueError:";功能“名称不匹配”;,python,machine-learning,xgboost,Python,Machine Learning,Xgboost,我正在努力学习XGBoost的基础知识,并设计一个脚本,将我在Kaggle上找到的有关中国冠状病毒爆发的一些数据进行拆分。代码和模型工作正常,但由于某种原因,当我使用模型进行新预测时,我得到了一个“ValueError:feature_names Mitch”。新测试数据有一个2值的二维数组,与测试数据一样,但我仍然得到一个值错误 train = df[['RegionCode','ProvinceCode']].astype(int) test = df['infected'].astype(

我正在努力学习XGBoost的基础知识,并设计一个脚本,将我在Kaggle上找到的有关中国冠状病毒爆发的一些数据进行拆分。代码和模型工作正常,但由于某种原因,当我使用模型进行新预测时,我得到了一个“ValueError:feature_names Mitch”。新测试数据有一个2值的二维数组,与测试数据一样,但我仍然得到一个值错误

train = df[['RegionCode','ProvinceCode']].astype(int)
test = df['infected'].astype(int)

X_test, X_train, y_test, y_train = train_test_split(train, test, test_size=0.2, random_state=42)

train = xgb.DMatrix(X_train, label=y_train)
test = xgb.DMatrix(X_test, label=y_test)

param = {
'max_depth':4,
'eta':0.3,
'num_class': 2}
epochs = 10

model = xgb.train(param, train, epochs)
上面的所有代码都可以工作,但下面的terst给了我一个错误:

testArray=np.array([[13, 67]])

test_individual = xgb.DMatrix(testArray)

print(model.predict(test_individual))

知道我做错了什么吗

似乎您错过了使用sklearn的train\u test\u split函数的基础知识

X_test, X_train, y_test, y_train = train_test_split(train, test, test_size=0.2, random_state=42)
上面的行期望训练具有用于训练的所有功能,而测试期望目标功能


首先尝试解决这个问题。

似乎您错过了使用sklearn的train\u test\u split功能的基础知识

X_test, X_train, y_test, y_train = train_test_split(train, test, test_size=0.2, random_state=42)
上面的行期望训练具有用于训练的所有功能,而测试期望目标功能


首先尝试修复该问题。

如果您没有正确拆分数据,请在另一篇文章中查看我的。如果您没有正确拆分数据,请在另一篇文章中查看我的,以确保清晰。但这不是我正在做的吗?我有train=df[['RegionCode','ProvinceCode']].astype(int)和test=df['infected'].astype(int)。火车是我的特色,考试是我的目标。哦!我只是又看了一眼。您需要在测试阵列中提供您正在使用的列名。那就解决了,谢谢!我不太明白你提供列名是什么意思?我为新的X值指定int,那么在哪里输入列名呢?你能提供一个你的意思的例子吗?感谢您的时间。创建一个数据帧,其中有一行[13,67],列名称与序列中提供的相同,即[RegionCode]、[ProvinceCode],然后尝试使用predict函数。希望这样行,但这不是我正在做的吗?我有train=df[['RegionCode','ProvinceCode']].astype(int)和test=df['infected'].astype(int)。火车是我的特色,考试是我的目标。哦!我只是又看了一眼。您需要在测试阵列中提供您正在使用的列名。那就解决了,谢谢!我不太明白你提供列名是什么意思?我为新的X值指定int,那么在哪里输入列名呢?你能提供一个你的意思的例子吗?感谢您的时间。创建一个数据帧,其中有一行[13,67],列名称与序列中提供的相同,即[RegionCode]、[ProvinceCode],然后尝试使用predict函数。希望能奏效