基于支持向量机递归特征消除(SVM_RFE)的回归数据特征选择算法,matlab代码,输出为选择的特征序号。评价指标包括:R2、MAE、MSE、RMSE和MAPE等,代码质量极高,方便学习和替换数

 

%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%%  导入数据
res = xlsread('特征选择数据集.xlsx');

%%  数据分析
num_size = 0.7;                              % 训练集占数据集比例
outdim = 1;                                  % 最后一列为输出
num_samples = size(res, 1);                  % 样本个数
res = res(randperm(num_samples), :);         % 打乱数据集(不希望打乱时,注释该行)
num_train_s = round(num_size * num_samples); % 训练集样本个数
f_ = size(res, 2) - outdim;                  % 输入特征维度

%%  划分训练集和测试集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);

P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);

%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);

[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);

%% 矩阵转置
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test';

%%  特征选择
k = 10;                % 保留特征个数

智能算法及其模型预测

支持向量机递归特征消除SVM-RFE)是一种基于支持向量机回归数据特征选择算法。其主要思想是通过逐步删除最不重要的特征选择最佳的特征子集。 SVM-RFE算法首先使用支持向量机对原始特征进行训练,并得到特征的权重系。然后,它通过删除具有最低权重的特征来减少特征集的大小。经过每一轮的特征删除后,重新训练支持向量机,并计算每个特征的权重。这个过程持续进行,直到选择出所需的特征目为止。 SVM-RFE算法具有以下优点: 1. 对于高维数据,它可以自动选择出最佳的特征子集,减少特征的维度,提高模型的泛化能力。 2. 它能够在特征选择过程中评估特征的重要性,过滤掉不相关的特征,提高模型的效果。 3. 它可以处理非线性问题,通过核技巧将数据映射到高维空间。 然而,SVM-RFE算法也存在一些缺点: 1. 算法的计算复杂度较高,需要进行多次的支持向量机训练和特征权重的计算。 2. 在特征选择过程中,可能会遇到一些困难,因为有些特征可能与其他特征相关,删除它们可能会导致信息丢失。 总之,SVM-RFE算法是一种有效的特征选择方法,适用于回归问题。它通过递归地删除最不重要的特征选择出有价值的特征子集,提高了回归模型的性能。但需要注意的是,在使用该算法时,要根据具体的问题场景和数据集进行调参,以获得最佳的结果。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法及其模型预测

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值