我在网上找到了这个文件: https://www.erpublication.org/admin/vol_issue1/upload%20Image/IJETR032129.pdf
它在第4页上使用在R中构建一个带有RWeka包和J48函数的决策树。在他的例子中,他有数值和分类值。
所以,我做了一个测试,只是在专栏上试图预测另一个。这是一个示例:
VALUE CHURNED_F
2 1
2 0
2 0
2 0
2 0
1 0
这是我的代码:
m2 <- J48(`CHURNED_F` ~ ., data = head(train[, -c(1)]))
但是我收到了这个错误:
Error in .jcall(o, "Ljava/lang/Class;", "getClass") :
weka.core.UnsupportedAttributeTypeException: weka.classifiers.trees.j48.C45PruneableClassifierTree: Cannot handle numeric class!
我不明白错误,首先它是一个绝对的类。其次,在文档的示例中,它完美地使用了分类和数字列。
我怎样才能让它发挥作用?
答案 0 :(得分:3)
J48要求该类是分类的,或者在R的情况下,是一个因子。我相信你的“Churned_F”变量是数字。您可以使用结构函数检查变量的类型:
str(train)
下面的代码允许您构建J48树。在这里,我确保“CHURNED_F”是一个因素。
library(RWeka)
train <- data.frame(VALUE = c(2,2,2,2,2,1), CHURNED_F = factor(c(1,0,0,0,0,0)))
m2 <- J48(CHURNED_F ~., data = train)