各位好!今日与大家分享一位经常在X上分享干货内容的放疗科医生写的临床与科研笔记。放疗科真的盛产笔记狂魔啊,哥们属实是把X当作笔记本了。大多数时候没有人有义务教你,但你必须就会。但学好一件事又需要“放”眼天下,授人以“渔”!有需要word或pdf版本的后台回复“放眼天下”。
技多不压身,最后还是很推荐各位小伙伴学习下机器学习预测模型~!在分享中学习,更深刻。
Assistant professor's job is like an iceberg. What you see is just the tip, while the bulk of effort & struggle remains hidden beneath the surface. Do You Agree?
What we see: Lecturing with poise. Enviable long holidays. Prestigious publications. Innovative research projects. But that's just the tip of the iceberg.
But, beneath the surface, there's a hidden world: Endless marking The sting of rejections Juggling multiple projects The constant chase for grants Late-night committee meetings One-to-one student supervision The relentless search for funding
Meticulous peer-review processes Course development and perfecting Administrative tasks that pile up, unnoticed Community outreach that stretches beyond the campus Hours of teaching preparation, far from the lectern's spotlight.
MLR3总体介绍
mlr3 是一个面向对象的、可扩展的机器学习框架,专注于回归、分类、生存分析和其他机器学习任务。它是 mlr的继任者,提供了高效的机器学习模型构建和比较。
mlr3 的一些关键特性包括:
面向对象设计:使用R6实现简洁的面向对象设计。 数据操作优化:使用data.table进行更快、更方便的数据操作。 统一容器和结果:以data.table格式返回结果,简化API。 防御式编程和类型安全:通过checkmate检查用户输入,避免使用base R中可能丢失信息的机制。 减少依赖包:mlr3的依赖包大大减少,方便维护。 支持大量算法:mlr3verse体系目前包括138种算法,包括医学中常用的二分类及回归任务,无监督聚类任务及生存分析任务。(https://mlr3extralearners.mlr-org.com/articles/learners/list_learners.html) mlr3图流系统: mlr3的图流系统将机器学习的整个流程视为一个图(或者流),其中每个节点代表一个操作,例如特征工程步骤、学习器、复制、分支、合并等。数据沿着这些节点流动,从而形成一个完整的机器学习流程。
开课目的
相对于学习单独算法的R包,应用框架可以让使用者具有触类旁通的能力,快速掌握多种算法的用法,方便基准测试与模型选择。
基于体系的学习,有助于进行下游问题的扩展,比如mlr3体系在模型可解释性方案可以与后续与DLAEX体系无缝衔接。
目前大部分课程均是短期培训。另外,一篇机器学习文章,还需要很多其他基础统计与图表的绘制,目前没有能够整体解决此问题的一揽子课程。本课程的目的不仅为机器学习提供了坚实的基础,也为模型解释性的研究提供了桥梁,使得学员能够在后续的学习中与DALEX等先进的模型解释性工具无缝对接。
授课老师
1 灵活胖子
双一流学校肿瘤学博士毕业,目前就职于国内五大肿瘤中心之一。科研方向为真实世界研究,生物信息学分析及人工智能研究。目前以第一或共同第一作者身份发表SCI论文10余篇,累计IF50+。目前与国内多个院校及医院有科研合作。联合翻译小组同学,在国内第一次将mlr3book全文翻译为中文并在公众号发表。
2 Rio
医学博士,临床医生。发表中英文文章 10 余篇。R 与 python 爱好者。参与完成了mlr3book翻译内容约5万字。
课程目录及安排
第一部分:R语言基础与tidyverse体系
1.学习R语言的必要性及准备工作(环境构建及包安装) 2.整洁数据的一般要求及数据整理(tidydata) 3.R语言基础(1)-一维变量 4.R语言基础(2)-二维变量及高维变量 5.函数的一般用法介绍及出现报错的解决方案 6.tidyverse体系初探
第二部分:传统临床基础统计图表制作
1.组间基线表格快速制作及统计学考量 2.单因素分析批量实现及统计学考虑 3.连续变量截断值选择的方法总结(包括生存资料) 4.有向无环图的应用及快速实现 5.多因素分析批量实现及调整协变量的敏感性分析 6.关键因素鉴定的一些方法(P值法,机器学习方法,效应值改变法等) 7.生存资料的整理及常规生存分析方法(KM,COX,生存曲线及累计风险曲线绘制)
第三部分:mlr3 基础总览
1.mlr3可以帮助我们什么? 2.R 语言中的机器学习 3.mlr3 包和DALEX包简介 4.DALEX包的概况及模型非依赖性可解释方案 5.安装和加载mlr3与DALEX, DALEXtra包 6.mlr3 的基础知识 -sugar 函数 7.mlr3 的基础知识-图(graph) 8.遇到报错的解决原则
第四部分:mlr3整体流程初探及任务与学习器详解
1.任务(Task)-分类任务及回归任务:内部测试任务,利用外部数据组件任务,任务的属性和方法 2.学习器(learners)-学习器的分类属性及方法 3.评估(evaluation)初步介绍 4.常用学习器简介-logistic 回归;线性回归;决策树;随机森林;支持向量机;XGBoost;K 近邻算法;K-means聚类;神经网络;生存分析 COX 回归;深度学习生存分析(deepsurv);深度学习生存分析(deephit);朴素贝叶斯
第五部分:评估、重采样及基准测试
1.重采样的数种策略:留一法;交叉验证法;Bootstrap 自助抽样与子采样交叉验证法 2.重采样对象的属性和用法 3.基准测试 4.评估详解-常用属性及方法 5.嵌套重采样
第六部分:超参数调参
1.超参数调参在机器学习中的重要性 2.模型调优:学习器及搜索空间;终止器;利用 ti() 函数实例化调优对象;黑盒优化问题及其算法 3.调优的糖函数 - tune(), auto_tuner() 4.搜索空间的扩展 5.data.table包的简单应用
第七部分:特征选择
1.特征选择概述 2.过滤法:计算过滤器的得分,特征重要性,过滤后的特征选择 3.嵌入法embedd,嵌入法后的特征选择 4.封装法:简单前向选择,FSelectInstance 类介绍,不同的特征选择算法,特征选择纳入多种性能指标的优化,AutoSelector 自动选择特征(让特征选择也可以结合重采样)
第八部分:顺序pipeline
1.图流体系介绍 2.顺序图流方法的介绍 3.图学习器的组建和使用 4.对图学习器进行超参数调参
第九部分:非顺序pipeline
1.非顺序图流方法介绍 2.bagging法组建新的学习器 3.stacking法组建新学习器 4.在非顺序图流体系进行超参数调参及路径选择
第十部分:数据预处理
1.数据清洗 2.构建虚拟变量 3.缺失值处理 4.利用pl("robustify")维持架构的稳定可用 5.特征变换
第十一部分:模型可解释性
1.非模型依赖的可解释性DALEX体系介绍 2.shapley值原理介绍及应用与可视化 3.LIME原理介绍及应用与可视化 4.基于评价指标的变量重要性方法学介绍 5.其他方法学初步介绍
第十二部分:基于mlr3的二分类模型构建与验证的整体流程
1.二分类预测模型整体流程介绍 2.二分类预测的构建 3.二分类预测模型的外部验证 4.二分类预测模型的DCA曲线、校准曲线及概率校准
第十三部分:基于mlr3的生存模型的构建与验证的整体流程
1.生存类预测模型整体流程介绍 2.生存类预测的构建 3.生存类预测模型的外部验证 4.生存类预测模型的DCA曲线、校准曲线
第十四部分:基于mlr3的无监督聚类体系的建立与评价
1.无监督聚类预测模型整体流程介绍 2.无监督聚类模型的构建 3.无监督聚类模型的内部验证-临床与基础相关性 4.无监督聚类模型的外部验证-最优模型法