【发布时间】:2020-12-12 20:21:05
【问题描述】:
我使用这个question中的一个例子
train$`1stFlrSF`<-train$S1stFlrSF
train$`2ndFlrSF`<-train$S2ndFlrSF
train$`3SsnPorch`<-train$S3SsnPorch
library("randomForest")
set.seed(1)
rf.model <- randomForest(SalePrice ~ .,
data = train,
ntree = 50,
nodesize = 5,
mtry = 2,
importance = TRUE,
metric = "RMSE")
library("caret")
caret.oob.model <- train(train[,-ncol(train)], train$SalePrice,
method = "rf",
ntree = 50,
tuneGrid = data.frame(mtry = 2),
nodesize = 5,
importance = TRUE,
metric = "RMSE",
trControl = trainControl(method = "oob", seed = 1),
allowParallel = FALSE)
但是在caret.oob.model有一个错误
错误:坏种子:种子对象应该是一个长度为 2 的列表,其中包含 1 个大小为 1 的整数向量,最后一个列表元素至少有一个整数。
这是我的数据集https://drive.google.com/file/d/1el-gAgA93EbYnM6VnDqzhT5c5uWsnKvq/view?usp=sharing
我该如何解决这个问题?
【问题讨论】:
-
train[,-ncol(train)]应该做什么? -
@dvd280 除 SalePrice 以外的所有变量
-
请务必阅读
?trainControl帮助页面。有一个关于seeds=参数的讨论。 -
@Ekaterina 是
SalesPrice数据框中的最后一列? -
trainControl的帮助页面说“一组可选的整数,用于在每次重采样迭代时设置种子。这在模型并行运行时很有用。”。为什么不在运行 coed 之前删除, seed = 1部分并使用set.seed(1)?
标签: r random-forest r-caret