predict.nnet              package:nnet              R Documentation

Predict New Examples by a Trained Neural Net

Description:

     Predict new examples by a trained neural net.

Usage:

     ## S3 method for class 'nnet':
     predict(object, newdata, type = c("raw","class"), ...)

Arguments:

  object: an object of class 'nnet' as  returned by 'nnet'. 

 newdata: matrix or data frame of test examples. A vector is considered
          to be a row vector comprising a single case. 

    type: Type of output 

     ...: arguments passed to or from other methods. 

Details:

     This function is a method for the generic function 'predict()' for
     class '"nnet"'. It can be invoked by calling 'predict(x)' for an
     object 'x' of the appropriate class, or directly by calling
     'predict.nnet(x)' regardless of the class of the object.

Value:

     If 'type = "raw"', the matrix of values returned by the trained
     network; if 'type = "class"', the corresponding class (which is
     probably only useful if the net was generated by 'nnet.formula').

References:

     Ripley, B. D. (1996) _Pattern Recognition and Neural Networks._
     Cambridge.

     Venables, W. N. and Ripley, B. D. (2002) _Modern Applied
     Statistics with S._ Fourth edition.  Springer.

See Also:

     'nnet', 'which.is.max'

Examples:

     data(iris3)
     # use half the iris data
     ir <- rbind(iris3[,,1], iris3[,,2], iris3[,,3])
     targets <- class.ind( c(rep("s", 50), rep("c", 50), rep("v", 50)) )
     samp <- c(sample(1:50,25), sample(51:100,25), sample(101:150,25))
     ir1 <- nnet(ir[samp,], targets[samp,],size = 2, rang = 0.1,
                 decay = 5e-4, maxit = 200)
     test.cl <- function(true, pred){
             true <- max.col(true)
             cres <- max.col(pred)
             table(true, cres)
     }
     test.cl(targets[-samp,], predict(ir1, ir[-samp,]))

     # or
     ird <- data.frame(rbind(iris3[,,1], iris3[,,2], iris3[,,3]),
             species=factor(c(rep("s",50), rep("c", 50), rep("v", 50))))
     ir.nn2 <- nnet(species ~ ., data = ird, subset = samp, size = 2, rang = 0.1,
                 decay = 5e-4, maxit = 200)
     table(ird$species[-samp], predict(ir.nn2, ird[-samp,], type = "class"))

