R训练randomForest时,prox=TRUE导致失败。

3

我正在使用randomForest训练模型。数据已经被清洗并减少到最少,因为我一直收到可怕的“something is wrong; all the Accuracy metric values are missing”错误消息。

我假设在因子级别或其他方面存在稀疏值,所以进行了分类(合并级别)等操作。

最后,即使做了这么多的减少,它仍然会失败并显示错误消息。出于好奇,我从train函数中删除了prox=TRUE参数。突然之间,我没有收到错误消息了。有人能否详细解释一下这个参数是在做什么以及为什么会导致错误?

以下是一些代码片段:

library(caret)
set.seed(121)
inTrain = createDataPartition(y = reducedData$loan_status, p = 0.7, list = FALSE)
training = reducedData[ inTrain,]
testing = reducedData[-inTrain,]

fitControl <- trainControl(method = "cv", number = 5, allowParallel = TRUE)

modelFit <- train(loan_status ~ ., data = training, method = "rf", trControl = fitControl)

现在,如果我在train函数参数中添加prox=TRUE,它会再次引起可怕的错误消息。只要该参数不存在,该程序就正常运行。
Something is wrong; all the Accuracy metric values are missing:
    Accuracy       Kappa    
 Min.   : NA   Min.   : NA  
 1st Qu.: NA   1st Qu.: NA  
 Median : NA   Median : NA  
 Mean   :NaN   Mean   :NaN  
 3rd Qu.: NA   3rd Qu.: NA  
 Max.   : NA   Max.   : NA  
 NA's   :3     NA's   :3    

你可以提供一组数据样本吗? - Bg1850
是的,我应该上传到哪里呢?这个缩小后的集合大小为9 MB。 - Jeff
1个回答

1

尽量不要在方法中使用“cv”。尝试使用其他方法,如“loocv”(留一交叉验证)。通常情况下,当您有太多组,每组样本数量较少时,就会出现此问题。当我们进行CV时,很可能CV无法覆盖所有组(在每个训练/测试拆分中)。因此,它将返回NA。

fitControl <- trainControl(method = "cv", number = 5, allowParallel = TRUE)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接