# przyklad 2.12 library(e1071) attach(irys) tp<-factor(irys$klasa) xp<-seq(0.0,2.5,length=100) yp<-seq(1.0,7.0,length=100) irysT<-expand.grid(sp=xp,dp=yp) np<-length(xp) #z wielomianowa funkcja jadrowa plot(sp,dp,type="n",ylab='Długość płatka',xlab='Szerokość płatka',main='Wielomianowa') text(sp,dp, as.character(tp)) irys.svm.Poly.tune<-tune.svm(tp~sp+dp, kernel = "polynomial", degree=3, gamma=2^(-2:3), coef0=0, cost=10^(-2:3)) Z<-predict(irys.svm.Poly.tune$best.model, irysT, type = "class") contour(xp,yp,matrix(as.numeric(Z=="s"),np),add=T,levels=0.5,labex=0,drawlabels=F) contour(xp,yp,matrix(as.numeric(Z=="v"),np),add=T,levels=0.5,labex=0,drawlabels=F) #z sigmoidalna funkcja jadrowa plot(sp,dp,type="n",ylab='Długość płatka',xlab='Szerokość płatka',main='Sigmoidalna') text(sp,dp, as.character(tp)) irys.svm.Gauss.tune<-tune.svm(tp~sp+dp,kernel='sigmoid',gamma=2^(-2:3), coef0=c(0.5,1,2,5,10), cost=1) Z<-predict(irys.svm.Gauss.tune$best.model, irysT, type = "class") contour(xp,yp,matrix(as.numeric(Z=="s"),np),add=T,levels=0.5,labex=0,drawlabels=F) contour(xp,yp,matrix(as.numeric(Z=="v"),np),add=T,levels=0.5,labex=0,drawlabels=F) #z liniowa funkcja jadrowa plot(sp,dp,type="n",ylab='Długość płatka',xlab='Szerokość płatka',main='Liniowa') text(sp,dp, as.character(tp)) irys.svm.Lin.tune<-tune.svm(tp~sp+dp,kernel="linear" , cost=10^(-2:3)) Z<-predict(irys.svm.Lin.tune$best.model, irysT, type = "class") contour(xp,yp,matrix(as.numeric(Z=="s"),np),add=T,levels=0.5,labex=0,drawlabels=F) contour(xp,yp,matrix(as.numeric(Z=="v"),np),add=T,levels=0.5,labex=0,drawlabels=F) # Gaussa #z liniowa funkcja jadrowa plot(sp,dp,type="n",ylab='Długość płatka',xlab='Szerokość płatka',main='Gaussa') text(sp,dp, as.character(tp)) irys.svm.Lin.tune<-tune.svm(tp~sp+dp,kernel="radial",gamma=2^(-2:3),cost=10^(-2:3)) Z<-predict(irys.svm.Lin.tune$best.model, irysT, type = "class") contour(xp,yp,matrix(as.numeric(Z=="s"),np),add=T,levels=0.5,labex=0,drawlabels=F) contour(xp,yp,matrix(as.numeric(Z=="v"),np),add=T,levels=0.5,labex=0,drawlabels=F)