data(iris)
attach(iris)
## classification mode
# default with factor response:
model <- svm (Species~., data=iris)
# alternatively the traditional interface:
x <- subset (iris, select = -Species)
y <- Species
model <- svm (x, y)
print (model)
summary (model)
# test with train data
pred <- predict (model, x)
# (same as:)
pred <- predict (model)
# Check accuracy:
table (pred,y)
## 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 <- svm (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 <- svm (X, gamma=0.1)
# formula interface:
m <- svm (~., data=X, gamma=0.1)
# or:
m <- svm (~a+b, gamma=0.1)
# test:
newdata <- data.frame(a=c(0,4), b=c(0,4))
predict (m, newdata)
Run the code above in your browser using DataLab