TypeError: Expected np.float32 or np.float64, met type(int64)

2024年6月17日

このエラーは、LightGBMが期待するデータ型と実際のデータ型が一致しないことを示しています。エラーメッセージから推測すると、おそらくy_trainのデータ型が整数(int64)であるため、float型のデータを期待しているLightGBMに問題が発生しています。

対処法としては、y_trainをfloat型に変換することが考えられます。具体的には、y_trainastype()メソッドを使ってfloat型に変換します。以下に修正例を示します。

python
# データをトレーニングセットとテストセットに分割
X_train, X_test, y_train, y_test = train_test_split(X_combined, y, test_size=0.2, random_state=42)

# y_trainをfloat型に変換
y_train = y_train.astype(float)

# LightGBMモデルの作成とトレーニング
lgb_model = lgb.LGBMClassifier(n_estimators=1000, random_state=100)
lgb_model.fit(X_train, y_train)

これにより、y_trainがfloat型に変換され、LightGBMが正常に動作するはずです。

未分類

Posted by ぼっち