随机森林的P值

时间:2016-12-05 23:52:50

标签: r machine-learning random-forest

我是R的新手,很抱歉,这个问题很简单。我尝试通过改组类标签来计算随机森林分类的​​p值。这是一个使用我的代码到目前为止使用虹膜数据集的示例:

     rows <- sample(rownames(iris), replace = TRUE, size = length(rownames(iris))*0.8)
     train <- iris[rows,]
     validation <- iris[-as.numeric(names(table(rows))),]

     fit <- randomForest:::randomForest(Species ~ .,
                               data=train, 
                               importance=TRUE, 
                               ntree=1000)    
     Prediction <- predict(fit, validation)
     confmatrix <- table(validation[,"Species"], Prediction)
     confusionMatrix(confmatrix) 

我读到了一个名为rfPerform的包。阅读帮助页面后,我想出了以下代码:

     rfPermute(Species ~ ., data = iris, ntree = 100, na.action = na.omit, nrep = 50)$pval

在这里我的问题:我不理解输出(缩放和未缩放)(对不起,我不是统计学家,阅读后我仍然没有得到区别)。是否有可能通过例如多个p值获得单个p值。计算所有p值的中位数?我想要解决的问题是我的随机森林的结果是偶然发生的还是重要的。我对一个特定的功能或一个特定的类不感兴趣。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

缩放变量和不变量时存在差异。缩放数据集的变量后,您的目标是使所有变量具有相同的方差(通常为1)。这允许具有许多异常值,极值等的变量足以用于与其他变量的比较。因此,两个数组用缩放变量表示算法的结果,用缩放变量表示一个算法的结果。

接下来你需要澄清一下你运行的算法是做什么的。只是盲目地运行一个你不了解的算法会对你研究的东西造成更大的伤害。如果你只是google它,你可以在线阅读大量的。

您感兴趣的输出无法汇总在一个p值中。但是,输出会为您提供Species的p值,每个p值都有自己的成长树。在那里你可以看到哪棵树具有统计意义。整个输出很重要,因此您可以看到哪些物种能够做出具有统计学意义的假设。

希望我回答你的问题。