根据这个讨论,似乎包的train
函数caret
返回的mtry
参数randomForest
可能高于预测变量的数量,因为它将X
数据扩展为具有虚拟变量的矩阵并考虑该矩阵的列。然而,mtry
参数的最高值ncol(X)
在函数中是无效的randomForest
。因此我在这里迷路了:在这种情况下我们应该怎么做?
插入符号给出的 mtry 调整高于预测变量的数量
机器算法验证
r
特征选择
随机森林
插入符号
2022-04-06 10:59:22
1个回答
尝试使用train
矩阵参数,即
tr1 <- train(Sepal.Length ~ ., data = iris) # gives mtry = 5, not allowed
# but change to
tr2 <- train(iris[, -1], iris[, 1]) # gives mtry = 3
我认为train
创建模型矩阵,然后randomForest
在使用公式参数时将其传递给,因此将该矩阵的每一列视为一个单独的变量。使用矩阵参数时似乎不会发生这种情况。
我并不完全了解它的内部运作,train
但从我所读到的情况来看,情况似乎如此。
希望这可以帮助!
其它你可能感兴趣的问题