需要JoVE订阅才能观看此内容。 请登录或开始免费试用

方法文章

使用基于Mime的机器学习框架构建和可视化模型

3.8K 次观看

DOI:

10.3791/68553

2025年7月22日

* These authors contributed equally

本文内容

摘要

Mime 是一个灵活的计算框架,可用于构建性能优异的基于机器学习的整合模型。本文提供了利用复杂数据集开发高精度预测模型的详细逐步操作流程,以识别与疾病进展、患者预后及治疗反应相关的关键基因。

摘要

高通量测序技术的广泛应用显著加深了我们对生物学及肿瘤异质性的理解。基于转录组数据的机器学习算法在预测患者预后和临床治疗反应方面已变得至关重要。尽管机器学习算法不断进步,但目前仍缺乏一个开源平台,能够整合最先进的机器学习算法用于转录组数据分析。为填补这一空白,我们开发了 Mime——一个多功能的机器学习框架,旨在提升临床特征和基因特征预测模型的构建与可视化能力。Mime 通过整合多种数据集并采用最先进的特征选择技术,解决了临床预测中的关键挑战。该框架提供三大核心功能:模型构建、特征选择和数据可视化。模型构建涵盖多种机器学习算法,包括但不限于决策树、支持向量机和集成方法,使研究人员能够根据具体分析需求选择最合适的建模策略。特征选择模块采用递归特征消除(Recursive Feature Elimination)和LASSO回归等先进算法,精简数据集并聚焦最具信息量的特征。该框架支持通过交叉验证方法进行可定制的参数调优,在优化模型性能的同时降低过拟合风险。Mime 内置的可视化工具使研究人员能够高效解读模型结果,提供特征重要性及预测性能指标的图形化展示。在本文中,我们将详细介绍这一多功能机器学习框架的逐步操作流程。

引言

高通量测序技术的广泛应用极大地推动了我们对生物学和癌症异质性的理解1。这一生物技术领域的突破性进展不仅深化了我们的科学认知,也彻底改变了医学研究领域。通过使科研人员能够快速而准确地对大量遗传物质进行测序,高通量测序加速了新基因、突变及生物学通路的发现。越来越多的研究已从测序数据中明确出与疾病进展、患者预后及治疗反应性相关的特定分子特征2,3,4。这些特定特征为理解肿瘤生物学背后的转录调控网络提供了全面的图景,涵盖肿瘤起源、分化、迁移以及治疗耐药性等方面5。这些特征通常具有多样性和复杂性,涉及多个层面,而非局限于单一表现形式,这使得筛选和识别与疾病高度相关的关键基因变得困难。因此,迫切需要合理的计算策略来筛选出与疾病相关的关键基因。

机器学习(ML)是人工智能的一个分支,致力于构建能够从复杂数据集中学习、识别模式并建立高精度预测模型的系统,从而为决策提供参考依据6。近年来,基于转录组数据构建机器学习模型以预测患者预后或诊断疾病的研究已在多种疾病中迅速发展7,8,9,10。由于训练所用的数据集和算法不同,这些模型的性能往往存在显著差异。如何为后续实验和临床应用选择最优模型已成为一个紧迫的挑战。一种可行的方法是通过比较不同模型的性能,筛选出最具潜力的模型用于进一步应用7,11。此外,不同计算框架支持的参数设置和结果格式各异,这为模型间的比较分析带来了重大挑战。然而,目前尚无软件能够整合前沿的机器学习算法,以系统比较不同模型的优缺点并简化参数选择过程,从而降低用户的使用门槛。因此,亟需开发用户友好的软件工具,以促进转录组数据与多种机器学习算法的整合,同时克服当前生物标志物筛选和模型解释方面的局限性。此类技术进步将极大拓展我们对现有研究领域的认知能力,并最终改善患者的诊疗结局。

