基于随机森林实现特征选择降维及回归预测(Matlab代码实现)

简介: 基于随机森林实现特征选择降维及回归预测(Matlab代码实现)

摘要:

演示如何通过Matlab自带的随机森林函数进行特征选择,筛选出大量特征数据中对于回归预测最重要的特征,并对各特征进行重要性排序,充分反应不同特征的重要性。演示如何在种植随机树林时为数据集选择适当的拆分预测变量选择技术。随机森林特征筛选一种特征选择技术,特征选择( Feature Selection )也称特征子集选择( Feature Subset Selection , FSS ),或属性选择( Attribute Selection )。是指从已有的M个特征(Feature)中选择N个特征使得系统的特定指标最优化,是从原始特征中选择出一些最有效特征以降低数据集维度的过程,是提高学习算法性能的一个重要手段,也是模式识别中关键的数据预处理步骤。对于一个学习算法来说,好的学习样本是训练模型的关键。


1.随机森林:

随机森林算法(Random Forest,RF)是一种 新型机器学习算法,是利用多棵决策树对样本进行训练并集成预测的一种分类器,它采用Boot‐ strap重抽样技术从原始样本中随机抽取数据构 造多个样本,然后对每个重抽样样本采用节点的 随机分裂技术构造多棵决策树,最后将多棵决策树组合,并通过投票得出最终预测结果。

根据下列算法而建造每棵树 :


1.用N来表示训练用例(样本)的个数,M表示特征数目。


2.输入特征数目m,用于确定决策树上一个节点的决策结果;其中m应远小于M。


3.从N个训练用例(样本)中以有放回抽样的方式,取样N次,形成一个训练集(即bootstrap取样),并用未抽到的用例(样本)作预测,评估其误差。


4.对于每一个节点,随机选择m个特征,决策树上每个节点的决定都是基于这些特征确定的。根据这m个特征,计算其最佳的分裂方式。


5.每棵树都会完整成长而不会剪枝,这有可能在建完一棵正常树状分类器后会被采用)。


2.随机森林的特征选取:

随机森林算法利用 OOB 误差计算特征变量相对重要性,并对特征变量进行排序和筛选,这一特点对于大量特征参与分类时非常适用,因为众多特征之间的高相关性会产生高维问题,会显著降低提取的精度。现阶段机器学习模型的特征空间往往庞大且复杂,呈现出高维性、非线性等复杂特点,面对这样的海量高维数据,剔除冗余特征进行特征筛选,已成为当今信息与科学技术面临的重要问题之一。实际上,特征选择正是从输入特征中优选了重要性高、信息量丰富的特征来提高地物信息提取的精度,在遥感应用中有着重要的应用潜力。


在特征重要性的基础上,特征选择的步骤如下:


1.计算每个特征的重要性,并按降序排序


2.确定要剔除的比例,依据特征重要性剔除相应比例的特征,得到一个新的特征集


