ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • XGBoost predict 에러
    Error 2023. 3. 20. 18:38

    Train data로 학습한 XGBoost  모델에 한 행만 input하여 predict를 하려고 하는데, 에러 발생

    • 에러 메세지
    XGBoostError: [18:30:57] ../src/predictor/cpu_predictor.cc:310: Check failed: 
    m->NumColumns() == model.learner_model_param->num_feature (1 vs. 3) : 
    Number of columns in data must equal to trained model.

    • 에러 난 이유
      • train은 2차원 데이터로 학습을 했는데, 내가 한 행만 추출해서 input으로 넣으려니까 shape이 1차원이 됐고, 1차원 데이터를 넣으니까 위 에러가 났던 것이다.
      • 그래서 0:1 로 데이터를 추출을 해서 2차원 shape으로 만들고, 그 데이터를 모델에 넣어서 에러 해결했음
    논외로, 한 행만 추출해서 input으로 넣는 작업을 왜 했냐면, 실제 운영에서는 1분마다 즉, 1행마다 모델에 들어가서 예측결과를 뽑을텐데, 그렇게 될 경우 통째로(우리가 모델링에서 test 할 때랑) 결과가 달라질까 해서 확인해봤음. 근데 test data 통째로 넣었을 때랑 test data를 한 행씩 넣어서 결과 뽑았을 때랑 결과 똑같음.

     

    xgboost discuss 사이트에 내가 단 답변(답변 처음으로 달아봄 ㅎㅅㅎ)

     

    'Error' 카테고리의 다른 글

    TypeError: can't multiply sequence by non-int of type 'float'  (0) 2023.05.10
    FileNotFoundError  (0) 2023.04.14
    Grid Search - model.best_score_ >>> nan  (0) 2023.02.06
Designed by Tistory.