如何从R中的h2o模型绘制AUCPR曲线?

问题描述 投票:0回答:1

我在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')

谢谢-约翰

r plot h2o roc auc
1个回答
0
投票

您可以绘制例如的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()
© www.soinside.com 2019 - 2024. All rights reserved.