3.用新的特征集重复上述过程,直到剩下m个特征(m为提前设定的值


4.根据上述过程中得到的各个特征集和特征集对应的袋外误差率,选择袋外误差率最低的特征集


3.基于Matlab自带的随机森林函数进行特征选取具体步骤

(1)加载数据

加载Matlab自带的数据集。建立一个随机森林预测模型,该模型根据汽车的气缸数、发动机排量、马力、重量、加速度、车型年份和原产国来预测汽车的燃油经济性。使用Load函数进行数据的加载。


各单词解释:


【Cylinders,Displacement,Horsepower,Weight,Acceleration,Model_Year,Origin】


【气缸数目,排量,马力,重量,加速度,车辆年份,原产地】


(2)首先建立随机森林并使用全部特征进行车辆经济性预测

使用templateTree和fitrensemble这两个函数建立随机森林,并先使用全部的特征进行车辆经济性进行预测。输入为【气缸数目,排量,马力,重量,加速度,车辆年份,原产地】,输出为【车辆经济性】,随机森林中的决策树数量设置为100。训练模型并进行预测分析,具体结果如下,使用全部特征进行预测的准确度为87.1417.


(3)使用随机森林进行特征选择

根据第二点所述,利用 OOB 误差计算特征变量相对重要性,并对特征变量进行排序和筛选,编写相关程序进行随机森林特征筛选,具体结果与各个特征变量的重要性情况如下所示:

(4)评价各个特征之间的相关性

当随机森林评价完成特征的重要性后,还需要对各个特征变量之间的相关性进行评估,以更加明显的看出何种特征最能影响预测结果,使用皮尔逊系数作为各个特征变量之间的相关性评价指标,从下图可以看出,越接近黄色表示相关性越强。


(5)使用筛选后的特征进行测试

综合之前所有特征的重要性与相关性的重要性评价情况,使用【重量,车辆年份】这两个特征进行回归预测,也就是从7个特征降维到2个特征。建立随机森林进行回归预测,其设置与之前的相同,同样使用100棵树。具体结果如下

可以看到,使用两个特征进行预测的准确度为85.2077,与使用所有特征进行预测的准确度相差不大,这表明随机森林特征选择方法有效的选择出了最重要的特征,实现了从大量特征到少数重要特征的特征降维筛选,极大的降低了特征的冗余性。


4 Matlab相关代码

相关文章
|
1天前
|
机器学习/深度学习 算法
基于鲸鱼优化的knn分类特征选择算法matlab仿真
**基于WOA的KNN特征选择算法摘要** 该研究提出了一种融合鲸鱼优化算法(WOA)与K近邻(KNN)分类器的特征选择方法,旨在提升KNN的分类精度。在MATLAB2022a中实现,WOA负责优化特征子集,通过模拟鲸鱼捕食行为的螺旋式和包围策略搜索最佳特征。KNN则用于评估特征子集的性能。算法流程包括WOA参数初始化、特征二进制编码、适应度函数定义(以分类准确率为基准)、WOA迭代搜索及最优解输出。该方法有效地结合了启发式搜索与机器学习,优化特征选择,提高分类性能。
|
2天前
|
传感器 算法
ANC主动降噪理论及Matlab代码实现
ANC主动降噪理论及Matlab代码实现
|
14天前
|
机器学习/深度学习 算法 数据可视化
基于GA遗传优化的CNN-LSTM的时间序列回归预测matlab仿真
摘要:该内容展示了基于遗传算法优化的CNN-LSTM时间序列预测模型在matlab2022a中的应用。核心程序包括遗传算法优化过程、网络训练、误差分析及预测结果的可视化。模型通过GA调整CNN-LSTM的超参数,提升预测准确性和稳定性。算法流程涉及初始化、评估、选择、交叉和变异等步骤,旨在找到最佳超参数以优化模型性能。
|
3天前
|
算法
基于蝗虫优化的KNN分类特征选择算法的matlab仿真
摘要: - 功能:使用蝗虫优化算法增强KNN分类器的特征选择,提高分类准确性 - 软件版本:MATLAB2022a - 核心算法:通过GOA选择KNN的最优特征以改善性能 - 算法原理: - KNN基于最近邻原则进行分类 - 特征选择能去除冗余,提高效率 - GOA模仿蝗虫行为寻找最佳特征子集,以最大化KNN的验证集准确率 - 运行流程:初始化、评估、更新,直到达到停止标准,输出最佳特征组合
|
30天前
|
机器学习/深度学习 算法
【MATLAB】基于VMD-SSA-LSTM的回归预测模型
【MATLAB】基于VMD-SSA-LSTM的回归预测模型
41 4
|
1月前
|
机器学习/深度学习 算法
【MATLAB】基于EMD-PCA-LSTM的回归预测模型
【MATLAB】基于EMD-PCA-LSTM的回归预测模型
35 0
【MATLAB】基于EMD-PCA-LSTM的回归预测模型
|
13天前
|
机器学习/深度学习 算法
基于GA遗传优化的CNN-GRU的时间序列回归预测matlab仿真
摘要: 使用MATLAB2022a,展示了一种基于遗传算法优化的CNN-GRU时间序列预测模型,融合遗传算法与深度学习,提升预测精度。遗传算法负责优化模型超参数,如学习率和神经元数量,以最小化均方误差。CNN负责特征提取,GRU处理序列数据中的长期依赖。流程包括初始化、评估、选择、交叉、变异和迭代,旨在找到最佳超参数组合。
|
1月前
|
机器学习/深度学习 算法 数据挖掘
基于GWO灰狼优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真
摘要: 本文介绍了使用matlab2022a中优化后的算法,应用于时间序列回归预测,结合CNN、LSTM和Attention机制,提升预测性能。GWO算法用于优化深度学习模型的超参数,模拟灰狼社群行为以求全局最优。算法流程包括CNN提取局部特征,LSTM处理序列依赖,注意力机制聚焦相关历史信息。GWO的灰狼角色划分和迭代策略助力寻找最佳解。
|
27天前
|
机器学习/深度学习 算法 数据挖掘
基于GWO灰狼优化的CNN-GRU-Attention的时间序列回归预测matlab仿真
摘要: 该文介绍了使用 MATLAB 2022a 进行时间序列预测的算法优化。优化前后对比显示效果改善明显。算法基于CNN、GRU和注意力机制的深度学习模型,其中GWO(灰狼优化)用于优化超参数。CNN提取时间序列的局部特征,GRU处理序列数据的长期依赖,注意力机制聚焦关键信息。GWO算法模拟灰狼行为以实现全局优化。提供的代码片段展示了网络训练和预测过程,以及预测值与真实值的比较。
|
1月前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度

热门文章

最新文章