b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

支持向量机通过寻找_r语言 支持向量机分类_支持向量机优缺点(4)

电脑杂谈  发布时间:2017-02-02 17:03:13  来源:网络整理

顺带说一句,在kernlab包中,可以自定义核函数。

Degree:多项式核的次数,默认为3

Gamma:除去线性核外,其他的核的参数,默认为1/数据维数

Coef0,:多项式核与sigmoid核的参数,默认为0

Cost:C分类的惩罚项C的取

Nu:nu分类,单一分类中nu的取

Cross:做K折交叉验证,计算分类正确性。

由于svm的编程确实过于复杂,还涉及到不少最优化的内容,所以在第二部分我的分类都是使用svm函数完成的(偷一下懒),现将部分R代码展示如下:

dataSim的函数:

simData=function(radius,width,distance,sample_size)

{

aa1=runif(sample_size/2)

aa2=runif(sample_size/2)

rad=(radius-width/2)width*aa1

theta=pi*aa2

x=rad*cos(theta)

y=rad*sin(theta)

label=1*rep(1,length(x))

x1=rad*cos(-theta)rad

y1=rad*sin(-theta)-distance

label1=-1*rep(1,length(x1))

n_row=length(x)length(x1)

data=matrix(rep(0,3*n_row),nrow=n_row,ncol=3)

data[,1]=c(x,x1)

data[,2]=c(y,y1)

data[,3]=c(label,label1)

data

}

dataSim=simData(radius=10,width=6,distance=-6,sample_size=3000)

colnames(dataSim)<-c("x","y","label")

dataSim<-as.data.frame(dataSim)

Sigmoid核的分类预测:

m1 <- svm(label ~xy, data =dataSim,cross=10,type="C-classification",kernel="sigmoid")

m1

summary(m1)

pred1<-fitted(m1)

table(pred1,dataSim[,3])

核函数那一小节作图的各种东西:

linear.svm.fit <- svm(label ~ x y, data = dataSim, kernel ='linear')

with(dataSim, mean(label == ifelse(predict(linear.svm.fit) > 0,1, -1)))

polynomial.svm.fit <- svm(label ~ x y, data = dataSim, kernel ='polynomial')

with(dataSim, mean(label == ifelse(predict(polynomial.svm.fit) >0, 1, -1)))

r语言 支持向量机分类_支持向量机通过寻找_支持向量机优缺点

radial.svm.fit <- svm(label ~ x y, data = dataSim, kernel ='radial')

with(dataSim, mean(label == ifelse(predict(radial.svm.fit) > 0,1, -1)))


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-30138-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    每日福利
    热点图片
    拼命载入中...