我从一些回归者创建了一个投票回归者,比如
voting_regressor = VotingRegressor(estimators=[('xg',xgbregressor),('gb',gradient_boosting_regressor),('et',extra_trees_regressor),('rf',random_forest_regressor)]) voting_regressor.fit(X_train, y_train)
回归者在测试集上预测得很好。
y_pred = voting_regressor.predict(X_test)
但是当我试图预测一个特定的实例时
voting_regressor.predict(X_test.iloc[0].values.reshape(1,-1))
它显示了以下错误
ValueError: feature_names不匹配:“年度发布”、“最小玩家”、“最大玩家”、“播放时间”、“最小播放时间”、“最大播放时间”、“minage”、“用户_级别”、“总所有者”、“总交易员”、“总计_wanters”、“总计_wishers”、“总计_注释”、“总量_权重”、“average_weight”预期的users_rated、total_wishers、年发布的最佳播放时间、最大播放时间、total_owners、total_weights、average_weight、minplaytime,total_wanters,total_traders,游戏时间,minage,total_comments,在输入数据训练数据中的最小参与者没有以下字段: f9,f3,f13,f0,f8,f4,f14,f5,f2,f6,f12,f11,f7,f10,f1 f5
发布于 2020-02-06 17:19:48
当使用pandas.Series
时,当需要按错误指示的列名时,您将传递iloc
而不是pandas.DataFrame
。
如果您想用一个示例返回dataframe,可以用另一个列表包装它,如下所示:
voting_regressor.predict(X_test.iloc[[0]])
这样可以保留列的名称。
您也可以简单地使用[0, 1, 2, 3]
来指定许多示例。
https://stackoverflow.com/questions/60095710
复制相似问题