Weka_interfaces {RWeka} | R Documentation

## R/Weka interfaces

### Description

Create an R interface to an existing Weka learner/filter, or show the available interfaces.

### Usage

    make_Weka_associator(name, class = NULL)
    make_Weka_classifier(name, class = NULL, handlers = list())
    make_Weka_clusterer(name, class = NULL)
    make_Weka_filter(name, class = NULL)
    list_Weka_interfaces()

### Arguments

`name` | a character string giving the fully qualified name of a Weka learner/filter class in JNI notation.
`class` | `NULL` (default), or a character vector giving the names of R classes the objects returned by the interface function should inherit from in addition to the default ones (for representing associators, classifiers, and clusterers).
`handlers` | a named list of special handler functions, see Details.

### Details

`make_Weka_associator` and `make_Weka_clusterer` create an R function providing an interface to a Weka association learner or a Weka clusterer, respectively. This interface function has formals `x` and `control = NULL`, representing the training instances and control options to be employed. Objects created by these interface functions always inherit from classes `Weka_associator` and `Weka_clusterer`, respectively, and have at least suitable `print` methods. Fitted clusterers also have a `predict` method.

`make_Weka_classifier` creates an interface function for a Weka classifier, with formals `formula`, `data`, `subset`, `na.action`, and `control` (default: none), where the first four have the “usual” meanings for statistical modeling functions in R, and the last again specifies the control options to be employed by the Weka learner. Objects created by these interfaces always inherit from class `Weka_classifier`, and have at least suitable `print` and `predict` methods.

`make_Weka_filter` creates an interface function for a Weka filter, with formals `formula`, `data`, `subset`, `na.action`, and `control = NULL`, where the first four have the “usual” meanings for statistical modeling functions in R, and the last again specifies the control options to be employed by the Weka filter. Note that the response variable can be omitted from `formula` if the filter is “unsupervised”. Objects created by these interface functions are (currently) always of class `data.frame`.

Certain aspects of the interface function can be customized by providing handlers. Currently, only control handlers (functions given as the `control` component of the list of handlers) are used for processing the given control arguments before passing them to the Weka classifier. This is used, e.g., by the meta learners to allow the specification of registered base learners by their “base names” (rather their full Weka/Java class names).

In addition to creating interface functions, the interfaces are registered (under the name of the Weka class interfaced), which in particular allows the Weka Option Wizard (`WOW`) to conveniently give on-line information about available control options for the interfaces.

`list_Weka_interfaces` lists the available interfaces.

It is straightforward to register new interfaces in addition to the ones package RWeka provides by default.

### References

K. Hornik, C. Buchta, and A. Zeileis (2009). Open-source machine learning: R meets Weka. Computational Statistics, 24/2, 225–232,

### Examples

    ## Create an interface to Weka's Naive Bayes classifier.
    NB <- make_Weka_classifier("weka/classifiers/bayes/NaiveBayes")
    ## Note that this has a very useful print method:
    NB
    ## And we can use the Weka Option Wizard for finding out more:
    WOW(NB)
    ## And actually use the interface ...
    if(require("e1071", quietly = TRUE) &&
       require("mlbench", quietly = TRUE)) {
        data("HouseVotes84", package = "mlbench")
        model <- NB(Class ~ ., data = HouseVotes84)
        predict(model, HouseVotes84[1:10, -1])
        predict(model, HouseVotes84[1:10, -1], type = "prob")
    }
    ## (Compare this to David Meyer's naiveBayes() in package 'e1071'.)

[Package RWeka version 0.4-1 Index]