質問: XGBoostのエラーの原因がわかりません。 現在Kaggleのtitanicをやっていて、XGBoostを使っているのですが、 ![XGBooatのエラー](https://teratail.storage.googleapis.com/uploads/contributed_images/44f7d2d7d6cca5bb844cc4a689f529b0.png) このように”FareBand”のデータ型についてエラーが出ています。 XGBoostではint,bool,float型以外は使えませんと そこでもともと"FareBand"はint型になっていたのですが、再度int型に変換しました ![”FareBand”のデータ型がint型になっている写真](https://teratail.storage.googleapis.com/uploads/contributed_images/cced2a1d03858e3ef3bb31e2a946dfce.png) 変換し直しても1枚目の画像のようにデータ型についてのエラーが出ます どこを修正したらいいのでしょうか? RandomForestなど他のアルゴリズムは正常に動きます。 ちなみにXGBoostは先ほど入れたばかりで今回初めて使いました ご回答よろしくお願いします。 追記: もしかしてXGBoostはカテゴリカルデータは使えないですか?
回答: `pandas.Series.astype`はin-placeなメソッドではないので、何回呼んでも元のデータはそのままです。 下のように再代入してあげれば良いだけですが、 ``` train["FareBand"] = train["FareBand"].astype(int) ``` `x_train`と`train`の作り方によっては、上の処理をしても`x_train`の方はそのままという可能性も捨てきれないので、改善しなかったらコメントにそう書いて、コード全文をテキストで追記してみてください。