本研究开发了一个名为 Mime12 的开源 R 软件包,该软件包在多个数据集上表现出稳健的性能,旨在简化转录组数据集与多种机器学习算法的整合过程,从而降低相关操作的复杂性。为了从大规模转录组数据中识别潜在候选因子并构建最优模型,Mime 提供了四项应用功能:通过整合 10 种机器学习算法构建最优预后模型;利用 7 种机器学习算法构建二分类响应模型;采用 8 种机器学习算法识别与预后相关的核心特征;以及对各模型性能进行可视化展示。

访问受限。请登录或开始试用以查看此内容。

方案

注意:本研究的教程均在 Linux 平台上使用 R 软件运行。本方案所用 R 软件包的版本列于材料表中。以下展示了分析所需的每一步操作,详细协议也可在 GitHub 获取(https://github.com/l-magnificence/Mime)。使用 Mime 过程中遇到问题的用户可访问 GitHub Issue 页面(https://github.com/l-magnificence/Mime/issues)提供反馈。

1. Mime 软件及示例数据集的准备

  1. 使用以下代码从 GitHub 安装 Mime 的开发版本:
    devtools::install_github("l-magnificence/Mime")
  2. 准备包含转录组测序数据及生存信息或治疗临床响应信息的多个队列。此处使用两个示例数据集(Example.cohort 和 Example.ici)运行 Mime。Example.cohort 包含两个胶质瘤数据集;每个数据集分别从 TCGA 和 CGGA 数据库中随机选取 100 个样本。而 Example.ici 包含来自先前研究的 100 个接受免疫检查点抑制剂治疗前的随机选取样本。12所有示例数据均可从 GitHub 获取(https://github.com/l-magnificence/Mime/tree/main/External%20data)​
    1. 在 Example.cohort 中纳入多个数据集以构建预后预测模型。每个数据集的第一列 ID 为样本 ID,第二列和第三列 OS.time 与 OS 分别为患者的生存时间和生存状态;每个数据集的其他列为经 log2(x+1) 标准化的基因表达水平。Dataset1 为训练数据集,其余数据集用于验证。Example.cohort 的格式如下所示:
      加载("./Example.cohort.Rdata" )
      训练与验证数据列表 [["数据集1" ]][1:5,1:5]
      #> ID OS.时间 OS MT-CO1 MT-CO3
      #> TCGA.DH.A66B.01 1281.65322 0 13.77340 13.67931
      #> TCGA.HT.7607.01 96.19915 1 14.96535 14.31857
      #> TCGA.DB.A64Q.01 182.37755 0 13.90659 13.65321
      #> TCGA.DU.8167.01 471.97707 0 14.90695 14.59776
      #> TCGA.HT.7610.01 1709.53901 0 15.22784 14.62756
    2. 在 Example.ici 中包含多个数据集以构建治疗反应的预测模型。每个数据集的第一列为样本 ID,第二列为患者的治疗反应(N:无反应;Y:有反应),其余各列为经 log2(x+1) 标准化的基因表达水平。Training 为训练数据集,其余数据集用于验证。Example.ici 的格式如下:
      加载("./Example.ici.Rdata")
      list_train_vali_Data[["训练"]][1:5,1:5]

      #> ID 变量 FTH1 EEF1A1 ACTB
      #> SAMf2ce197162ce N 10.114846 4.817746 11.230180
      #> ERR2208915 Y 2.044180 5.038854 3.977902
      #> G138701_RCCBMS Y 5.406008 5.341635 5.366668
      #> SAMe41b1e773582 N 9.215794 4.707360 11.412721
      #> SAM5ffd7e4cd794 N 9.003710 3.908884 10.440559
  3. 准备一个基因集。此处,一个与 Wnt/β-catenin 信号通路基因列表(来自 MSigDB)用于运行 Mime。基因列表请使用以下格式:
    加载("./genelist.Rdata" )
    #> [1] "MYC" "CTNNB1" "JAG2" "NOTCH1" "DLL1" "AXIN2" "PSEN2" "FZD1" "NOTCH4" "LEF1" "AXIN1" "NKD1" "WNT5B"
    #>[14] "CUL1" "JAG1" "MAML1" "KAT2A" "GNAI1" "WNT6" "PTCH1" "NCOR2" "DKK4" "HDAC2" "DKK1" "TCF7" "WNT1"
    #>[27] "NUMB" "ADAM17" "DVL2" "PPARD" "NCSTN" "HDAC5" "CCND2" "FRAT1" "CSNK1E" "RBPJ" "FZD8" "TP53" "SKP2"
    #>[40] "HEY2" "HEY1" "HDAC11"

2. 构建预后预测模型

  1. 使用 Mime 中基于 Example.cohort 和 genelist 的 ML.Dev.Prog.Sig() 函数构建用于预后预测的模型。使用以下代码:
    library (Mime1)
    加载 ("./Example.cohort.Rdata" )
    加载 ("./genelist.Rdata" )
    res <- 机器学习开发程序特征 (训练数据 = list_train_vali_Data $Dataset1,
    list_train_vali_Data = 列出训练与验证数据,
    unicox.filter.for.candi = T,
    unicox_p_cutoff = 0.05,
    候选基因 = 基因列表,
    模式 = “全部”,节点大小 =5,seed = 5201314 )
  2. 使用 Mime 中的 cindex_dis_all() 函数绘制每个模型的 C 指数,并选择 C 指数最高的最优模型。使用以下代码:
    cindex_dis_all (res, validate_set = names (list_train_vali_Data )[-1 ],
    顺序 =names (训练与验证数据列表 ),宽度 = 0.35 )
  3. 根据不同数据集中的风险评分,使用特定模型计算患者的生存曲线,并在 Mime 中进行处理。使用以下代码:
    生存曲线图 <- 向量 ("列表",2 )
    用于 (i c (1:2)) {
    打印 生存曲线图 [[i ]]<-rs_sur (res,
    模型名称 = "StepCox[向前] + plsRcox",
    数据集 = 名称 (训练与验证数据列表) )[i ],
    中位线 = "hv",
    截断值 = 0.5,
    置信区间 = T,
    x轴标签 ="天",pval.coord = c (1000,0.9 )))
    }
    aplot ::plot_list (gglist =生存曲线图,列数 =2 )
  4. 接下来,使用 Mime 中的函数 cal_AUC_ml_res() 计算所构建模型预测的时变 AUC。使用以下代码:
    all.auc.1y <- cal_AUC_ml_res (res.by.ML.Dev.Prog.Sig =res,
    训练数据 = list_train_vali_Data [["数据集1" ]],
    输入矩阵列表 =list_train_vali_Data,
    模式 = “全部”,AUC_时间 = 1,
    auc_cal_method ="KM" )
  5. 使用 Mime 中的函数 auc_dis_all() 绘制各模型预测的时变 AUC。使用以下代码:
    auc_dis_all(all.auc.1y,
    数据集 = names(列表_训练_验证_数据),
    validate_set=names(list_train_vali_Data)[-1],
    order = names(list_train_vali_Data),
    宽度 = 0.35,
    年份=1
  6. 在 Mime 中处理不同数据集下特定模型的时变 ROC 曲线。使用以下代码:
    roc_vis(all.auc.1y,
    model_name = "StepCox[向前] + plsRcox",
    数据集 = names(列表_训练_验证_数据),
    order= names(list_train_vali_Data),
    anno_position=c(0.65,0.55)
    年=1

3. 构建响应预测模型

  1. 基于 Example.ici 和 genelist,在 Mime 中使用另一个函数 ML.Dev.Pred.Category.Sig() 构建治疗反应的预测模型。使用以下代码:
    load("./Example.ici.Rdata")
    load("./genelist.Rdata")
    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 = 5201314,
    cores_for_parallel = 60
    )
  2. 在 Mime 中使用函数 auc_vis_category_all() 绘制每个模型预测的 AUC。使用以下代码:
    auc_vis_category_all(res.ici, dataset = c("training","validation"),
    order = c("training","validation"))
  3. 在 Mime 中处理不同数据集中特定模型的 ROC 曲线。使用以下代码:
    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)

