随机森林需要分训练集测试集吗_讨论记录用随机森林对生存数据降维,筛选signature...
昨晚,小伙伴收到了大鱼海棠为我们带来的FigureYa182RFSurv,使用随机森林对生存数据降维,根据变量重要性排序并筛选基因组成prognostic signature。
这是我们第二次众筹随机森林相关分析,上次的FigureYa159LR_RF,是在LASSO降维的基础上,采用logistic regression或Random forest的方法,进行5-fold cross-validation评估LASSO selected feature的预测效能。
大鱼海棠为我们带来了众多或经典或酷炫的好用代码,具有丰富的医学统计分析经验。这次建立FigureYa182RFSurv专属讨论群,请大鱼海棠入群答疑。小伙伴就相关问题展开讨论,小丫整理记录下来,留下这宝贵资源。
HSZ:请问这个安装是哪里出问题了,我百度也不知道怎么解决?
大鱼海棠:https://share.weiyun.com/0Qk7bvR6,直接把这个拖到R的library下解压试试,我以前这样做似乎也可以用,在windows里。
ZJH问:老师,您好!imp.cutoff这个重要性阈值的怎么选择?
大鱼海棠:没有固定cutoff。结果导向的,嫌结果太多就设高一点
LGM问:海棠哥好,请教一下筛选出来的特征要组合成预后signature,是还需要进一步使用多因素COX回归来求变量的系数吗?
大鱼海棠:嗯我会建议这样做,但是多因素这部不进行变量筛选了。
Allittis问:海棠老师的意思是直接多因素全部纳入算一个系数即可,是不?
LGM问:不进行逐步回归?
大鱼海棠:对的,因为你已经认为RF得出来的是你感兴趣的变量了。当然你非要再逐步回归,从操作性上来讲没有问题。
零度反应问:如果这个得到的基因太多呢,可不可以再用逐步回归?
大鱼海棠:可以
零度反应:因为之前用过这个,也用过你写的lasso回归的方法,但最后得到的signature基因相对多一点,然后有时auc优势也并不明显
大鱼海棠:survival的auc一般都不会那么高。。因为不仅仅是二分类问题,考虑了time-to-event
零度反应:所以又进行了多因素,最起码基因会少一些,感觉上好那么一丢丢。
LGM问:关于组合成预后signature还想再请教一下
一篇文章使用COX回归得到了感兴趣的基因,但是risk score 的计算居然是表达量跟HR相乘。有这样的处理方式吗?
Allittis:HR的置信区间好大
唐渊:估计是数据没有做归一化处理导致HR 值这么大。
LZQ:scale一下一般会小一些
大鱼海棠:多个数据集验证的话,都会建议每个数据集都要scale,尤其是针对不同平台。
CSJ问:请问R中可以获取基因的coefficients值么,我看原文中提到这个值是由random forest algorithm得到的,但是我在结果中没有找到这个值~
LZQ:这个应该是单因素cox的coef,决策树是无参ML。HR=e^coef
对应的HR值转化一下就得到了。
大鱼海棠:我觉得也是,coef,HR以及对应的95%CI应该是后算的,单因素cox直接summary一下都有。
DMY问:我在分析数据的时候发现如果用TCGA做训练集,而用GEO做验证集,结果发现训练集中获得的关键基因在GEO数据集中不存在,那我应该反过来用GEO做训练集呢?还是先取 TCGA和GEO的交集后再分析?谢谢啦!
砍柴人:先基因取交集啊
DMY:那用随机森林和支持向量机这两种方法筛选关键基因,那个更好呢?还是用组合的方式来筛选@大鱼海棠
大鱼海棠:组合的方式只是为了。。虚假的工作量吧,多写几段method。我不太认可这种做法,尤其是需要其中的指标时。比如LASSO和SVM一起用,那LASSO里的系数怎么办?
DMY:那有没有一个更好的组合呢?比如先差异筛选,再单COX,再随机森林,最后多COX?
大鱼海棠:这些方法最后都是结果导向型,没有什么最好的组合。。
DMY:AUC值通常多少比较合适呢?必须0.7以上么?
大鱼海棠:训练集我会建议0.8以上吧。
砍柴人:训练集0.8以上,那测试集可以得到多少?
大鱼海棠:看运气
DMY:嗯,有时候经常是在TCGA训练集很高,到了GEO验证的时候就很低了,不懂是不是数据需要归一化处理。
大鱼海棠:要归一化处理
DMY:难怪呢,我平时都没做归一化,结果差别很大。有没有同时对所有训练集和验证集进行归一化处理的方法呢?谢谢啦!
大鱼海棠:z-score最方便。个人觉得0-1区间变换最严谨,但是没必要。
DMY:先取基因交集,然后合并所有数据集,再用Z-score归一化,再拆分数据进行分析,是这个逻辑么?谢谢啦
大鱼海棠:分别zscore,不会合并zscore。tcga数据要先log,用TPM。
DMY:谢谢啦,受益匪浅!
CGD:所以请问是先将tcga的tpm数据zscore后再建模,然后在geo的zscore后的数据中验证模型是吗?是这样的顺序吗,感谢!
DMY:前面大鱼海棠 有说,先在TCGA中对tpm进行log2后再zscore
LGM问:能不能再众筹个不同平台数据的标准化?
DMY:感觉可行,数据清理确实很重要。确实跨平台验证会面临很多问题,同一平台也会有批次效应,所以我在处理多GEO数据集的时候都先去除批次效应并合并后,再进行下面分析。
大鱼海棠:你们可以了解一下gene pair,完美回避批次。是一个比较热的,回避标准化的,跨平台数据处理理念,但是数据的量级会比较大。
The one:gene pair[强][强][强],知道这个东西,没尝试过,晚上回去试下!
DMY:我前面看一些教程里面写随机森林对二分类变量预测效果最佳,比如生死,患病与否,但是病人的生存数据里还有生存时间,应该用二分类变量作为结局变量么?如生死,还是以连续性变量生存时间作为结局变量比较好,谢谢啦。
大鱼海棠:有研究不关心时间,只关心生死的,看个人目的吧。随机森林对二分类最佳也没有这种说法,看观测和变量的比例。逻辑回归这种就很robust,而且可以写出关系式,推荐的还是逻辑回归。
DMY:那研究是否复发,或者转移,也是不错的选择哈!
大鱼海棠:是的。
Paul:老师您好,我想请一下xgboost会不会比随机森林树更好一些?
大鱼海棠:没有方法有绝对的优势。。不然老方法就完全淘汰了不是吗?分类算法、聚类算法都是result-oriented。我相信。。你们也会试不同的方法得到自己expected的结果吧!
DMY:感觉都是先用各种方法先分析,那个结果好就用那个,均衡来选择,结果导向,今天又做到一个新知识,谢谢大神!
DMY:请问内部验证应该分配多少样品比例比较好呢?有些文章按照每组50%来分配,有些按照80%训练和20%来分,那个更好呢?
Paul:7:3,1:1的都有用,结果导向。
大鱼海棠:对,结果导向。五折多一些,只要不太离谱。
赞美太阳:请教个问题,为什么不用rfsrc这个函数筛选变量?
大鱼海棠:没有用新的函数包
赞美太阳:那么rfs之后可以自行再来一发var.select吗?
大鱼海棠:感觉没必要
赞美太阳:嗯,我觉得只要能说通就可以了。
随机森林需要分训练集测试集吗_讨论记录用随机森林对生存数据降维,筛选signature...相关推荐
- 文本分类训练集 测试集_【AI1000问】训练为什么要分测试集和验证集?
9 往期视频 点击边框调出视频工具条 为什么要分训练集和测试集呢? 在很多的书以及一些公开数据集中,都会将数据集分为训练集,验证集和测试集,看起来验证集和测试集并没有区别,为什么要分这两个呢? 作者/ ...
- Scikit-learn API:train_test_split函数 将数据分割为训练集和测试集
函数原型 sklearn.model_selection.train_test_split(*arrays, **options) 函数功能 将数组或矩阵随机的分割成训练集和测试集,注意这里是随机的. ...
- R语言决策树、bagging、随机森林模型在训练集以及测试集的预测结果(accuray、F1、偏差Deviance)对比分析、计算训练集和测试集的预测结果的差值来分析模型的过拟合(overfit)情况
R语言决策树.bagging.随机森林模型在训练集以及测试集的预测结果(accuray.F1.偏差Deviance)对比分析.计算训练集和测试集的预测结果的差值来分析模型的过拟合(overfit)情况 ...
- sklearn.model_selection.train_test_split随机划分训练集和测试集
1 函数用途 train_test_split()是交叉验证中常用的函数,功能是将数组或矩阵按比例随机划分为训练集和测试集,使用方法为: X_train,X_test, y_train, y_test ...
- Sklearn-train_test_split随机划分训练集和测试集
sklearn.model_selection.train_test_split随机划分训练集和测试集 官网文档:http://scikit-learn.org/stable/modules/gene ...
- 随机切分csv训练集和测试集 鸢尾花
import csv import os import numpy as np '''将iris.csv中的数据分成train_iris和test_iris两个csv文件,其中train_iris.c ...
- 【数据挖掘】分类任务简介 ( 分类概念 | 分类和预测 | 分类过程 | 训练集 | 测试集 | 数据预处理 | 有监督学习 )
文章目录 I . 分类概念 II . 分类 ( 离散值 ) 和 预测 ( 连续值 ) III . 分类过程 IV . 分类过程中使用的数据集 ( 训练集 | 测试集 | 新数据 ) V . 数据预处理 ...
- 1.1 训练/开发/测试集-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 4.9 总结习题 (第一课) 回到目录 1.2 偏差/方差 训练/开发/测试集 (Train/Dev/Test Sets) 大家可能已经了解了,那么本周,我们将继续学习如何有 ...
- python机器学习 train_test_split()函数用法解析及示例 划分训练集和测试集 以鸢尾数据为例 入门级讲解
文章目录 train_test_split()用法 获取数据 划分训练集和测试集 完整代码脚手架 train_test_split()用法 python机器学习中常用 train_test_split ...
最新文章
- python paramiko模块中设置执行命令超时值
- Mybatis问题解释?
- java快速排序直观演示代码,排序算法总结(含动图演示和Java代码实现)
- 如何使用oracle ebs,Oracle EBS进行集成的实际操作步骤
- 图片链接在FireFox下好用,但是在IE下不好用!
- 通过一个月时间字段分组
- 查询视图遇见的问题,以及访问另一个数据库的表
- fastjson 序列化 不包括转义字符_fastjson漏洞复现
- 单片机知识点总结框图_89C51单片机的结构框图及原理解析
- 成长与直面: ORID见感思行教练法
- alook浏览器_Alook浏览器app下载|Alook浏览器安卓版下载 v3.4.1 - 跑跑车安卓网
- Scala 高阶函数(作为值的函数、匿名函数、闭包、柯里化)+隐式转换和隐式参数...
- 苹果申请屏幕防指纹专利 互联网信用体系跨越一大步
- 最新大数据产业生态地图:十大爆发点,百大公司起底
- Android launcher 桌面抽屉切换动画
- ZDNS助力中国科技网启动RPKI路由验证,我国进入IP地址路由安全认证时代
- 计算机组成原理之基本组成
- 计算机音乐制作专业美国研究生,美国音乐制作专业研究生六大首选音乐学院
- 在angular 项目中使用 `npm run build` 出现 `* exceeded maximum budget` 警告或错误
- LINGO如何求解数学模型