我發現我可以從glrm_model得到特徵向量的集合(H2O廣義低階型號Estimateor glrm(對不起,我不能把這個標籤))這樣說:H2OTwoDimTable似乎缺少功能
EV = glrm_model._model_json [「output」] ['eigenvectors'])
但是,EV的類型是H2OTwoDimTable,它不是很有能力。
如果我嘗試做(其中M爲H2O數據幀):
M.mult(EV)
我得到的錯誤
AttributeError: 'H2OTwoDimTable' object has no attribute 'nrows'
如果我嘗試EV轉換爲numpy的矩陣:
EV.as_matrix()
我得到的錯誤:
AttributeError: 'H2OTwoDimTable' object has no attribute 'as_matrix'
我可以EV轉換爲熊貓數據幀,然後將其轉換爲numpy的矩陣,這是一個額外的步驟,並執行矩陣乘法
IMHO,這將是更好的,如果特徵向量的參考返回H2O數據幀。
另外,如果H2OTwoDimTable能夠更好地支持矩陣乘法作爲左操作數或右操作數,那將是一件好事。
而EV.as_data_frame()沒有use_pandas = False選項。
這裏是Python代碼可能被修改,以更好地支持矩陣型件事:「TwoDimTable」類是用來存儲模型中的輕量級表格數據
https://github.com/h2oai/h2o-3/blob/master/h2o-py/h2o/two_dim_table.py
如果文檔非常糟糕,請嘗試dir(EV)以查看屬性...如果未記錄某些內容,則庫的開發人員可能會在下一版本中更改它。嘗試dir(EV)後始終檢查文檔。 –