r语言 - train.default(x, y, weights = w, ..) 中的错误:无法确定最终的调优参数



我在机器学习方面非常陌生,正在尝试在Kaggle上进行森林覆盖预测竞赛,但我很早就挂断了。当我运行下面的代码时,我收到以下错误。

train.default(x, y, weights = w, ...) 中的错误:无法确定最终调谐参数另外:有 50 个或更多警告(使用 warnings() 查看前 50 个)
# Load the libraries
library(ggplot2); library(caret); library(AppliedPredictiveModeling)
library(pROC)
library(Amelia)
set.seed(1234)
# Load the forest cover dataset from the csv file
rawdata <- read.csv("train.csv",stringsAsFactors = F)
#this data won't be used in model evaluation. It will only be used for the submission.
test <- read.csv("test.csv",stringsAsFactors = F)
########################
### DATA PREPARATION ###
########################
#create a training and test set for building and evaluating the model
samples <- createDataPartition(rawdata$Cover_Type, p = 0.5,list = FALSE)
data.train <- rawdata[samples, ]
data.test <- rawdata[-samples, ]
model1 <- train(as.factor(Cover_Type) ~ Elevation + Aspect + Slope + Horizontal_Distance_To_Hydrology, 
                data = data.train, 
                method = "rf", prox = "TRUE")

以下方法应该有效:

model1 <- train(as.factor(Cover_Type) ~ Elevation + Aspect + Slope + Horizontal_Distance_To_Hydrology,
                          data = data.train,
                          method = "rf", tuneGrid = data.frame(mtry = 3))

最好指定tuneGrid参数,该参数是具有可能调整值的数据框。有关详细信息,请查看?randomForest?trainrf只有一个调谐参数mtry,它控制为每个树选择的特征数量。

还可以运行 modelLookup 以获取每个模型的优化参数列表

> modelLookup("rf")
#  model parameter                         label forReg forClass probModel
#1    rf      mtry #Randomly Selected Predictors   TRUE     TRUE      TRUE

我也在做 Kaggle 比赛,并且一直在使用"插入符号"包来帮助选择"最佳"模型参数。在收到许多这些错误后,我查看了幕后的脚本,发现了对一个名为"class2ind"的函数的调用,该函数不存在(至少在我知道的任何地方)。我终于找到了另一个叫做"class.ind"的函数,它位于"nnet"包中。我决定尝试创建一个名为"class2ind"的本地函数,并从"class.ind"函数中弹出代码。低头看,它奏效了!

# fix for caret
class2ind <- function(cl)
{
        n <- length(cl)
        cl <- as.factor(cl)
        x <- matrix(0, n, length(levels(cl)) )
        x[(1:n) + n*(unclass(cl)-1)] <- 1
        dimnames(x) <- list(names(cl), levels(cl))
        x
}

最新更新