0
私は、ツイートが肯定的、否定的または中立的であるかどうかを知るためにSVM、NBおよびkNNを適用してツイートを分析しています。 80704件のツイートが、テスト目的のために、私は唯一の唯一の2847ツイートを分析しています、それは私が電車やテストデータにデータを分割する際の質問は、これは、SVMとNBのために動作しますが、ときにエラーを与えている機能r - エラーが発生しました。外部関数呼び出し(arg 6)
> str(total.tweets.score)
'data.frame': 2847 obs. of 3 variables:
$ score : int 0 1 1 -2 0 0 1 2 -2 0 ...
$ text : Factor w/ 1790 levels " st century is the era of knowledge and information which will change the way countries develop says",..: 1717 129 996 1072 682 795 524 132 143 773 ...
$ Negative : Factor w/ 2 levels "FALSE","TRUE": 1 1 1 2 1 1 1 1 2 1 ...
を以下ました私はkNNを適用します、ここでデータを分割する方法は、
total.tweets.score.train <- total.tweets.score[1:1993,]
total.tweets.score.test <- total.tweets.score[1994:2847, ]
SVMモデル:
model.SVm = svm(total.tweets.score.train$Negative~., data = total.tweets.score.train, kernel = "linear", epsilon = 0.1, probability = TRUE, type = "C")
NBモデル:ここ
nb.classifier <- naiveBayes(twitter.train , total.tweets.score.train$Negative)
twitter.train
は、ドキュメントの用語行列です。
k最近傍モデル:kn.train.data.target
が要因
私はk最近傍コードを実行すると、私は次のエラーを受け取り、
Error in knn(twitter.train, twitter.test, knn.train.data.target, k = 3, :
NA/NaN/Inf in foreign function call (arg 6)
In addition: Warning messages:
1: In knn(twitter.train, twitter.test, knn.train.data.target, k = 3, :
NAs introduced by coercion
2: In knn(twitter.train, twitter.test, knn.train.data.target, k = 3, :
NAs introduced by coercion
ありながら、ここで
model.knn <- knn(twitter.train, twitter.test , knn.train.data.target , k = 3, prob = TRUE)
twitter.train
とtwitter.test
の両方が、ドキュメントの用語行列ですどうしたらいいの?
ドキュメントの用語行列の構造は何ですか?ですかあなたは構造体を投稿して、おそらくいくつかの行を投稿できますか? (これは、問題を再現可能にする唯一の方法です。 – lrnzcig