部分图不能从R中的randomForest生成

时间:2016-08-05 23:53:05

标签: r random-forest

构建模型,可以生成所有变量重要性图。但是,当我在连续变量上使用partialPlot时,例如purchase_valuepartialPlot(rf, fraud_data_train, purchase_value, which.class = 1) 错误是

Error in is.finite(x): default method not implemented for type 'list'

对于分类变量(browser),错误是 partialPlot(rf, fraud_data_train, browser, which.class = 1)

Error in FUN(X[[i]], ...) : 
  only defined on a data frame with all numeric variables

数据可用here,代码如下:

rf = randomForest(y = fraud_data_train$class_factor, 
                  x = fraud_data_train[,-predictors_notinclude],
                  ntree = 30, mtry = 4, keep.forest = TRUE,
                  importance = TRUE, proximity = TRUE)
partialPlot(rf, fraud_data_train, purchase_value, which.class =1)

更新

以下是我的R studio控制台的屏幕截图: enter image description here

更新2

不知何故,情节出现在笔记本上的降价......但仍然困惑为什么它无法在控制台中输出 enter image description here

1 个答案:

答案 0 :(得分:11)

如果您的数据是tibble,而不是data.frame,则会遇到此问题。似乎tibble(也许data_frame,但无法测试)与partialPlot函数不兼容。

一个简单的解决方案是执行partialPlot(rf, as.data.frame(fraud_data_train), purchase_value, which.class = 1)

之类的操作