r语言随机森林_机器学习:R语言实现随机森林

本文介绍如何使用R语言的randomForest包进行随机森林分析,以16S扩增子测序数据为例,探讨随机森林在高维特征数据上的应用,包括数据预处理、模型构建和变量重要性评估,旨在寻找区分环境的生物标志物。
摘要由CSDN通过智能技术生成
3c847241c748a4250a852289a43d4a0b.gif R包randomForest的随机森林分类模型以及对重要变量的选择 58e02552fe07921039d10598fb3d859b.gif 随机森林(random forest)是一种组成式的有监督学习方法,可视为决策树 的扩展。 随机森林通过对对象和变量进行抽样构建预测模型,即生成多个决策树,并依次对对象进行分类。 最后将各决策树的分类结果汇总,所有预测类别中的众数类别即为随机森林所预测的该对象的类别,分类准确率提升。

随机森林工作过程可概括如下:

(1)假设训练集中共有N个对象、M个变量,从训练集中随机有放回地抽取N个对象构建决策树;

(2)在每一个节点随机抽取m个变量,将其作为分割该节点的候选变量,每一个节点处的变量数应一致;

(3)完整生成所有决策树,无需剪枝(最小节点为1);

(4)重复(1)-(3)过程,获得大量决策树;终端节点的所属类别由节点对应的众数类别决定;

(5)对于新的观测点,用所有的树对其进行分类,其类别由多数决定原则生成。

相较于其它分类方法,随机森林通常具有如下优势:

分类准确率通常更高;

能够有效处理具有高维特征(多元)的数据集,而且不需要降维;

在处理大数据集时也具有优势;

可应用于具有大量缺失值的数据中;

能够在分类的同时度量变量对分类的相对重要性。

本篇使用微生物群落研究中的16S扩增子测序数据,展示R包randomForest中的随机森林方法。

注:randomForest包根据经典决策树生成随机森林;如果期望根据条件推断树生成随机森林,可使用party包。当预测变量间高度相关时,基于条件推断树的随机森林可能效果更好。

示例数据,R代码的百度盘链接:

https://pan.baidu.com/s/10MWBfjBnYIzf6Cx2Zd9CjA

数据集

示例文件“otu_table.txt”为来自16S测序所获得的细菌OTUs丰度表格,共计120个样本,其中60个来自环境c(c组),60个来自环境h(h组)。

接下来使用该数据:

(1)任一OTUs的丰度都很难作为判别两种不同环境的标准,因此接下来综合考虑所有OTUs的丰度并进行建模,目的是找到能够稳定区分两种环境的代表性OTUs组合(作为生物标志物);

(2)通过代表性OTUs的丰度构建预测模型,即仅通过这些OTUs的丰度就能够判断样本分类。

首先读入数据预处理。

#读取 OTUs 丰度表
otu  
#过滤低丰度 OTUs 类群,它们对分类贡献度低,且影响计算效率
#120 个样本,就按 OTUs 丰度的行和不小于 120 为准吧
otu = 120), ]
#合并分组,得到能够被 randomForest 识别计算的格式
group otu otu_group  
#将总数据集分为训练集(占 70%)和测试集(占 30%)
set.seed(123)
select_train otu_train otu_test 

随机森林构建

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值