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)])
我正在尝试在 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)])