【问题标题】:r-Error in knn: NA/NaN/Inf in foreign function call (arg 6)knn 中的 r-Error:外部函数调用中的 NA/NaN/Inf (arg 6)
【发布时间】:2016-07-24 05:51:05
【问题描述】:

我正在通过应用 SVM、NB 和 kNN 来分析推文,以了解推文是正面、负面还是中性,为此我有 80704 条推文,但出于测试目的,我只分析 2847 条推文,它具有以下特征

> 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 ...

问题是当我将数据分为训练数据和测试数据时,它适用于 SVM 和 NB,但是当我应用 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 是文档术语矩阵。

kNN 模型:

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

这里twitter.traintwitter.test 都是文档术语矩阵,而kn.train.data.target 是因子

当我运行 kNN 代码时,我收到以下错误,

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

请帮我怎么办?

【问题讨论】:

  • 您的文档术语矩阵的结构是什么?你能发布结构和几行吗? (这是使您的问题可重现的唯一方法。谢谢。

标签: python r twitter


【解决方案1】:

这是我的 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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 1970-01-01
    相关资源
    最近更新 更多