实战案例:基于随机森林的变量(因素)重要性分析及代码实现

实战案例:基于随机森林的变量(因素)重要性分析及代码实现_第1张图片

目录

1 随机森林重要性分析的基本原理

2 基于随机森林的变量重要性评分

3 实战案例

3.1 输入变量(13个属性因素,252组)

3.2 输出变量(体脂含量指标,单输出,252组)

3.3 部分代码

3.4 随机森林对变量重要性分析结果

4 MATLAB全部代码


实战案例:基于随机森林的变量(因素)重要性分析及代码实现_第2张图片

 

1 随机森林重要性分析的基本原理

实战案例:基于随机森林的变量(因素)重要性分析及代码实现_第3张图片

实战案例:基于随机森林的变量(因素)重要性分析及代码实现_第4张图片

2 基于随机森林的变量重要性评分

实战案例:基于随机森林的变量(因素)重要性分析及代码实现_第5张图片

实战案例:基于随机森林的变量(因素)重要性分析及代码实现_第6张图片

实战案例:基于随机森林的变量(因素)重要性分析及代码实现_第7张图片

实战案例:基于随机森林的变量(因素)重要性分析及代码实现_第8张图片

实战案例:基于随机森林的变量(因素)重要性分析及代码实现_第9张图片

3 实战案例

以人体的体脂数据集百分比数据集为例,数据集body_fat dataset,是深度学习中常用的预测应用数据,对该数据集的变量解释如下:

3.1 输入变量(13个属性因素,252组)

1.年龄(年)

2.重量(磅)

3.高度(英寸)

4.颈围(厘米)

5.胸围(厘米)

6.腹部2周长(厘米)

7.臀围(厘米)

8.大腿围(厘米)

9.膝围(厘米)

10.踝围(厘米)

11.二头肌(延长)周长(厘米)

12.前臂周长(厘米)

13腕围(厘米)

3.2 输出变量(体脂含量指标,单输出,252组)

1. 身体脂肪含量

实战案例:基于随机森林的变量(因素)重要性分析及代码实现_第10张图片

3.3 部分代码

%% 随机森林主程序
%----------------------------
clear 
clc
close all

%数据导入
data = xlsread('数据.xlsx', 'Sheet1', 'B2:O253');

%训练/测试数据
input = data(:,1:end-1);
output= data(:,end);

% 准备输入和输出训练数据
input_train =input(1:ntrain,:);
output_train=output(1:ntrain,:);
% 准备测试数据
input_test =input(ntrain+1:ntrain+ntest,:);
output_test=output(ntrain+1:ntrain+ntest,:);

%% 随机森林参数设定
%叶子数
leaf=5;
%森林大小
ntrees=800; 

%树木根
fboot=1; 
surrogate='on'; 
% 训练模型 
In  = input_train;
Out = output_train;

3.4 随机森林对变量重要性分析结果

实战案例:基于随机森林的变量(因素)重要性分析及代码实现_第11张图片

实战案例:基于随机森林的变量(因素)重要性分析及代码实现_第12张图片

参考文献:[1]马金沙. 基于随机森林变量重要性评分的变量筛选方法及其在肿瘤分型诊断中的应用[D].山西医科大学,2021.

4 MATLAB全部代码

MATLAB代码地址https://mianbaoduo.com/o/bread/YZ6WlZ1xhttps://mianbaoduo.com/o/bread/YZ6WlZ1x

你可能感兴趣的