mlr3:一个完美融合生信与机器学习的R包






mlr3:一个完美融合生信与机器学习的R包

大海哥  生信果  2023-08-27 19:00:38

点击蓝字 关注我们

小伙伴们好啊,最近大家好像都关注起了机器学习结合生存分析的方向,已经有好几个小伙伴都向大海哥咨询,问道:除了lasso和cox这些,难道没有更好的算法可以结合生存分析了吗?答案一定是有的,这不,大海哥今天要个大家介绍一个非常好用、完美融合生信的R包——mlr3。那么首先我们先来了解一下,它到底好在哪里?
mlr3 是一个用于机器学习的R包,它提供了强大的工具和框架,用于数据预处理、模型选择、超参数优化、模型评估等任务。mlr3 包的目标是提供一种可扩展、灵活且高效的方式来进行机器学习工作,使用户能够更轻松地开发、比较和部署各种机器学习方法

介绍一下其主要优点:

统一的接口:

mlr3提供了统一的接口,使你可以使用相同的语法来处理各种任务,例如数据预处理、特征选择、模型选择等。

可扩展性

mlr3设计为可扩展的,允许用户轻松添加自定义学习器、评估指标、预处理方法等。

并行计算

mlr3支持并行计算,可以在多个核心或集群上并行运行多个任务,提高计算效率。

模块化

mlr3 的模块化设计使得您可以根据需要仅使用所需的功能,避免不必要的加载和计算。
流水线:mlr3允许您创建复杂的机器学习流水线,将数据预处理、特征选择、模型训练等步骤结合在一起。

最重要的是,支持多种模型

mlr3 支持众多常见的机器学习算法,包括分类、回归、聚类、以及我们关注的生存分析等。


那么大海哥今天直入主题,直接结合生存分析来做一次案例教学!大家要认真听讲哦!
首先我们要下载所需的R包,注意,安装mlr3系列的包需要电脑安装gcc以及gcc+环境,同时使用R版本支持最新的Rtool工具,大家自己提前准备一下!


devtools::install_github(“mlr3”)devtools::install_github(“mlr3proba”)devtools::install_github(“mlr3extralearners”)devtools::install_github(“mlr3verse”)#主要就是这四个library(mlr3)library(mlr3proba)library(mlr3extralearners)library(mlr3verse)library(survival)#导入我们的数据吧ml<-read.csv(“ML_data.csv”,header=T,row.names=1,check.names=F)

看一下数据。


#然后关键的来了,新建一个预测任务sur<-Surv(ml$time,ml$status)task = as_task_surv(ml,time = "time",event="status",target=sur)

看看这是个啥?

然后我们就可以使用多种模型来构建了
具体有哪些呢?可以看一看


#大海哥第一次看到的时候,也是不相信的,但是是真的,而且下面的surv开头的模型都是可以直接对生存函数进行预测的!#我们来试一下!#先划分一个数据集,用一下mlr3的方法划分看看split = partition(task)



#一行代码搞定训练和预测!xg_p =lrn("surv.xgboost")$train(task, split$train)$predict(task, split$test)#也可以自己设置参数#类似于这种lasso<-lrn("classif.glmnet", alpha = 1,predict_type = "prob")#指定你想要的参数,也可以通过交叉验证来确定合适的参数,mlr3中都有对应的交叉验证算法的哦!#好了已经结束了!很多小伙伴肯定不相信,那大海哥展示给你看#看一下C-index指数,一行搞定xgboost_c1<-c(xgboost_c1,xg_p$score(msrs("surv.cindex")))


这就是最后的结果指标c1指数,不同模型对应的指标也不相同,我们看看有哪些?


高达92种指标。


所以,对于简单的机器学习任务来说,mlr3真的是太方便了!4行代码即可搞定一个基本的流程!可以发现mlr3是一个功能丰富的机器学习工具包,适用于各种机器学习任务。无论你是初学者还是经验丰富的机器学习从业者,都可以从中受益。如果你想要使用更现代的版本,也可以考虑mlr3的升级版本mlr3proba,它专注于概率预测模型。


到了总结时间了,大海哥的本次分析仅仅只是针对生存函数的,还有很多预测种类都是来不及介绍的,例如分类算法、回归算法等,大家可以闲暇之余自己摸索摸索,一定会有你意想不到的发现的,快去试试吧(最后推荐一下大海哥新开发的零代码云生信分析工具平台包含超多零代码小工具,上传数据一键出图,感兴趣的小伙伴欢迎来参观哟。

网址:http://www.biocloudservice.com/home.html)

点击“阅读原文”进入网址