以下のRスクリプトを使用して、Twitterのコメント(カザフ語)の感想分析を行っています。 3000(1500sad、1500happy)はトレーニングセットのコメント、テストセットの1000(happy sad mixed)コメントです。すべてがうまくいきますが、最終的に予測値はすべて幸せを示していますが、これは正しくありません。naiveBayesと予測機能がRで動作しない
私はすべての機能をチェックしており、すべてnaiveBayes
機能まで動作しています。私はクラシファイアの値をチェックして、それらが正しいです。私はnaiveBayes
かpredict
のどちらかがうんざりしていると思います。
このコードで幸せなコメント(最初のリスト)と1500の悲しい(否定的な)コメントしか使用しなかったとき、予測結果はすべて幸せだったと思います。私はトレーニングセットのためのすべての悲しいまたは否定的なコメントを使用する場合
classifier = naiveBayes(mat[1500:3000,], as.factor(sentiment_all[1500:3000]))
はしかし、予測された結果は、すべての悲しいです。
classifier = naiveBayes(mat[1501:3000,], as.factor(sentiment_all[1501:3000]))
私は数時間を費やしていましたが、問題が発生した場所は完全に失われました。この問題を解決するために私を助けてください。ここで
はスクリプトです:
setwd("Path")
happy = readLines("Path")
sad = readLines("Path")
happy_test = readLines("Path")
sad_test = readLines("Path")
tweet = c(happy, sad)
tweet_test= c(happy_test, sad_test)
tweet_all = c(tweet, tweet_test)
sentiment = c(rep("happy", length(happy)),
rep("sad", length(sad)))
sentiment_test = c(rep("happy", length(happy_test)),
rep("sad", length(sad_test)))
sentiment_all = as.factor(c(sentiment, sentiment_test))
library(RTextTools)
library(e1071)
# naive bayes
mat= create_matrix(tweet_all, language="kazakh",
removeStopwords=FALSE, removeNumbers=TRUE,
stemWords=FALSE, tm::weightTfIdf)
mat = as.matrix(mat)
classifier = naiveBayes(mat[1:3000,], as.factor(sentiment_all[1:3000]))
predicted = predict(classifier, mat[3001:4000,]); predicted
コメントしませんか? –
predict()関数が正しく動作していないと思われます。私が 'code'を実行したとき、predict = predict(classifier、mat [1:1、]、type =" raw ");予測される 'code'は、' code'を返します。幸いなことに、悲しいです。 [1、] 0.5 0.5 'code'は、予測関数が機能していないことを意味します。 –