4. 核心特征筛选

  1. 基于 Example.cohort 和 genelist,使用 Mime 中的函数 ML.Corefeature.Prog.Screen() 来鉴定关键基因。使用以下代码:
    加载("./Example.cohort.Rdata")
    加载("./genelist.Rdata")
    res.feature.all <- 机器学习核心特征进展筛选
    InputMatrix = list_train_vali_Data$Dataset1
    候选基因 = genelist,
    模式 = "全部",nodesize =5,seed = 5201314 )
  2. 输出的基因与患者预后密切相关,筛选变量频率越高,表明这些是核心特征(筛选频率最高的变量被定义为核心特征)。使用 Mime 中的 core_feature_rank() 函数绘制不同方法筛选出的基因排名。使用以下代码:
    core_feature_rank(res.feature.all, top=20)

访问受限。请登录或开始试用以查看此内容。

结果

通过在 Mime 中整合 10 种机器学习算法,利用基因列表和包含一个训练队列及一个验证队列的 Example.cohort 构建预后模型。在 Mime 构建的 117 个预后模型中,StepCox[forward] + plsRcox 联合模型(SPCOM)在所有队列中的 C 指数最高,表明其具有卓越的性能(图 1A)。根据 SPCOM 计算出的中位风险评分,患者被进一步分为高风险组和低风险组。有趣的是,在所有队列中,高风险评分患者的预后显著更差(图 1B)。值得注意的是,SPCOM 预测的 1 年 AUC 在所有队列中均排名第一,且 AUC 均值最高(图 1C,D)。这些结果表明,基于 Mime 的机器学习框架使用户能够基于提供的基因集和数据集轻松构建预后模型。

