在 R 中使用随机森林模型定义类

     2023-03-12     94

关键词:

【中文标题】在 R 中使用随机森林模型定义类【英文标题】:defining classes using random forest models in R 【发布时间】:2018-09-19 08:54:21 【问题描述】:

我对机器学习很陌生,我偶然发现了一个问题,无论我多么努力地谷歌搜索似乎都找不到解决方案。

我使用randomForest 算法执行了多类分类过程,并找到了一个模型,可以对我的测试样本进行充分预测。然后我使用varImpPlot() 来确定哪些预测变量对确定班级分配最重要。

我的问题:我想知道为什么这些预测因素最重要。具体来说,我希望能够报告属于 X 类的病例具有特征 A(例如,男性)、B(例如,年龄较大)和 C(例如,智商高),而属于 X 类的病例具有特征Y 班具有 D(女性)、E(年轻)和 F(低智商)等特征,以此类推。

例如,我知道标准二元逻辑回归允许您说特征 A 值较高的案例更有可能属于 X 类。所以,我希望在概念上相似,但来自多个类的随机森林分类模型。

这是可以使用随机森林模型完成的事情吗?如果是,randomForestcaret(甚至其他地方)中是否有一个函数可以帮助我通过varImpPlot()varImp() 表?

谢谢!

【问题讨论】:

您正在寻找的是变量的相对重要性varImpPlot() 的输出是整体变量重要性。 尝试检查:***.com/questions/29637145/…***.com/questions/47609200/… 请随时更新,因为这是一个非常重要的话题,很难找到答案 每个类的相对重要性的一个可能近似值是构建 N 个模型 1 vs all 其中 N 是要预测的类数。但是,我认为这更像是一种变通方法,而不是针对您所面临问题的真正可靠的解决方案。 【参考方案1】:

有一个名为ExplainPrediction 的包承诺解释随机森林模型。这是DESCRIPTION文件的顶部。 URL页面有一个指向an extensive citation list的链接:

Package: ExplainPrediction
Title: Explanation of Predictions for Classification and Regression Models
Version: 1.3.0
Date: 2017-12-27
Author: Marko Robnik-Sikonja
Maintainer: Marko Robnik-Sikonja <marko.robnik@fri.uni-lj.si>
Description: Generates explanations for classification and regression models and visualizes them.
 Explanations are generated for individual predictions as well as for models as a whole. Two explanation methods
 are included, EXPLAIN and IME. The EXPLAIN method is fast but might miss explanations expressed redundantly
 in the model. The IME method is slower as it samples from all feature subsets.
 For the EXPLAIN method see Robnik-Sikonja and Kononenko (2008) <doi:10.1109/TKDE.2007.190734>, 
 and the IME method is described in Strumbelj and Kononenko (2010, JMLR, vol. 11:1-18).
 All models in package 'CORElearn' are natively supported, for other prediction models a wrapper function is provided 
 and illustrated for models from packages 'randomForest', 'nnet', and 'e1071'.
License: GPL-3
URL: http://lkm.fri.uni-lj.si/rmarko/software/
Imports: CORElearn (>= 1.52.0),semiArtificial (>= 2.2.5)
Suggests: nnet,e1071,randomForest

还有:

Package: DALEX
Title: Descriptive mAchine Learning EXplanations
Version: 0.1.1
Authors@R: person("Przemyslaw", "Biecek", email = "przemyslaw.biecek@gmail.com", role = c("aut", "cre"))
Description: Machine Learning (ML) models are widely used and have various applications in classification 
  or regression. Models created with boosting, bagging, stacking or similar techniques are often
  used due to their high performance, but such black-box models usually lack of interpretability.
  'DALEX' package contains various explainers that help to understand the link between input variables and model output.
  The single_variable() explainer extracts conditional response of a model as a function of a single selected variable.
  It is a wrapper over packages 'pdp' and 'ALEPlot'.
  The single_prediction() explainer attributes arts of model prediction to articular variables used in the model.
  It is a wrapper over 'breakDown' package.
  The variable_dropout() explainer assess variable importance based on consecutive permutations.
  All these explainers can be plotted with generic plot() function and compared across different models.
Depends: R (>= 3.0)
License: GPL
Encoding: UTF-8
LazyData: true
RoxygenNote: 6.0.1.9000
Imports: pdp, ggplot2, ALEPlot, breakDown
Suggests: gbm, randomForest, xgboost
URL: https://pbiecek.github.io/DALEX/
BugReports: https://github.com/pbiecek/DALEX/issues
NeedsCompilation: no
Packaged: 2018-02-28 01:44:36 UTC; pbiecek
Author: Przemyslaw Biecek [aut, cre]
Maintainer: Przemyslaw Biecek <przemyslaw.biecek@gmail.com>
Repository: CRAN
Date/Publication: 2018-02-28 16:36:14 UTC
Built: R 3.4.3; ; 2018-04-03 03:04:04 UTC; unix

【讨论】:

在 R 中使用 LongituRF 包实现纵向随机森林

】在R中使用LongituRF包实现纵向随机森林【英文标题】:ImplementingLongitudinalRandomForestwithLongituRFpackageinR【发布时间】:2021-05-1703:57:15【问题描述】:我有一些高维重复测量数据,我有兴趣拟合随机森林模型来研究这些模型的适用性... 查看详情

r中随机森林的类重要性

...stinr【发布时间】:2015-05-1920:24:49【问题描述】:我在R中使用randomForestpkg根据11个数值预测器来预测二元类。在Hit或Miss这两个类中,Hit类更重要,即我想知道正确预测Hit的次数。有没有办法让Hit在训练随机森林时具有更高的重要... 查看详情

