library(MASS) library(class) library(nnet) library(e1071) N=200 a<-cbind(rnorm(N,mean=0,sd=0.5),rnorm(N,mean=1,sd=0.5)) b<-cbind(rnorm(N,mean=0,sd=0.5),rnorm(N,mean=-1,sd=0.5)) ab<-rbind(a,b) ab<-data.frame(ab,rep(1,100)) names(ab)<-c("x1","x2","y") c<-cbind(rnorm(N,mean=-1,sd=0.5),rnorm(N,mean=0,sd=0.5)) d<-cbind(rnorm(N,mean=1,sd=0.5),rnorm(N,mean=0,sd=0.5)) cd<-rbind(c,d) cd<-data.frame(cd,rep(0,100)) names(cd)<-c("x1","x2","y") dat<-rbind(ab,cd) xp <- seq(min(dat$x1), max(dat$x1), length = 100); np <- length(xp) yp <- seq(min(dat$x2), max(dat$x2), length = 100) pt <- expand.grid(x1 = xp, x2 = yp) dat.svm<-svm(as.matrix(dat)[,-3], as.factor(dat$y), kernel="polynomial", degree=2) dat.svm.t <- class.ind(predict(dat.svm, pt )) zp.svm <- dat.svm.t[,1]-dat.svm.t[,2] plot(dat$x1,dat$x2,col=dat$y+1) title("SVM XOR") mtext("polynomial, d=2") contour(xp, yp, matrix(zp.svm, np), add = T, levels = 0, labex = 0) dat.svm.cv<-svm(as.matrix(dat)[,-3], as.factor(dat$y), kernel="polynomial", degree=2, cross=10)