前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >🤩 Mime1 | 终极机器学习算法大组合筛选你的最佳模型(二)(二分类结局篇)

🤩 Mime1 | 终极机器学习算法大组合筛选你的最佳模型(二)(二分类结局篇)

作者头像
生信漫卷
发布2024-07-12 16:09:29
3560
发布2024-07-12 16:09:29
举报
文章被收录于专栏:R语言及实用科研软件

写在前面

最近看了伊斯坦布尔的介绍,希望有一天可以去看一下,世界的首都。😭

自己一身班味儿!~🫠

每天满满的职业倦怠,只想休假。😂

用到的包

代码语言:javascript
复制
rm(list = ls())
library(Mime1)

示例数据

代码语言:javascript
复制
load("./Example.ici.Rdata")
load("./genelist.Rdata")

构建模型

代码语言:javascript
复制
res.ici <- ML.Dev.Pred.Category.Sig(train_data = list_train_vali_Data$training,
                                      list_train_vali_Data = list_train_vali_Data,
                                      candidate_genes = genelist,
                                      methods = c('nb','svmRadialWeights','rf','kknn','adaboost','LogitBoost','cancerclass'),
                                      seed = 123,
                                      cores_for_parallel = 60
)

展示各模型AUC

代码语言:javascript
复制
auc_vis_category_all(res.ici,dataset = c("training","validation"),
                     order= c("training","validation"))

绘制不同数据集中特定方法的ROC

代码语言:javascript
复制
plot_list<-list()

methods <- c('nb','svmRadialWeights','rf','kknn','adaboost','LogitBoost','cancerclass')
for (i in methods) {
  plot_list[[i]]<-roc_vis_category(res.ici,model_name = i,dataset = c("training","validation"),
                                   order= c("training","validation"),
                                   anno_position=c(0.4,0.25))
}
aplot::plot_list(gglist=plot_list,ncol=3)

与已知模型相比较

比较AUC。🙊

代码语言:javascript
复制
auc.other.pre <- cal_auc_previous_sig(list_train_vali_Data = list_train_vali_Data,seed = 123,
                                      train_data = list_train_vali_Data$training,
                                      cores_for_parallel = 32)

可视化一下比较结果。😘

代码语言:javascript
复制
auc_category_comp(res.ici,
                  auc.other.pre,
                  model_name="svmRadialWeights",
                  dataset=names(list_train_vali_Data))

关键特征筛选

代码语言:javascript
复制
load("./Example.cohort.Rdata")
load("./genelist.Rdata")
res.feature.all <- ML.Corefeature.Prog.Screen(InputMatrix = list_train_vali_Data$Dataset1,
                                            candidate_genes = genelist,
                                            mode = "all",nodesize =5,seed = 123)

upset图展示结果!~😘

代码语言:javascript
复制
core_feature_select(res.feature.all)

可视化Top 20的特征基因。🧬

代码语言:javascript
复制
core_feature_rank(res.feature.all, top=20)

计算指定基因的相关性

代码语言:javascript
复制
dataset_col<-c("#3182BDFF","#E6550DFF")
corplot <- list()
for (i in c(1:2)) {
  print(corplot[[i]]<-cor_plot(list_train_vali_Data[[i]],
                               dataset=names(list_train_vali_Data)[i],
                               color = dataset_col[i],
                               feature1="PSEN2",
                               feature2="WNT5B",
                               method="pearson"))
}
aplot::plot_list(gglist=corplot,ncol=2)


根据不同数据集中特定基因的中位表达水平绘制患者的生存曲线。🙊

代码语言:javascript
复制
survplot <- vector("list",2) 
for (i in c(1:2)) {
  print(survplot[[i]]<-core_feature_sur("PSEN2", 
                                        InputMatrix=list_train_vali_Data[[i]],
                                        dataset = names(list_train_vali_Data)[i],
                                        #color=c("blue","green"),
                                        median.line = "hv",
                                        cutoff = 0.5,
                                        conf.int = T,
                                        xlab="Day",pval.coord=c(1000,0.9)))
}
aplot::plot_list(gglist=survplot,ncol=2)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信漫卷 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写在前面
  • 用到的包
  • 示例数据
  • 构建模型
  • 展示各模型AUC
  • 绘制不同数据集中特定方法的ROC
  • 与已知模型相比较
  • 关键特征筛选
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档