根据H2O文档,在预测时使用的阈值是火车的最大F1阈值。性能功能,]
h2o.performance(model, newdata = test)
实际上是对测试集进行预测,以便计算混淆矩阵。
奇怪的是,我在使用相同的测试集预测相同的测试集时得到了不同的混淆矩阵
h2o.predict(object, newdata=test).
这意味着h2o.performance()使用的阈值与h2o.predict()不同。我想知道如何根据预测来决定阈值。
谢谢。
H2O对h2o.performance()和h2o.predict()使用最大F1阈值。区别是什么数据集,它将用于估计最大F1阈值。
h2o.predict()将使用在训练期间选择的阈值。它使用不同的最大F1阈值,具体取决于模型的训练方式。基本上:
[在documentation和stackoverflow中都有解释。根据训练期间是否有验证数据,您将看到由[[训练或验证数据集确定的最大F1阈值。
h2o.performance()将采用模型和新数据,并计算什么阈值将为新数据
提供最高的F1。在您的情况下,test用于计算最大F1阈值。