[英]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.