我在R中的h2o.ai平台上做了某种数据分析,我想接收模型/预测的AUCPR曲线。
我已经尝试使用“ PRROC”程序包,但是它对我的数据集(140万个实例)不起作用或速度变慢。对于其他可用的软件包,我真的不知道如何从h2o模型中提取数据。
pr <- h2o.predict(V_PUF_AGG1_NPI_ALLEX_BINAR.drf.tt.standard, data.test)
给我一个预测矩阵(我可以将其用于进一步的过程吗?):
predict p1 p2
1 1 0.9999427 5.731940e-05
2 1 0.9999606 3.939748e-05
3 1 0.9999744 2.556443e-05
4 1 0.9999659 3.413081e-05
5 1 0.9999606 3.939748e-05
6 1 0.9999545 4.554749e-05
[987141 rows x 3 columns]
因此,我正在寻找绘制AUCPR曲线的快速解决方案。
很容易获得ROC曲线,但是无法直接从h2o中获得AUCPR曲线:
plot(h2o.performance(V_PUF_AGG1_NPI_ALLEX_BINAR.drf.tt.standard, valid=T), type='roc')
谢谢-约翰
您可以绘制例如的PRROC按以下方式测试集,其中mod
是您的H2O模型对象,test_hf
是您的测试集。
library(tidyverse)
perf <- h2o.performance(mod,test_hf)
metrics <- as.data.frame(h2o.metric(perf))
metrics %>%
ggplot(aes(recall,precision)) +
geom_line() +
theme_minimal()