构建模型并且可以生成所有变量重要性图.但是,当我partialPlot在连续变量上使用时,例如purchase_value:
partialPlot(rf, fraud_data_train, purchase_value, which.class = 1)
错误是
Error in is.finite(x): default method not implemented for type 'list'
Run Code Online (Sandbox Code Playgroud)
对于分类变量(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
Run Code Online (Sandbox Code Playgroud)
该数据是可用在这里和代码如下:
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)
Run Code Online (Sandbox Code Playgroud)
更新:
更新2
小智 11
如果您的数据是a tibble而不是a data.frame,则会遇到此问题.似乎tibble(也许data_frame同样,但无法测试)与partialPlot功能不兼容.
一个简单的解决方案是做类似的事情partialPlot(rf, as.data.frame(fraud_data_train), purchase_value, which.class = 1).