onehotencoderランダムフォレスト
Aug 31 2020
ランダムフォレストのコンテキストでは、機能/変数が数値であるが、ある種のカテゴリを参照するデータセットにダミー/ OnehotEncoderを設定する必要がありますか?
次の変数があるとしましょう。
Y予測したい変数はどこにありますか。X's機能です。
に焦点を当てX1ます。その数値ですが、特定のカテゴリを指します(つまり、1は数学を指し、2は文学を指し、3は歴史を指します)。ランダムフォレストアルゴリズムにOnehotEncoder(またはダミーアプローチ)を適用する必要がありますか?
私はそれをする必要はないと思いますが、私にはわかりません。
回答
1 Josh Aug 31 2020 at 10:44
理論的には、カテゴリ自体は決定木で処理できます。ただし、ほとんどのPython実装は数値でのみ機能するため、数値を変換する必要があります。すでにお持ちのようです。OneHot Encodingはそれを行う1つの方法ですが、これを実行したので、それは必要ありません。この方法でそれらをどのように使用するかについて論理的な理由がない場合は、他のスキームを試してそれらを1 23に変えることができます。これは、カテゴリエンコーディングと呼ばれます。一般的な方法の1つは、アルファベット順に並べて番号を付けることです。別の方法では、頻度の順に。結局のところ、ランダムフォレストはそのアルゴリズムに従って数値をビニングするため、それほど重要ではありません。ただし、わずかな違いが生じる可能性があるため、別の方法を試してください。ただし、カテゴリはすでに数値であるため、OneHotでエンコードする必要はありません。