如何为R中的分类变量创建部分依赖性图?

时间:2017-05-18 20:20:38

标签: r plot machine-learning random-forest categorical-data

我正在使用r-package randomForest并成功制作了随机森林模型和重要图。我正在处理二分反应和几个明确的预测因素。

但是,我无法弄清楚如何为我的分类变量制作部分依赖图。我尝试过使用randomForest命令partialPLot。但是我收到以下错误:

> partialPlot(rf.5, rf.train.1, religion)
Error in is.finite(x) : default method not implemented for type 'list'

所以我的问题是:任何人都可以用一种简单的方式解释如何为分类变量制作随机森林部分依赖图?

这是我想要制作的情节:https://stats.stackexchange.com/questions/235667/partial-dependence-plot-interpretation-for-categorical-variables

非常感谢对此有所帮助。谢谢!

2 个答案:

答案 0 :(得分:1)

以下是如何将partialPlot用于分类解释变量的简单示例。检查partialPlot的输入类是否与此示例相同。我希望这可以帮到你 数据集df具有二进制独立变量x4和二进制响应变量y

df <- data.frame(iris[,1:3], x4=factor(iris$Petal.Width>1.5), 
                         y=factor(iris$Species=="virginica"))
str(df)

######################
'data.frame':   150 obs. of  5 variables:
 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
 $ x4          : Factor w/ 2 levels "FALSE","TRUE": 1 1 1 1 1 1 1 1 1 1 ...
 $ y           : Factor w/ 2 levels "FALSE","TRUE": 1 1 1 1 1 1 1 1 1 1 ...

以下是x4的部分图:

library(randomForest)
RF <- randomForest(y~., data=df)

partialPlot(x=RF, pred.data=df, x.var=x4, which.class="TRUE")

enter image description here

答案 1 :(得分:0)

plotmo R 包将为“任何”模型绘制所有变量和变量对(双变量依赖)的部分依赖关系, 包括具有分类变量和响应的那些。

关于一个简短的 plotmo 示例,请参见 Bivariate partial dependence with randomForest in R