私はデータ サイエンスの初心者で、ツイートを使用したテキスト分析/感情分析プロジェクトに取り組んでいます。私がやろうとしているのは、ツイート トレーニング セットに対して次元削減を実行し、トレーニング セットを NaiveBayes 学習器にフィードし、学習した NaiveBayes を使用してテスト ツイート セットのセンチメントを予測することです。
この記事の手順に従っています。
彼らの説明は、私のような初心者には簡単すぎます。
lsa() を使用して、RStudio で「Large LSAspace (3 要素)」とラベル付けされたものを作成しました。彼らの例に従って、さらに 3 つのデータ フレームを作成しました。
lsa.train.tk = as.data.frame(lsa.train$tk)
lsa.train.dk = as.data.frame(lsa.train$dk)
lsa.train.sk = as.data.frame(lsa.train$sk)
lsa.train.tkデータを表示すると、次のようになります ( lsa.train.dkはこのマトリックスにかなり似ています)。
私のlsa.train.skは次のようになります。
私の質問は、そのような情報をどのように解釈するのですか? この情報を利用して、NaiveBayes 学習器にフィードできるものを作成するにはどうすればよいですか? NaiveBayes 学習器に lsa.train.sk を使用してみましたが、試したことを正当化できる適切な説明が思いつきません。どんな助けでも大歓迎です!
編集: これまでに行ったこと:
- すべてを用語文書マトリックスにする
- NaiveBayes 学習器に行列を渡す
- 学習したアルゴリズムを使用して予測する
私の問題は次のとおりです。
精度はわずか 50% です...そして、すべてが肯定的な感情としてラベル付けされていることに気付きました (したがって、テスト セットに否定的な感情のツイートのみが含まれている場合、1% の精度が得られた可能性があります)。
現在のコードはスケーラブルではありません。大きな行列を使用するため、最大 3.5k 行のデータしか処理できません。それ以上だと、コンピューターがクラッシュします。したがって、より多くのデータ (10k または 100k 行のツイートなど) を処理できるように次元削減を行いたいと考えました。