私は200,000以上のサンプルとサンプルあたり約50の特徴を持つデータセットに取り組んでいます:10の連続変数と他の〜40はカテゴリ変数(国、言語、科学分野など)です。これらのカテゴリ変数には、たとえば150か国、50の言語、50の科学分野などがあります。
これまでの私のアプローチは次のとおりです。
多くの可能な値を持つカテゴリ変数ごとに、この値を取得する10000個を超えるサンプルを持つ変数のみを取得します。これにより、150ではなく5〜10のカテゴリに減少します。
カテゴリカル変数ごとにダミー変数を作成します(10か国の場合、サンプルごとにサイズ10のバイナリベクトルを追加します)。
このデータをランダムフォレスト分類器(パラメーターのクロス検証など)にフィードします。
現在、このアプローチでは、65%の精度しか得られず、さらに多くのことができるように感じています。特に、1)に満足していません。サンプルの数に応じて「最も関連性の低い値」を勝手に削除してはいけないように感じるからです。一方、RAMには、可能なすべての値を保持することで、データに500列* 200000行を追加する余裕がありません。
この多くのカテゴリ変数に対処するための提案はありますか?