H2O - 从 python 代码中获取交叉验证结果
H2O - getting cross-validation results from python code
我正在尝试使用 python 访问某些 H2O 模型的结果。
我特别想要交叉验证结果。我可以使用下面的代码获得 r2 和 mae。理想情况下,我也喜欢标准偏差分数。
我可以使用 .cross_validation_metrics_summary
查看数据,但无法弄清楚如何 return 具体值(例如交叉验证 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'
会给出相应的标准差。
输出一个table:
+-------+----------+--------------+
| index | '' | sd |
+-------+----------+--------------+
| 0 | accuracy | 0.0048520584 |
| 1 | auc | 0.011593064 |
| 2 | aucpr | 0.011920754 |
| ... | ... | ... |
+-------+----------+--------------+
我正在尝试使用 python 访问某些 H2O 模型的结果。
我特别想要交叉验证结果。我可以使用下面的代码获得 r2 和 mae。理想情况下,我也喜欢标准偏差分数。
我可以使用 .cross_validation_metrics_summary
查看数据,但无法弄清楚如何 return 具体值(例如交叉验证 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'
会给出相应的标准差。
输出一个table:
+-------+----------+--------------+
| index | '' | sd |
+-------+----------+--------------+
| 0 | accuracy | 0.0048520584 |
| 1 | auc | 0.011593064 |
| 2 | aucpr | 0.011920754 |
| ... | ... | ... |
+-------+----------+--------------+