我正在尝试使用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)
如果要从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 |
| ... | ... | ... |
+-------+----------+--------------+