通过整合 Mime 中的 7 种机器学习算法,利用基因列表和包含一个训练队列与一个验证队列的 Exampl...

访问受限。请登录或开始试用以查看此内容。

讨论

本研究详细介绍了如何使用 Mime 软件包为转录组学数据构建稳健且高效的机器学习预测模型。在以往的研究中,研究人员常常难以根据测序数据的具体特征选择合适的预测模型算法13,14。此外,对于缺乏计算机科学背景的研究人员而言,稳定机器学习环境、选择合适参数以及同步部署模型均存在一定困难15。为解决这一问题,我们在 Mime 软件包中整合了 10 种机器学习预后模型算法、7 种二分类响应的机器学习算法以及 8 种与预后相关的核心特征筛选算法。通过在同一训练集上全面比较不同机器学习算法的预测性能,研究人员可选择表现最优的模型。

常见机器学习工具在模型构建中的概述也总结于补充 表1中。与其他工具相比,Mime 提供了更多用于生存预测、临床分类和特征选择的模型训练算法,并且这些算法还可同时组合使用。本文提供了详细的分步指南,包括 R 软件包的安装、数据清...

访问受限。请登录或开始试用以查看此内容。

披露

未声明任何利益冲突。

致谢

我们感谢所有参与数据生产的受试者和研究人员。

访问受限。请登录或开始试用以查看此内容。

材料

