2025 - 生信信息学 - GEO数据分析 - RF分析(随机森林)

GEO数据分析 - RF分析(随机森林)


01 准备数据文件

r 复制代码
#install.packages("randomForest")


#引用包
library(randomForest)
set.seed(123456)

inputFile="diffGeneExp.txt"       #输入文件
setwd("/Users/wangyang/Desktop/BCBM/02randomForest-ANN")      #设置工作目录

#读取输入文件
data=read.table(inputFile, header=T, sep="\t", check.names=F, row.names=1)
data=t(data)
group=gsub("(.*)\\_(.*)", "\\2", row.names(data))

#随机森林树
rf=randomForest(as.factor(group)~., data=data, ntree=500)
pdf(file="forest.pdf", width=6, height=6)
plot(rf, main="Random forest", lwd=2)
dev.off()

#找出误差最小的点
optionTrees=which.min(rf$err.rate[,1])
optionTrees
rf2=randomForest(as.factor(group)~., data=data, ntree=optionTrees)

#查看基因的重要性
importance=importance(x=rf2)

#绘制基因的重要性图
pdf(file="geneImportance.pdf", width=6.2, height=7.8)
varImpPlot(rf2, main="")
dev.off()

#挑选疾病特征基因
rfGenes=importance[order(importance[,"MeanDecreaseGini"], decreasing = TRUE),]
rfGenes=names(rfGenes[rfGenes>1])     #挑选重要性评分大于1的基因
#rfGenes=names(rfGenes[1:30])         #挑选重要性评分最高的30个基因
write.table(rfGenes, file="rfGenes.txt", sep="\t", quote=F, col.names=F, row.names=F)

#输出重要基因的表达量
sigExp=t(data[,rfGenes])
sigExpOut=rbind(ID=colnames(sigExp),sigExp)
write.table(sigExpOut, file="rfGeneExp.txt", sep="\t", quote=F, col.names=F)
相关推荐
ar012313 小时前
AR技术在质量检测中的应用与发展趋势——赋能制造业智能质检升级
人工智能·ar
真上帝的左手13 小时前
26. AI-大语言模型-提示词工程
人工智能·语言模型·自然语言处理·提示词
唯创知音13 小时前
卫浴产品智能化升级:语音交互的技术演进与场景落地
人工智能·语音识别·智能卫浴产品
元智启13 小时前
企业AI应用从“能用”到“可信”:智能体评估体系与安全治理实战指南
人工智能·安全
橘白31613 小时前
GVHMR
人工智能·算法·机器人·机器人数据·视频动捕
Gerardisite13 小时前
私域运营新利器:RPA驱动外部群多模态互动
java·人工智能·python·微信·自动化
xiaotao13113 小时前
04-进阶方向: 01-计算机视觉(CV)——实例分割:Mask R-CNN
人工智能·计算机视觉·r-cnn
工业甲酰苯胺13 小时前
2026 产业 AI 爆发:JNPF 助企业少走 3 年弯路
人工智能·算法·低代码
今天吃饺子13 小时前
500种组合实现故障分类够用不?50种深度学习模型×10种时频方法,故障诊断、分类一键跑通!
人工智能·深度学习·机器学习·分类·数据挖掘
cood1b13 小时前
国内玩转claude教程!!!
人工智能