LightGBMでnp.arrayを入力して回帰モデルを作ろうとした時に表題のエラー。
X_train, X_test, y_train, y_test = train_test_split(X, y)
model = lgb.LGBMRegressor()
model.fit(X_train, y_train)
Input numpy.ndarray must be 2 dimensional lightgbm
2次元のndarrayを渡せと怒られた。
しかし、reshapeしたりnp.array(list(X_train))したりしてみてもエラーが解決しない。
lgb.Datasetを使い、lgb.LGBRegressorではなくlgb.trainにしたらエラーは出なくなり、学習が始まった。
X_train, X_test, y_train, y_test = train_test_split(X, y)
train = lgb.Dataset(X_train, label=y_train)
test = lgb.Dataset(X_test, label=y_test)
model = lgb.train(train_set=train,
valid_sets=test)
なぜnp.array上手く行かなくて、lgb.Datasetなら上手く行ったのか、原因は分からなかった。
とりあえず動いたけど、モヤモヤする…。
参考
dimension related problem in training LightGBM for Multiclass Multilable Classification?
I would like to classify by LightGBM algorithm for Multiclass Multilable Classification but I encounter a problem during...
lightGBMのTypeError: Wrong type(ndarray) for label. It should be list, numpy 1-D array or panda、について
lightGBMを使用していて、 **TypeError: Wrong type(ndarray) for label. It should be list, numpy 1-D array or
コメント