使用后创建模型后h2o.randomForest,使用:
perf <- h2o.performance(model, test)
print(perf)
Run Code Online (Sandbox Code Playgroud)
我得到以下信息(价值H2OModelMetrics对象)
H2OBinomialMetrics: drf
MSE: 0.1353948
RMSE: 0.3679604
LogLoss: 0.4639761
Mean Per-Class Error: 0.3733908
AUC: 0.6681437
Gini: 0.3362873
Confusion Matrix (vertical: actual; across: predicted)
for F1-optimal threshold:
0 1 Error Rate
0 2109 1008 0.323388 =1008/3117
1 257 350 0.423394 =257/607
Totals 2366 1358 0.339689 =1265/3724
Maximum Metrics: Maximum metrics at their respective thresholds
metric threshold value idx
1 max f1 0.080124 0.356234 248
2 max f2 0.038274 0.515566 330
3 …Run Code Online (Sandbox Code Playgroud) 我在这里阅读了几个关于 h2o.predict() 和 h2o.performance() 差异的线程(如下面的链接所示)。
如何解释 h2o.predict() 结果的概率 (p0, p1)
有人能告诉我 h2o.predict() 使用哪个阈值吗?是max f1吗?如果是,它是来自训练数据、验证数据或交叉验证的阈值吗?
我尝试在测试集上使用max f1和使用验证阈值max f0point5(与训练和验证数据完全分开),但是来自 h2o.predict() 的预测类和使用阈值的类不完全匹配。
我得到的最接近的是使用max f0point5训练中的阈值并将其应用于测试集。
关于 h2o.predict 的文档并不多。另外,是否有阈值的最佳实践,即验证和培训的平均阈值等?
提前致谢!
运行h2o.deeplearning以获取二进制分类问题后,我运行h2o.predict并获得以下结果
predict No Yes
1 No 0.9784425 0.0215575
2 Yes 0.4667428 0.5332572
3 Yes 0.3955087 0.6044913
4 Yes 0.7962034 0.2037966
5 Yes 0.7413591 0.2586409
6 Yes 0.6800801 0.3199199
Run Code Online (Sandbox Code Playgroud)
我希望得到一个只有两行的混淆矩阵.但这似乎有很大不同.我如何解释这些结果?是否有任何方法可以获得具有实际和预测值以及误差百分比的混淆矩阵?