Python XGBoost classifier can't `predict`: `TypeError: Not supported type for data`

Viewed 2053

I have a dataset like so:

print(X_test.dtypes)
metric1                    int64
rank                     float64
device_type                 int8
NA_estimate              float64

When I try to make predictions on this data set, I get the following error:

y_test_pred_xgb = clf_xgb.predict(xgb.DMatrix(X_test))
TypeError: Not supported type for data.<class 'xgboost.core.DMatrix'>

I searched for a bit but only found discussion of object variable data types causing issues. Is there something else wrong with my data or is the issue something else? I have looked at various blogs and Kaggle code without luck.

1 Answers

I faced the same problem and solved it by casting the data type using np.float32():

model.predict(np.float32(X_test))
Related