R语言的SVM分类和贝叶斯

由于需要对数据进行分类,进一步进行判别,故对数据进行SVM和贝叶斯判别分析。

svm分类
if(nnn==0) {
sink("svm.html")
library(ISLR)
library(e1071)
head(Auto)
summary(Auto)
mpg_median = median(Auto$mpg)
Auto$mpg_flag = as.factor(ifelse(Auto$mpg > mpg_median, 1, 0))
tune.out= tune(svm, mpg_flag~., data = Auto, kernel = "linear", ranges = list(cost = c(0.01,0.1,1,5,10)), scale = TRUE)
summary(tune.out)
best.svm = tune.out$best.model
Auto.pred = predict(best.svm,newdata = Auto)
matrix_pred = matrix(table(true = Auto[,"mpg_flag"],pred = Auto.pred),ncol = 2)
sum(diag(matrix_pred)) / nrow(Auto)
jpeg(file="svm-1.jpg")
plot(best.svm,Auto,mpg~weight)
tune.out= tune(svm, mpg_flag~., data = Auto, kernel = "radial", ranges = list(cost = c(0.1,1,10,100,1000),gamma = c(0.5,1,2,3,4)),scale = TRUE)
dev.off();jpeg(file="svm-2.jpg")
summary(tune.out)
best.svm = tune.out$best.model
summary(best.svm)
Auto.pred = predict(best.svm, newdata = Auto)
matrix_pred = matrix(table(true = Auto[,"mpg_flag"], pred = Auto.pred), ncol = 2)
sum(diag(matrix_pred)) / nrow(Auto)
plot(best.svm, Auto, mpg~weight)
dev.off()
sink()
} else {
sink("svm.html")
library(ISLR)
library(e1071)
head(Auto)
summary(Auto)
data=newdata
jpeg(file="svm-1.jpg")
tune.out= tune(svm, data[,aaa2]~., data = data, kernel = "linear", ranges = list(cost = c(0.01,0.1,1,5,10)), scale = TRUE)
summary(tune.out)
best.svm = tune.out$best.model
Auto.pred = predict(best.svm,newdata =newdata)
matrix_pred = matrix(table(true = newdata[,"y"],pred = Auto.pred ),ncol = 2)
sum(diag(matrix_pred)) / nrow(newdata)
plot(best.svm,newdata,data[,aaa2]~.)
dev.off()
sink()
}
贝叶斯分析
if(nnn==0) {
sink("svm.html")
library(ISLR)
library(e1071)
head(Auto)
summary(Auto)
mpg_median = median(Auto$mpg)
Auto$mpg_flag = as.factor(ifelse(Auto$mpg > mpg_median, 1, 0))
tune.out= tune(svm, mpg_flag~., data = Auto, kernel = "linear", ranges = list(cost = c(0.01,0.1,1,5,10)), scale = TRUE)
summary(tune.out)
best.svm = tune.out$best.model
Auto.pred = predict(best.svm,newdata = Auto)
matrix_pred = matrix(table(true = Auto[,"mpg_flag"],pred = Auto.pred),ncol = 2)
sum(diag(matrix_pred)) / nrow(Auto)
jpeg(file="svm-1.jpg")
plot(best.svm,Auto,mpg~weight)
tune.out= tune(svm, mpg_flag~., data = Auto, kernel = "radial", ranges = list(cost = c(0.1,1,10,100,1000),gamma = c(0.5,1,2,3,4)),scale = TRUE)
dev.off();jpeg(file="svm-2.jpg")
summary(tune.out)
best.svm = tune.out$best.model
summary(best.svm)
Auto.pred = predict(best.svm, newdata = Auto)
matrix_pred = matrix(table(true = Auto[,"mpg_flag"], pred = Auto.pred), ncol = 2)
sum(diag(matrix_pred)) / nrow(Auto)
plot(best.svm, Auto, mpg~weight)
dev.off()
sink()
} else {
sink("svm.html")
library(ISLR)
library(e1071)
head(Auto)
summary(Auto)
data=newdata
jpeg(file="svm-1.jpg")
tune.out= tune(svm, data[,aaa2]~., data = data, kernel = "linear", ranges = list(cost = c(0.01,0.1,1,5,10)), scale = TRUE)
summary(tune.out)
best.svm = tune.out$best.model
Auto.pred = predict(best.svm,newdata =newdata)
matrix_pred = matrix(table(true = newdata[,"y"],pred = Auto.pred ),ncol = 2)
sum(diag(matrix_pred)) / nrow(newdata)
plot(best.svm,newdata,data[,aaa2]~.)
dev.off()
sink()
}
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值