predict.nnet              package:nnet              R Documentation

_P_r_e_d_i_c_t _N_e_w _E_x_a_m_p_l_e_s _b_y _a _T_r_a_i_n_e_d _N_e_u_r_a_l _N_e_t

_D_e_s_c_r_i_p_t_i_o_n:

     Predict new examples by a trained neural net.

_U_s_a_g_e:

     predict(object, newdata, type=c("raw","class"), ...)

_A_r_g_u_m_e_n_t_s:

  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 

_D_e_t_a_i_l_s:

     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.

_V_a_l_u_e:

     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').

_S_e_e _A_l_s_o:

     `nnet', `which.is.max'

_E_x_a_m_p_l_e_s:

     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=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"))

