如何访问 python 的 H2O 中混淆矩阵的元素?

How to access to elements of confusion matrix in H2O for python?

我进行了包含 36 个模型的网格搜索。

对于每个模型,混淆矩阵可用:

grid_search.get_grid(sort_by='a_metrics', decreasing=True)[index].confusion_matrix(valid=valid_set)

我的问题是我只想访问这个混淆矩阵的某些部分来进行我自己的排名,这在 h2o.

中是不可用的。

假设我们有下面 grid_search 的第一个模型的 confusion_matrix

+---+-------+--------+--------+--------+------------------+
|   |   0   |   1    | Error  |  Rate  |                  |
+---+-------+--------+--------+--------+------------------+
| 0 | 0     |  766.0 | 2718.0 | 0.7801 | (2718.0/3484.0)  |
| 1 | 1     |  351.0 | 6412.0 | 0.0519 | (351.0/6763.0)   |
| 2 | Total | 1117.0 | 9130.0 | 0.2995 | (3069.0/10247.0) |
+---+-------+--------+--------+--------+------------------+

实际上,唯一真正让我感兴趣的是 class 0766/1117 = 0,685765443 的精度。虽然 h2o 考虑了所有 class 的 precision 指标,但这样做会损害我正在寻找的东西。

我尝试将其转换为数据框:

model = grid_search.get_grid(sort_by='a_metrics', decreasing=True)[0]
model.confusion_matrix(valid=valid_set).as_data_frame()

即使互联网上的某些主题表明它有效,但实际上它不起作用(或不再起作用):

AttributeError: 'ConfusionMatrix' object has no attribute 'as_data_frame'

我搜索了return一个confusion_matrix属性列表的方法,但没有成功。

根据 H2O 文档,没有 as_dataframe 方法:http://docs.h2o.ai/h2o/latest-stable/h2o-py/docs/_modules/h2o/model/confusion_matrix.html

我认为最简单的方法是调用 to_list()

.table 属性给出 object with as_data_frame 方法。

model.confusion_matrix(valid=valid_set).table.as_data_frame()

如果你需要访问tableheader,你可以

model.confusion_matrix(valid=valid_set).table._table_header

提示:您可以使用 dir() 检查 python object.

的有效属性