随机森林中的响应变量
Response variable in randomForest
我的问题是 - 如何对 RandomForest 进行参数化。让我给出工作代码。
以下正常工作
library(randomForest) # load the package
data(iris) # load data
fit <- randomForest(Species~., data=iris) # fit model
predictions <- predict(fit, iris[,1:4]) # make predictions
当第 3 行被替换为
fit <- randomForest(iris[,5]~., data=iris) # fit model
然后第 4 行(预测)给出错误 Error in eval(expr, envir, enclos) : object 'Species' not found
您可以使用 randomForest
函数的默认 S3 方法来执行此操作:
而不是:
fit <- randomForest(iris[,5]~., data=iris) # fit model
只需使用:
fit2 <- randomForest(iris[-5], iris$Species , data=iris) # fit model
#or
fit2 <- randomForest(iris[-5], iris[,5] , data=iris) # fit model
这样您就可以对其进行参数化。第一个参数是没有 Species 列的 data.frame(即没有响应数据的 data.frame),第二个参数是响应向量,即 Species.
> fit
Call:
randomForest(formula = Species ~ ., data = iris)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 2
OOB estimate of error rate: 4%
Confusion matrix:
setosa versicolor virginica class.error
setosa 50 0 0 0.00
versicolor 0 47 3 0.06
virginica 0 3 47 0.06
和
> fit2
Call:
randomForest(x = iris[-5], y = iris$Species, data = iris)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 2
OOB estimate of error rate: 4%
Confusion matrix:
setosa versicolor virginica class.error
setosa 50 0 0 0.00
versicolor 0 47 3 0.06
virginica 0 3 47 0.06
我的问题是 - 如何对 RandomForest 进行参数化。让我给出工作代码。
以下正常工作
library(randomForest) # load the package
data(iris) # load data
fit <- randomForest(Species~., data=iris) # fit model
predictions <- predict(fit, iris[,1:4]) # make predictions
当第 3 行被替换为
fit <- randomForest(iris[,5]~., data=iris) # fit model
然后第 4 行(预测)给出错误 Error in eval(expr, envir, enclos) : object 'Species' not found
您可以使用 randomForest
函数的默认 S3 方法来执行此操作:
而不是:
fit <- randomForest(iris[,5]~., data=iris) # fit model
只需使用:
fit2 <- randomForest(iris[-5], iris$Species , data=iris) # fit model
#or
fit2 <- randomForest(iris[-5], iris[,5] , data=iris) # fit model
这样您就可以对其进行参数化。第一个参数是没有 Species 列的 data.frame(即没有响应数据的 data.frame),第二个参数是响应向量,即 Species.
> fit
Call:
randomForest(formula = Species ~ ., data = iris)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 2
OOB estimate of error rate: 4%
Confusion matrix:
setosa versicolor virginica class.error
setosa 50 0 0 0.00
versicolor 0 47 3 0.06
virginica 0 3 47 0.06
和
> fit2
Call:
randomForest(x = iris[-5], y = iris$Species, data = iris)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 2
OOB estimate of error rate: 4%
Confusion matrix:
setosa versicolor virginica class.error
setosa 50 0 0 0.00
versicolor 0 47 3 0.06
virginica 0 3 47 0.06