本文使用的材料清单
姓名公司目录编号评论
软件包名称版本软件
aplot0.1.10R studio
BART2.9.4R studio
Boruta8.0.0R studio
cancerclass1.38.0R studio
caret6.0-89R studio
Ckmeans.1d.dp4.3.5R studio
compareC1.3.2R studio
ComplexHeatmap2.15.1R studio
compositions2.0-4R studio
data.table1.14.0R studio
doParallel1.0.16R studio
dplyr1.1.3R studio
e10711.7-7R studio
forestploter1.1.0R studio
future1.21.0R studio
gbm2.1.8.1R studio
ggbreak0.1.1R studio
ggplot23.4.1R studio
ggpubr0.4.0R studio
ggsci2.9R studio
glmnet4.1-2R studio
grid4.1.3R studio
gridExtra2.3R studio
GSEABase1.54.0R studio
GSVA1.40.1R studio
Hmisc5.1-1R studio
kknn1.3.1R studio
knitr1.42R studio
magrittr2.7.2R studio
Matrix1.5-4R studio
meta5.2-0R studio
miscTools0.6-28R studio
mixOmics6.18.1R studio
mixtools1.2.0R studio
pbapply1.4-3R studio
plsRcox1.7.7R studio
pROC1.18.0R studio
R4.1.3R studio
randomForestSRC4.6-14R studio
readr1.4.0R studio
recipes0.1.17R studio
reshape21.4.4R studio
rmarkdown2.8R studio
ROCit2.1.1R studio
ROCR1.0-11R studio
scales1.2.1R studio
sparrow1.0.3R studio
stringr1.5.0R studio
superpc1.12R studio
survival3.3-1R studio
survivalROC1.0.3R studio
survivalsvm0.0.5R studio
sva3.40.0R studio
testthat3.1.0R studio
tibble3.2.1R studio
tidyr1.3.0R studio
tidyverse1.3.1R studio
UpSetR1.4.0R studio
viridis0.6.1R studio

参考文献

  1. Reuter, J. A., Spacek, D. V., Snyder, M. P. High-throughput sequencing technologies. Mol Cell. 58 (4), 586-597 (2015).
  2. Adam, G., et al. Machine learning approaches to drug response prediction: challenges and recent progress. NPJ Precision Oncol. 4, 19(2020).
  3. Ding, L., et al. Perspective on Oncogenic Processes at the End of the Beginning of Cancer Genomics. Cell. 173 (2), 305-320.e10 (2018).
  4. Liu, H., et al. A potassium-chloride co-transporter with altered genome architecture functions as a suppressor in glioma. J Cell Mol Med. 28 (9), e18352(2024).
  5. Hanahan, D. Hallmarks of Cancer: New Dimensions. Cancer Disc. 12 (1), 31-46 (2022).
  6. Kourou, K., et al. Machine learning applications in cancer prognosis and prediction. Comp Str Biotechnol J. 13, 8-17 (2015).
  7. Liu, Z., et al. Machine learning-based integration develops an immune-derived lncRNA signature for improving outcomes in colorectal cancer. Nat Comm. 13 (1), 816(2022).
  8. Sundar, R., et al. Machine-learning model derived gene signature predictive of paclitaxel survival benefit in gastric cancer: results from the randomised phase III SAMIT trial. Gut. 71 (4), 676-685 (2022).
  9. Zhang, W., et al. Machine learning-based investigation of regulated cell death for predicting prognosis and immunotherapy response in glioma patients. Sci Rep. 14 (1), 4173(2024).
  10. Zhang, W., et al. Pan-cancer evaluation of regulated cell death to predict overall survival and immune checkpoint inhibitor response. NPJ Precision Oncol. 8 (1), 77(2024).
  11. Hindocha, S., et al. A comparison of machine learning methods for predicting recurrence and death after curative-intent radiotherapy for non-small cell lung cancer: Development and validation of multivariable clinical prediction models. EBioMedicine. 77, 103911(2022).
  12. Liu, H., et al. Mime: A flexible machine-learning framework to construct and visualize models for clinical characteristics prediction and feature selection. Comput Str Biotechnol J. 23, 2798-2810 (2024).
  13. Hwang, H., et al. Big data and deep learning for RNA biology. Exp Mol Med. 56 (6), 1293-1321 (2024).
  14. Sharma, A., et al. Advances in AI and machine learning for predictive medicine. J Hum Genet. 69 (10), 487-497 (2024).
  15. Greener, J. G., et al. A guide to machine learning for biologists. Nat Rev Mol Cell Biol. 23 (1), 40-55 (2022).

访问受限。请登录或开始试用以查看此内容。

重印与许可

标签

预测模型构建特征选择数据可视化转录组测序预后建模治疗反应预测生存分析核心基因鉴定模型性能评估指标