VSURF 和随机森林

VSURF and randomForest

我正在尝试在 R 中使用 VSURF 和 randomForest,但是 predict.VSURF、predict.randomForest 和 plot.VSURF 等库中的函数无法正常工作,我得到了以下错误:

错误:找不到函数"predict.VSURF"

这是一个可重现的例子:

library(randomForest)
library(VSURF)
data(cars)
fit <- VSURF(x = cars[1:402,2:ncol(cars)], y = cars[1:402,1])
#At this step I get the error: Error: could not find function "predict.VSURF"
preds <- predict.VSURF(fit, newdata = cars[403:804,2:ncol(cars)]) 

R 会将 fit 识别为 VSURF class 对象并为其调用 VSURF.predict。您只需使用 predict() 即可。

此外,在查看您的示例时,VSURF 似乎只有一个 x 变量失败并引发此错误:

Error in matrix(NA, nrow = nfor.thres, ncol = ncol(x)) : non-numeric matrix extent

使用 mtcars 且仅使用 predict(),VSURF 对我来说效果很好。

data("mtcars")
fit <- VSURF(x = mtcars[1:25,2:ncol(mtcars)], y = mtcars[1:25,1])
preds <- predict(fit, newdata = mtcars[26:32, 2:ncol(mtcars)])