2016-04-04 9 views
0

Tweet'in pozitif, negatif veya nötr olup olmadığını öğrenmek için tweetleri SVM, NB ve kNN uygulayarak analiz ediyorum. 80.704 tweet fakat test amaçlı sadece sadece 2847 tweet'leri analiz ediyorum, aşağıdaki özelliklerer-knn'de hata: Yabancı işlev çağrısında NA/NaN/Inf (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 ... 

tren ve test verilerinin alt kümelere bölmek zaman soru Bu SVM ve NB için çalışır olduğunu var ama hata olduğunda sunar burada veri iletişimi,

total.tweets.score.train <- total.tweets.score[1:1993,] 
total.tweets.score.test <- total.tweets.score[1994:2847, ] 

SVM Modeli splited nasıl, kNN geçerlidir:

model.SVm = svm(total.tweets.score.train$Negative~., data = total.tweets.score.train, kernel = "linear", epsilon = 0.1, probability = TRUE, type = "C") 

Not Modeli: burada twitter.train

nb.classifier <- naiveBayes(twitter.train , total.tweets.score.train$Negative) 

terimi matris belgesidir.

kNN Modeli: I, I bir hata iletisini kNN kodu çalıştırmak kn.train.data.target faktörü

ise

model.knn <- knn(twitter.train, twitter.test , knn.train.data.target , k = 3, prob = TRUE) 
burada

twitter.train ve twitter.test her ikisi birden, belge, bir matris

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 

lütfen bana ne yapmamı yardım et?

+0

Belgeniz vadeli matrisleri yapısı nedir yapısı nedir? Yapısını ve belki birkaç satırı gönderebilir misin? (Sorununuzu tekrar üretebilmenizin tek yolu budur. Teşekkürler. – lrnzcig

cevap

0

Bu benim DTM

> str(total.tweets.dtm) 
List of 6 
$ i  : int [1:22041] 1 1 1 1 1 1 1 1 1 1 ... 
$ j  : int [1:22041] 138 163 617 1417 1852 1899 2534 2727 2792 3234 ... 
$ v  : num [1:22041] 1 1 1 1 1 1 1 1 1 1 ... 
$ nrow : int 2847 
$ ncol : int 4232 
$ dimnames:List of 2 
    ..$ Docs : chr [1:2847] "character(0)" "character(0)" "character(0)" "character(0)" ... 
    ..$ Terms: chr [1:4232] "#cpec" "aabpara" "aaj" "aakhir" ... 
- attr(*, "class")= chr [1:2] "DocumentTermMatrix" "simple_triplet_matrix" 
- attr(*, "weighting")= chr [1:2] "term frequency" "tf"