将条件变量添加到 R 中的随机森林模型

...自变量(例如Y~.+x1+x2+x3中的x1、x2和x3),但将它们从可以使用的自变量集(在示例中以.表示)中排除要在森林中对数据进行分区/创建分支/树,有没有一 查看详情

r语言使用caret包的train函数构建随机森林(randomforest)模型模型调优自定义设置traincontrol函数和tunelength参数

R语言使用caret包的train函数构建随机森林(randomforest)模型、模型调优、自定义设置trainControl函数和tuneLength参数目录 查看详情

r语言随机森林模型:计算随机森林模型的特征重要度(featureimportance)并可视化特征重要度使用少数重要特征拟合随机森林模型(比较所有特征模型和重要特征模型在测试集上的表现差异)

R语言随机森林模型:计算随机森林模型的特征重要度(featureimportance)并可视化特征重要度、使用少数重要特征拟合随机森林模型(比较所有特征模型和重要特征模型在测试集上的表现差异)目录 查看详情

如何使用 R 随机森林来减少没有离散类的属性?

】如何使用R随机森林来减少没有离散类的属性?【英文标题】:HowtouseRRandomforeststoreduceattributeshavingnodiscreteclasses?【发布时间】:2011-03-1300:06:14【问题描述】:我想使用随机森林来减少属性。我在数据中遇到的一个问题是我没有... 查看详情

如何创建与 R randomForest 相同的 sklearn 随机森林模型?

】如何创建与RrandomForest相同的sklearn随机森林模型?【英文标题】:HowtocreatesklearnrandomforestmodelidenticaltoRrandomForest?【发布时间】:2016-01-0317:44:29【问题描述】:在R中,我通常将随机森林定义如下(一个示例):rf<-randomForest(trai... 查看详情

使用r构建随机森林回归模型(randomforestregressor)

使用R构建随机森林回归模型(RandomForestRegressor)目录使用R构建随机森林回归模型(RandomForestRegressor)安装包randomForest缺失值填充</ 查看详情

使用 H2O 在 R 中平衡随机森林

】使用H2O在R中平衡随机森林【英文标题】:BalancedrandomforestinRusingH2O【发布时间】:2019-01-2921:06:57【问题描述】:由于我目前正在研究一个高度不平衡的多类分类问题,我正在考虑平衡随机森林(https://statistics.berkeley.edu/sites/default... 查看详情

r语言使用caret包构建随机森林模型(randomforest)构建回归模型通过method参数指定算法名称通过ntree参数指定随机森林中树的个数

R语言使用caret包构建随机森林模型(randomforest)构建回归模型、通过method参数指定算法名称、通过ntree参数指定随机森林中树的个数目录 查看详情

在 Macbook 中并行执行随机森林的小速度增益(使用 R,插入符号)

】在Macbook中并行执行随机森林的小速度增益(使用R,插入符号)【英文标题】:SmallspeedgainwithparallelexecutionofrandomforestinMacbook(usingR,caret)【发布时间】:2017-07-2319:12:52【问题描述】:我正在使用包caret和ranger拟合随机森林模型,... 查看详情

如何在 R 中执行随机森林/交叉验证

】如何在R中执行随机森林/交叉验证【英文标题】:Howtoperformrandomforest/crossvalidationinR【发布时间】:2013-11-1415:01:10【问题描述】:我无法找到对我正在尝试生成的回归随机森林模型执行交叉验证的方法。所以我有一个数据集,其... 查看详情

r语言基于h2o包构建二分类模型:使用h2o.randomforest构建随机森林模型使用h2o.auc计算模型的auc值

R语言基于h2o包构建二分类模型:使用h2o.randomForest构建随机森林模型、使用h2o.auc计算模型的AUC值目录 查看详情

如何计算R中随机森林回归模型的置信度

...elinR【发布时间】:2013-07-2216:10:53【问题描述】:我在R中使用randomForest包,用于预测蛋白质之间的距离(RF中的回归模型)“用于同源建模目的”,我获得了相当好的结果。但是,我需要有一个置信水平来对我的预测值进行排名... 查看详情

R中随机森林中的二元分类或未知类

】R中随机森林中的二元分类或未知类【英文标题】:BinaryclassificationorunknownclassinrandomforestinR【发布时间】:2015-12-0302:29:55【问题描述】:有没有办法在随机森林中引入“未知”类别或进行二元分类?我想将数据输入一个随机森... 查看详情

在 R 中结合使用不同训练集构建的随机森林

】在R中结合使用不同训练集构建的随机森林【英文标题】:CombiningrandomforestsbuiltwithdifferenttrainingsetsinR【发布时间】:2013-10-1019:07:51【问题描述】:我是R新手(第2天),我的任务是构建一个随机森林森林。每个单独的随机森林... 查看详情

r语言使用ranger包的ranger函数构建随机森林模型(randomforest)

R语言使用ranger包的ranger函数构建随机森林模型(randomforest)目录R语言使用ranger包的ranger函数构建随机森林模型(randomforest)#导入包和库 查看详情

如何绘制从使用 R 中的“caret”包创建的随机森林中选择的树

】如何绘制从使用R中的“caret”包创建的随机森林中选择的树【英文标题】:HowcanIplotatreeselectedfromtherandomforestcreatedusing"caret"packageinR【发布时间】:2018-12-0917:36:34【问题描述】:我是R的新手,我需要知道如何绘制从随机... 查看详情