我正在使用r包randomForest,已经成功创建了一个随机森林模型和一个重要性图。我的数据包括一个二分响应变量和几个分类预测变量。
然而,我无法弄清楚如何为我的分类变量制作部分依赖图。我尝试使用randomForest命令partialPlot,但得到以下错误:
> partialPlot(rf.5, rf.train.1, religion)Error in is.finite(x) : default method not implemented for type 'list'
。
所以我的问题是:谁能简单地解释一下如何为分类变量制作随机森林的部分依赖图?
非常感谢您的帮助!
回答:
这里是一个如何为分类解释变量使用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")