独自の単純な特徴選択アルゴリズムを作成しようとしています。私が使用するデータセットはここにあります(非常に有名なデータセット)。誰かが私にそうする方法についての指針を与えることができますか?
テキスト分類のための特徴ランクアルゴリズムを書くことを計画しています。これは、映画レビューの感情分析のためのものであり、それらをポジティブまたはネガティブのいずれかに分類します。
だから私の質問は、テキストデータセットの簡単な特徴選択を書く方法についてです。
独自の単純な特徴選択アルゴリズムを作成しようとしています。私が使用するデータセットはここにあります(非常に有名なデータセット)。誰かが私にそうする方法についての指針を与えることができますか?
テキスト分類のための特徴ランクアルゴリズムを書くことを計画しています。これは、映画レビューの感情分析のためのものであり、それらをポジティブまたはネガティブのいずれかに分類します。
だから私の質問は、テキストデータセットの簡単な特徴選択を書く方法についてです。
特徴選択方法は大きなトピックです。次の手順で開始できます。
カイ二乗
相互情報
用語の頻度
時間がある場合は、この論文を読んでください:テキスト分類における特徴選択に関する比較研究これは非常に役立ちます。
実際の実装は、データの前処理方法によって異なります。基本的に、ハッシュテーブルであろうとデータベースであろうと、カウントを維持します。
ランダム機能は、アンサンブルを構築するときにうまく機能します。これは機能バギングとして知られています。
ここに 1 つのオプションがあります:ポイント単位の相互情報を使用します。機能はトークンになり、情報はセンチメント ラベルに対して測定する必要があります。このタイプのタスクでは実際に役立つ可能性があるため、頻繁に使用する単語 (ストップ ワード) には注意してください。
私は現在、このアプローチを使用しています:
各クラスのデータの平均値と分散を計算します。優れた特徴候補は、分散が小さく、平均値が他のクラスの平均値と異なる必要があります。
現在、50 未満の機能しかないので、手動で選択しています。このプロセスを自動化するために、すべてのクラスの平均値の分散を計算し、より大きな分散を持つクラスに高い優先順位を付けることができます。次に、1 つのクラス内で分散が小さいものを最初に選択します。
もちろん、これは冗長な機能を削除しません。