R - caret :: train"随机森林"参数

时间:2017-09-29 21:34:58

标签: r random-forest prediction r-caret training-data

我尝试使用插入符号包中的train()fx在60个变量和~20,000个观察点上构建分类模型。我使用随机森林方法并且在我的训练集上返回0.999准确度,但是当我使用模型进行预测时,它将每个测试观察分类为同一类(即,20个观察中的每一个被分类为&# 34; 1" s" 5种可能的结果)。我确定这是错误的(测试集是针对Coursera测验的,因此我没有发布确切的代码)但我不确定发生了什么。

我的问题是,当我调用最终的fit模型(fit $ finalModel)时,它表示它总共生成了500棵树(默认和预期),但是每次拆分时尝试的变量数量为35。 / strong>我知道将进行分类,为每个分割选择的标准观察数是总预测数的平方根(因此,应该是sqrt(60)= 7.7,称之为8)。这可能是问题??

我对我的模型或数据清理是否有问题感到困惑。

set.seed(10000)
fitControl <- trainControl(method = "cv", number = 5)
fit <- train(y ~ ., data = training, method = "rf", trControl = fitControl)
  

配合$ finalModel

Call:
 randomForest(x = x, y = y, mtry = param$mtry) 
           Type of random forest: classification
                 Number of trees: 500
No. of variables tried at each split: 41

    OOB estimate of  error rate: 0.01%

1 个答案:

答案 0 :(得分:0)

如果学生未能删除NA值超过50%的自变量,则使用Random Forest作为Coursera的约翰霍普金斯实用机器学习课程的最终项目将为测验的所有20个测试用例生成相同的预测。

解决方案:从模型中删除具有高比例缺失值的变量。