微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

XGB - 特征形状不匹配

如何解决XGB - 特征形状不匹配

函数在预测时失败并出现错误

        f"Feature shape mismatch,expected: {self.num_features()},"
ValueError: Feature shape mismatch,expected: 395,got 395

testX - 1 X 395(数据框) trainX - n X 395(数据框)

def xgboost_forecast(train,testX):
    # split into input and output columns
    testX = np.asarray(testX)
    testX = testX.reshape(-1,1)
    trainX,trainy = train.iloc[:,:-1],train.iloc[:,-1]
    trainy = np.asarray(trainy)
    trainy = trainy.reshape(-1,1)
    # fit model
    model = xgb.XGBClassifier()
    model.fit(trainX.values,trainy.values)
    yhat = model.predict(testX) ##crash

解决方法

我今天遇到了同样的问题,但在我的拟合/预测周期的一小部分。下面的这似乎让我解决了这个问题,因为我在第一次尝试拟合后放置了这个片段:阻止并遇到相同的错误......

try:
    self.y_pred_DEBUG = pModel.predict( dataForPreds )
except ValueError:
    fNames_Error = pModel.get_booster().feature_names;
    alteredDataForPreds = dataForPreds[fNames_Error];
    self.y_pred_DEBUG = pModel.predict( alteredDataForPreds )

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。