用随机森林装袋,即使使用 MASS:Boston 数据集也找不到对象
Bagging with random forest, object not found even with MASS:Boston data set
我正在尝试按照 James 等人 "An introduction to statistical Learning with Applications in R" 的教科书示例进行操作,但我 运行 遇到了一条我不理解的错误消息。
library(MASS)
library(randomForest)
set.seed(1)
bag.boston=randomForest(medv~.,data=Boston, subset=train,mtry=13, importance=TRUE)
yhat.bag = predict(bag.boston,newdata=Boston[-train,])
最后一行我收到错误消息
Error in eval(expr, envir, enclos) : object 'age' not found
为什么我会收到此错误消息,我该如何预防?我看到这里问了一个类似的问题:
.但在那种情况下,OP 试图输入矩阵而不是数据框作为其原始数据集,无论如何这是在 randomForest 调用中,而不是预测调用中。
这个人 randomForest in R object not found error 也有类似的问题,但追踪到他们的文本文件中的非 ascii 字符,我很确定这不是这个数据集的特征。
也许我应该用单词 "data" 代替预测函数中的 "newdata",但这似乎会产生与我在文本示例中看到的完全不同的答案。
还有其他想法吗?
我找到了你所指的那本书的副本,作者和南加州大学已经 published online。
您遗漏了 运行 此代码块的必要代码。在书中,该代码片段来自一个文件/R 会话,该会话在许多页面和代码块之间被分解,并且取决于早期代码 运行,例如创建 train
。如果包含那本书中的必要代码,运行 就没问题了。您得到的错误无法重现。
library(MASS)
library(randomForest)
library(tree)
set.seed(1)
train = sample(1:nrow(Boston), nrow(Boston)/2)
bag.boston=randomForest(medv~.,data=Boston, subset=train,mtry=13, importance=TRUE)
yhat.bag = predict(bag.boston,newdata=Boston[-train,])
summary(yhat.bag)
Min. 1st Qu. Median Mean 3rd Qu. Max.
7.965 17.050 21.330 22.700 25.530 48.690
我正在尝试按照 James 等人 "An introduction to statistical Learning with Applications in R" 的教科书示例进行操作,但我 运行 遇到了一条我不理解的错误消息。
library(MASS)
library(randomForest)
set.seed(1)
bag.boston=randomForest(medv~.,data=Boston, subset=train,mtry=13, importance=TRUE)
yhat.bag = predict(bag.boston,newdata=Boston[-train,])
最后一行我收到错误消息
Error in eval(expr, envir, enclos) : object 'age' not found
为什么我会收到此错误消息,我该如何预防?我看到这里问了一个类似的问题:
这个人 randomForest in R object not found error 也有类似的问题,但追踪到他们的文本文件中的非 ascii 字符,我很确定这不是这个数据集的特征。
也许我应该用单词 "data" 代替预测函数中的 "newdata",但这似乎会产生与我在文本示例中看到的完全不同的答案。
还有其他想法吗?
我找到了你所指的那本书的副本,作者和南加州大学已经 published online。
您遗漏了 运行 此代码块的必要代码。在书中,该代码片段来自一个文件/R 会话,该会话在许多页面和代码块之间被分解,并且取决于早期代码 运行,例如创建 train
。如果包含那本书中的必要代码,运行 就没问题了。您得到的错误无法重现。
library(MASS)
library(randomForest)
library(tree)
set.seed(1)
train = sample(1:nrow(Boston), nrow(Boston)/2)
bag.boston=randomForest(medv~.,data=Boston, subset=train,mtry=13, importance=TRUE)
yhat.bag = predict(bag.boston,newdata=Boston[-train,])
summary(yhat.bag)
Min. 1st Qu. Median Mean 3rd Qu. Max. 7.965 17.050 21.330 22.700 25.530 48.690