R 中的随机森林评估
Random forest evaluation in R
我是 R 的新手,我正在努力创建我的第一个模型。我在一个 2- 类 随机森林项目中工作,到目前为止我已经对模型进行了如下编程:
library(randomForest)
set.seed(2015)
randomforest <- randomForest(as.factor(goodkit) ~ ., data=training1, importance=TRUE,ntree=2000)
varImpPlot(randomforest)
prediction <- predict(randomforest, test,type='prob')
print(prediction)
我不确定为什么我没有得到整体预测,因为我的 model.I 一定是我的代码中遗漏了一些东西。我在测试集中得到了 OOB 和每个案例的预测,但没有得到模型的整体预测。
library(pROC)
auc <-roc(test$goodkit,prediction)
print(auc)
这根本行不通。
我已经阅读了 pROC 手册,但我无法理解所有内容。如果有人可以帮助编写代码或 post 一个 link 一个很好的实用示例,那将非常有帮助。
使用 ROCR
包,以下代码应该可以计算 AUC:
library(ROCR)
predictedROC <- prediction(prediction[,2], as.factor(test$goodkit))
as.numeric(performance(predictedROC, "auc")@y.values))
你的问题是 predict
在 randomForest
对象上 type='prob'
returns 两个预测:每列包含属于每个 class 的概率(用于二进制预测)。
您必须决定使用这些预测中的哪一个来构建 ROC 曲线。幸运的是,对于二进制 classification,它们是相同的(只是相反):
auc1 <-roc(test$goodkit, prediction[,1])
print(auc1)
auc2 <-roc(test$goodkit, prediction[,2])
print(auc2)
我是 R 的新手,我正在努力创建我的第一个模型。我在一个 2- 类 随机森林项目中工作,到目前为止我已经对模型进行了如下编程:
library(randomForest)
set.seed(2015)
randomforest <- randomForest(as.factor(goodkit) ~ ., data=training1, importance=TRUE,ntree=2000)
varImpPlot(randomforest)
prediction <- predict(randomforest, test,type='prob')
print(prediction)
我不确定为什么我没有得到整体预测,因为我的 model.I 一定是我的代码中遗漏了一些东西。我在测试集中得到了 OOB 和每个案例的预测,但没有得到模型的整体预测。
library(pROC)
auc <-roc(test$goodkit,prediction)
print(auc)
这根本行不通。
我已经阅读了 pROC 手册,但我无法理解所有内容。如果有人可以帮助编写代码或 post 一个 link 一个很好的实用示例,那将非常有帮助。
使用 ROCR
包,以下代码应该可以计算 AUC:
library(ROCR)
predictedROC <- prediction(prediction[,2], as.factor(test$goodkit))
as.numeric(performance(predictedROC, "auc")@y.values))
你的问题是 predict
在 randomForest
对象上 type='prob'
returns 两个预测:每列包含属于每个 class 的概率(用于二进制预测)。
您必须决定使用这些预测中的哪一个来构建 ROC 曲线。幸运的是,对于二进制 classification,它们是相同的(只是相反):
auc1 <-roc(test$goodkit, prediction[,1])
print(auc1)
auc2 <-roc(test$goodkit, prediction[,2])
print(auc2)