多元
回归
预测 |
Matlab
基于
支持向量机
递归
特征
消除
(
SVM
_
RFE
)的
回归
数据
特征选择
算法
,
matlab
代码,输出为选择的
特征
序号
基于
SVM
-
RFE
支持向量机
递归
特征
消除
的
回归
数据
特征选择
算法
,输出为选择的
特征
序号(
Matlab
完整程序和
数据
)
Chinese:
Options:可用的选项即表示的涵义如下
-s
svm
类型:
SVM
设置类型(默认0)
0 -- C-SVC
1 --v-SVC
2 – 一类
SVM
3 -- e -SVR
4 -- v-SVR
-t 核函数类型:核函数设置类型(默认2)
0 – 线性:u'v
1 – 多项式:(r*u'v + coef0)^degree
2 – RBF函数:exp(-r|u-v|^2)
3 –sigmoid:tanh(r*u'v + coef0)
经过
特征选择
后,保留
特征
的序号为:
126 160 161 163 165 166 237 239 240 370
评价结果如下所示:
平均绝对误差MAE为:0.27933
均方误差MSE为: 0.15813
均方根误差RMSEP为: 0.39765
决定系数R^2为: 0.93392
剩余预测残差RPD为: 4.2631
平均绝对百分比误差MAPE为: 0.0032299
支持向量机
递归
特征
消除
(下文简称
SVM
-
RFE
)是由Guyon等人在对癌症分类时提出来的,最初只能对两类
数据
进行
特征
提取。它是一种基于Embedded方法。
支持向量机
支持向量机
广泛用于模式识别,机器学习等领域,
SVM
采用结构风险最小化原则,同时最小化经验误差,以此提高学习的性能。详细的
SVM
介绍请看我的另一篇博文《 线性
支持向量机
》在这简单介绍一下
SVM
。
设训练集{(xi,yi)}Ni=1\{(
SVM
-
RFE
算法
是根据
SVM
在训练时生成的权向量w来构造排序系数,每次迭代去掉一个排序系数最小的
特征
属性,最终得到所有
特征
属性的递减顺序的排序。
经典的SV...
支持向量机
()是一种监督学习的分类
算法
。它的基本思想是找到一个能够最好地将不同类别的
数据
分开的超平面,同时最大化分类器的边际(margin)。
SVM
的训练目标是最大化间隔(margin),即支持向量到超平面的距离。具体地,对于给定的训练集,
SVM
会找到一个最优的分离超平面,使得距离该超平面最近的样本点(即支持向量)到该超平面的距离最大化。
SVM
是一种二分类
算法
,但可以通过多次调用
SVM
实现多分类问题的解决。
SVM
的优化问题可以通过凸优化来求解,其中使用拉格朗日乘子法将约束优化问题转化为无约束优化问题。
基于
支持向量机
递归
特征
消除
(
SVM
_
RFE
)的
回归
数据
特征选择
算法
,
matlab
代码,输出为选择的
特征
序号。
评价指标包括:R2、MAE、MSE、RMSE和MAPE等,代码质量极高,方便学习和替换
数据
。
特征选择
方法-
RFE
(包装式模型)(一)
RFE
基本思想 1.将全部
特征
纳入模型中,得到
特征
对应的系数(即权重); 2.将取值最小的系数平方和对应的
特征
从模型中移除; 3.用剩下的
特征
在进行模型训练,在进行
特征
移除,直至没有
特征
;(二)基于
SVM
的
RFE
1.模拟
算法
import numpy as npimport pandas as pdfrom sklearn import da...