簡體   English   中英

使用RWeka創建朴素貝葉斯分類器時遇到問題

[英]Trouble creating Naive Bayes classifier using RWeka

我正在嘗試通過RWeka創建一個NB分類器,它返回一個變量類型錯誤。

我有以下變量:

dtm_df.train作為包含以下內容的data.frame

      ask check state
1_10    0     1   bad
1_100   1     0   bad
1_11    2     1  good
1_13    0     0   bad
1_14    0     0  good
1_15    0     1   bad
1_16    0     1  good
1_17    0     0   bad
1_19    0     0   bad
1_2     2     0   bad

class.formula作為一個公式包含: state ~ ask + check class.formula state ~ ask + check

使用時

NB <- make_Weka_classifier("weka/classifiers/bayes/NaiveBayes")
classifier <- NB(class.formula ~ ., dtm_df.train)

它返回:

Error in model.frame.default(formula = class.formula ~ ., data = dtm_df.train) : object is not a matrix

將數據參數dtm_df.train轉換為矩陣不起作用,因為它需要data.frame。

嘗試時:

classifier <- NB(class.formula ~ ., dtm_df.train)

它回來了

Error in .jcall(o, "Ljava/lang/Class;", "getClass") : 
  weka.core.UnsupportedAttributeTypeException: weka.classifiers.bayes.NaiveBayes: Cannot handle string class!

發現原因實際上是列車集dtm_df.train列的格式。

解決方案是通過以下方式將該列轉換為因子:

dtm_df.train$state <- as.factor(dtm_df.train$state)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM