Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中绘制CostSensitiveClassifier树?_R_Plot_Tree_Weka - Fatal编程技术网

如何在R中绘制CostSensitiveClassifier树?

如何在R中绘制CostSensitiveClassifier树?,r,plot,tree,weka,R,Plot,Tree,Weka,在本例中,我在成本敏感分类器函数中使用了RWeka包和J48。我知道使用包“party”可以绘制正常的J48树,但不确定如何获得CSC输出的绘图 library(RWeka) csc <- CostSensitiveClassifier(Species ~ ., data = iris, control = Weka_control(`cost-matrix` = matrix(c(0,10, 0, 0, 0, 0, 0, 10, 0), ncol = 3), W = "weka.

在本例中,我在成本敏感分类器函数中使用了RWeka包和J48。我知道使用包“party”可以绘制正常的J48树,但不确定如何获得CSC输出的绘图

library(RWeka)

csc <- CostSensitiveClassifier(Species ~ ., data = iris, 
control = Weka_control(`cost-matrix` = matrix(c(0,10, 0, 0, 0, 0, 0, 10, 0), 
ncol = 3), 
W = "weka.classifiers.trees.J48", 
M = TRUE))

csc
CostSensitiveClassifier using minimized expected misclasification cost

weka.classifiers.trees.J48 -C 0.25 -M 2

Classifier Model
J48 pruned tree
------------------

Petal.Width <= 0.6: setosa (50.0)
Petal.Width > 0.6
|   Petal.Width <= 1.7
|   |   Petal.Length <= 4.9: versicolor (48.0/1.0)
|   |   Petal.Length > 4.9
|   |   |   Petal.Width <= 1.5: virginica (3.0)
|   |   |   Petal.Width > 1.5: versicolor (3.0/1.0)
|   Petal.Width > 1.7: virginica (46.0/1.0)

Number of Leaves  :     5

Size of the tree :  9


Cost Matrix
  0  0  0
 10  0 10
  0  0  0
plot(csc)
库(RWeka)

csc事实上,这很容易。试一试

library(RWeka)
library(party)
library(partykit)


csc <- CostSensitiveClassifier(Species ~ ., data = iris, 
control = Weka_control(`cost-matrix` = matrix(c(0,10, 0, 0, 0, 0, 0, 10, 0), 
ncol = 3), 
W = "weka.classifiers.trees.J48", 
M = TRUE))

plot(as.party.Weka_tree(csc))

这些类没有方法。但是,“Weka_树”有一个函数,它只调用
作为.party.Weka_树
并绘制结果。我必须承认我不知道CostSensitiveClassifier树和J48树之间的区别,所以我希望这个图是一个准确的表示。

如果不是太大,你也可以发布
dput(csc)
吗?这太完美了!谢谢这是关于R的事情之一,如果你不知道它,找出答案可能是非常不直观的。我以前从未使用过这些软件包,但你在问题中提供了足够有用的信息,并包含了一个可复制的示例,它总是使问题更容易解决。一旦你使用了足够多的R,一切看起来都一样。有些软件包比其他软件包有更好的文档。
library(RWeka)
library(party)
library(partykit)


csc <- CostSensitiveClassifier(Species ~ ., data = iris, 
control = Weka_control(`cost-matrix` = matrix(c(0,10, 0, 0, 0, 0, 0, 10, 0), 
ncol = 3), 
W = "weka.classifiers.trees.J48", 
M = TRUE))

plot(as.party.Weka_tree(csc))
> class(csc)
[1] "CostSensitiveClassifier" "Weka_meta"     "Weka_classifier"