R: Predict method for cubist fits

predict.cubist {Cubist} | R Documentation

## Predict method for cubist fits

### Description

Prediction using the parametric model are calculated using the method of Quinlan (1992). If `neighbors` is greater than zero, these predictions are adjusted by training set instances nearby using the approach of Quinlan (1993).

### Usage

    ## S3 method for class 'cubist'
    predict(object, newdata = NULL, neighbors = 0, ...)

### Arguments

`object` | an object of class `cubist`
`newdata` | a data frame of predictors (in the same order as the original training data)
`neighbors` | an integer from 0 to 9: how many instances to use to correct the rule-based prediction?
`...` | other options to pass through the function (not currently used)

### Details

Note that the predictions can fail for various reasons. For example, as shown in the examples, if the model uses a qualitative predictor and the prediction data has a new level of that predictor, the function will throw an error.

### Value

a numeric vector is returned

### Author(s)

R code by Max Kuhn, original C sources by R Quinlan and modifications be Steve Weston

### References

Quinlan. Learning with continuous classes. Proceedings of the 5th Australian Joint Conference On Artificial Intelligence (1992) pp. 343-348

Quinlan. Combining instance-based and model-based learning. Proceedings of the Tenth International Conference on Machine Learning (1993) pp. 236-243

Quinlan. C4.5: Programs For Machine Learning (1993) Morgan Kaufmann Publishers Inc. San Francisco, CA

http://rulequest.com/cubist-info.html

### See Also

`cubist()`, `cubistControl()`, `summary.cubist()`, `predict.cubist()`, `dotplot.cubist()`

### Examples

    library(mlbench)
    data(BostonHousing)

    ## 1 committee and no instance-based correction, so just an M5 fit:
    mod1 <- cubist(x = BostonHousing[, -14], y = BostonHousing$medv)
    predict(mod1, BostonHousing[1:4, -14])

    ## now add instances
    predict(mod1, BostonHousing[1:4, -14], neighbors = 5)

    # Example error
    iris_test <- iris
    iris_test$Species <- as.character(iris_test$Species)

    mod <- cubist(x = iris_test[1:99, 2:5],
                  y = iris_test$Sepal.Length[1:99])

    # predict(mod, iris_test[100:151, 2:5])
    # Error:
    # *** line 2 of `undefined.cases':
    # bad value of 'virginica' for attribute 'Species'

[Package Cubist version 0.2.2 Index]