【问题标题】:R - Interpreting Random Forest ImportanceR - 解释随机森林的重要性
【发布时间】:2020-11-10 06:51:26
【问题描述】:

作为独立研究项目的一部分,我正在使用 R 中的随机森林模型。我已经拟合了我的随机森林模型,并生成了每个预测变量对模型准确性的总体重要性。但是,为了在研究论文中解释我的结果,我需要了解变量对响应变量有正面影响还是负面影响。

有没有办法从随机森林模型中生成这些信息? IE。我希望age 对发生手术并发症的可能性产生积极影响,但对骨关节炎的存在影响不大。

代码:

surgery.bagComp = randomForest(complication~ahrq_ccs+age+asa_status+bmi+baseline_cancer+baseline_cvd+baseline_dementia+baseline_diabetes+baseline_digestive+baseline_osteoart+baseline_psych+baseline_pulmonary,data=surgery,mtry=2,importance=T,cutoff=c(0.90,0.10)) #The cutoff is the probability for each group selection, probs of 10% or higher are classified as 'Complication' occurring

surgery.bagComp #Get stats for random forest model

imp=as.data.frame(importance(surgery.bagComp)) #Analyze the importance of each variable in the model
imp = cbind(vars=rownames(imp), imp)
imp = imp[order(imp$MeanDecreaseAccuracy),]
imp$vars = factor(imp$vars, levels=imp$vars)
dotchart(imp$MeanDecreaseAccuracy, imp$vars, 
         xlim=c(0,max(imp$MeanDecreaseAccuracy)), pch=16,xlab = "Mean Decrease Accuracy",main = "Complications - Variable Importance Plot",color="black")

重要性图:

任何人都可以提出任何建议/研究领域将不胜感激。

【问题讨论】:

  • 您已经绘制了变量重要性,这将向您展示变量的重要性。它不会告诉您该变量将以何种方式影响响应变量。相反,您想要的是部分依赖图。您还应该清楚这是分类问题还是回归问题。

标签: r random-forest


【解决方案1】:

为了在研究论文中解释我的结果,我需要了解变量对响应变量有正面影响还是负面影响。

您需要执行“特征影响”分析,而不是“特征重要性”分析。

从算法上讲,它是关于遍历决策树数据结构并观察每次拆分对预测结果的影响。例如,考虑拆分“age

特征重要性可能会提示您要寻找哪些特征,但不能将其“转化”为特征影响。

以下文章可能会对您有所帮助:WHY did your model predict THAT? (Part 1 of 2)WHY did your model predict THAT? (Part 2 of 2)

【讨论】:

  • 感谢您提供的补充文章,事实证明它们对理解我的结果非常有帮助。
猜你喜欢
  • 2016-06-24
  • 1970-01-01
  • 2019-02-26
  • 2015-05-19
  • 1970-01-01
  • 2021-05-09
  • 2013-02-06
  • 2015-09-29
  • 2021-08-29
相关资源
最近更新 更多