1. ホーム
  2. python

[解決済み] Sklearnランダムフォレストはカテゴリ特徴を直接扱えるか?

2022-03-08 20:13:09

質問

色というカテゴリ素性があり、その値が

['赤', '青', '緑', 'オレンジ'],

それを使ってランダムフォレストで何かを予測したいのです。 これをワンホットエンコード(4つのダミー変数に変更)した場合、4つのダミー変数が本当に1つの変数であることをsklearnに伝えるにはどうすればよいでしょうか? 具体的には、sklearnが異なるノードで使用する特徴をランダムに選択するとき、赤、青、緑、オレンジのダミーを一緒に含めるか、どれも含めないかのどちらかにする必要があるのです。

方法がないと聞いたことがありますが、恣意的に数字でコーディングしたりせずに、カテゴリ変数を扱う方法があるはずだと思うのですが、いかがでしょうか?

どのように解決するのですか?

いいえ、そんなことはありません。誰かの 作業中 このパッチはいつかメインラインにマージされるかもしれませんが、今のところscikit-learnではダミー(ワンショット)エンコーディング以外のカテゴリカル変数をサポートしていないのです。