predict.rpusvm {rpud} | R Documentation |
The predict.rpusvm
function predicts values based upon
an SVM model trained by rpusvm
in the non-free
rpudplus
add-on.
This method is not supported in the free rpud
package.
## S3 method for class 'rpusvm' predict(object, newdata, decision.values = FALSE, probability = FALSE, ..., na.action = na.omit, verbose = TRUE)
object |
An S3 object that inherits from |
newdata |
An object containing the new input data: either a
matrix or a sparse matrix (object of class
|
decision.values |
Logical controlling whether the decision values of all binary classifiers computed in multiclass classification shall be computed and returned. |
probability |
Logical indicating whether class probabilities
should be computed and returned. Only possible if the model was
fitted with the |
na.action |
A function to specify the action to be taken if ‘NA’s are
found. The default action is |
... |
Currently not used. |
verbose |
logical indicating whether progress information should be displayed. (default: |
A vector of predicted values (for classification: a vector of labels, for density
estimation: a logical vector). If decision.value
is
TRUE
, the vector gets a "decision.values"
attribute
containing a n x c matrix (n number of predicted values, c number of
classifiers) of all c binary classifiers' decision values. There are k
* (k - 1) / 2 classifiers (k number of classes). The colnames of
the matrix indicate the labels of the two classes. If probability
is
TRUE
, the vector gets a "probabilities"
attribute
containing a n x k matrix (n number of predicted values, k number of
classes) of the class probabilities.
If the training set was scaled by rpusvm
(done by default), the
new data is scaled accordingly using scale and center of
the training data.
Chi Yau (based on R doc of predict.svm
in e1071
by David Meyer)
chi.yau@r-tutor.com
rpusvm
, e1071::predict.svm
## Not run: # copied from e1071 library(rpud) data(iris) attach(iris) ## classification mode # default with factor response: model <- rpusvm(Species ~ ., data = iris) # alternatively the traditional interface: x <- subset(iris, select = -Species) y <- Species model <- rpusvm(x, y, probability = TRUE) print(model) summary(model) # test with train data pred <- predict(model, x) # (same as:) pred <- fitted(model) # compute decision values and probabilites pred <- predict(model, x, decision.values = TRUE, probability = TRUE) attr(pred, "decision.values")[1:4,] attr(pred, "probabilities")[1:4,] ## try regression mode on two dimensions # create data x <- seq(0.1, 5, by = 0.05) y <- log(x) + rnorm(x, sd = 0.2) # estimate model and predict input values m <- rpusvm(x, y) new <- predict(m, x) # visualize plot (x, y) points (x, log(x), col = 2) points (x, new, col = 4) ## density-estimation # create 2-dim. normal with rho=0: X <- data.frame(a = rnorm(1000), b = rnorm(1000)) attach(X) # traditional way: m <- rpusvm(X, gamma = 0.1) # formula interface: m <- rpusvm(~., data = X, gamma = 0.1) # or: m <- rpusvm(~ a + b, gamma = 0.1) # test: newdata <- data.frame(a = c(0, 4), b = c(0, 4)) predict (m, newdata) # visualize: plot(X, col = 1:1000 %in% m$index + 1, xlim = c(-5,5), ylim=c(-5,5)) points(newdata, pch = "+", col = 2, cex = 5) ## End(Not run)