R语言实现PSO-SVR

1、对数据进行特征选择

2、进行PSO-SVR实验

library(ISLR)#使用R语言中自带的数据包
dim(College)#查看该数据的行数和列数
[1] 777  18 
library(leaps)
sum(is.na(College$Apps))#看数据是否有缺失值
[1] 0
k=10
set.seed(1)
folds=sample(1:k,nrow(College),replace = TRUE)
cv.errors=matrix(NA,k,17,dimnames = list(NULL,paste(1:17)))
predict.regsubsets=function(object,newdata,id){
     form=as.formula(object$call[[2]])
     mat=model.matrix(form,newdata)
     coefi=coef(object,id=id)
     xvars=names(coefi)
     mat[,xvars]%*%coefi
 }
 for(j in 1:k){
     best.fit=regsubsets(Apps~.,data=College[folds!=j,],nvmax=17)
     for(i in 1:17){
         pred=predict(best.fit,College[folds==j,],id=i)
         cv.errors[j,i]=mean((College$Apps[folds==j]-pred)^2)
     }
 }
 apply(cv.errors, 2,mean)
      1       2       3       4       5       6       7       8       9      10 
1700274 1338304 1315245 1296220 1329976 1349159 1342177 1369784 1375110
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值