¿Cómo trazar un árbol CostSensitiveClassifier en R?

En este caso, estoy usando el paquete RWeka y J48 dentro de la función de clasificador sensible al costo. Sé que con el paquete "party" puedo trazar un árbol J48 normal, pero no estoy seguro de cómo obtener un diagrama con la salida 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)

Error en xy.coords (x, y, xlabel, ylabel, log): 'x' es una lista, pero no tiene los componentes 'x' e 'y'

Cualquier ayuda sería genial.

dput(csc)

structure(list(classifier = <S4 object of class structure("jobjRef", package = "rJava")>, 
    predictions = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("setosa", "versicolor", 
    "virginica"), class = "factor"), call = CostSensitiveClassifier(formula = 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)), handlers = structure(list(control = list(
        function (x) 
        {
            if (inherits(x, "Weka_control")) {
                ind <- which(names(x) %in% substring(options, 
                  2L))
                if (any(ind)) 
                  x[ind] <- lapply(x[ind], fun, ...)
            }
            else {
                x <- as.character(x)
                ind <- which(x %in% options)
                if (any(ind)) 
                  x[ind + 1L] <- sapply(x[ind + 1L], fun, ...)
            }
            x
        }, function (x) 
        {
            if (inherits(x, "Weka_control")) {
                ind <- which(names(x) %in% substring(options, 
                  2L))
                if (any(ind)) 
                  x[ind] <- lapply(x[ind], fun, ...)
            }
            else {
                x <- as.character(x)
                ind <- which(x %in% options)
                if (any(ind)) 
                  x[ind + 1L] <- sapply(x[ind + 1L], fun, ...)
            }
            x
        }), data = function (mf) 
    {
        terms <- attr(mf, "terms")
        if (any(attr(terms, "order") > 1L)) 
            stop("Interactions are not allowed.")
        factors <- attr(terms, "factors")
        varnms <- rownames(factors)[c(TRUE, rowSums(factors)[-1L] > 
            0)]
        mf[, sub("^`(.*)`$", "\\1", varnms), drop = FALSE]
    }), .Names = c("control", "data")), levels = c("setosa", 
    "versicolor", "virginica"), terms = Species ~ Sepal.Length + 
        Sepal.Width + Petal.Length + Petal.Width), .Names = c("classifier", 
"predictions", "call", "handlers", "levels", "terms"), class = c("CostSensitiveClassifier", 
"Weka_meta", "Weka_classifier"))

Respuestas a la pregunta(1)

Su respuesta a la pregunta