H2O-从python代码获取交叉验证结果

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

我正在尝试使用python访问某些H2O模型的结果。

我特别想要交叉验证结果。我可以使用下面的代码获取r2和mae。理想情况下,我也希望标准偏差得分。

我可以使用.cross_validation_metrics_summary查看数据,但无法计算出如何返回特定值(例如交叉验证sd)

import h2o 

h2o.init()

def get_model_det(current_model):
    r2_score = current_model.r2(xval = "TRUE")
    mae_score = current_model.mae(xval = "True")
    varimp = current_model.varimp()
    print(current_model.cross_validation_metrics_summary)
    print(r2_score, mae_score)

current_model = h2o.get_model("XGBoost_2_AutoML_20200513_153924")
get_model_det(current_model)
python h2o
1个回答
0
投票

如果要从cross_validation_metrics_summary中调出特定值,则可以使用以下方法:

current_model.cross_validation_metrics_summary().as_data_frame()[['', 'sd']]

[最后一部分[['', 'sd']]将调用感兴趣的两列。 ''是每个分数的名称(例如,准确性,auc),'sd'将给出其相应的标准偏差。

输出表:

+-------+----------+--------------+
| index |    ''    |      sd      |
+-------+----------+--------------+
| 0     | accuracy | 0.0048520584 |
| 1     | auc      | 0.011593064  |
| 2     | aucpr    | 0.011920754  |
| ...   | ...      | ...          |
+-------+----------+--------------+
© www.soinside.com 2019 - 2024. All rights reserved.