如何从H2O GLRM估计器中提取拟合得到的X矩阵
解决方法
要提取训练完成的GLRM模型对应的X矩阵,直接调用模型的transform()方法传入对应数据集即可:transform()方法的作用就是将输入样本投影到GLRM拟合得到的低秩空间,输出就是对应样本的X矩阵表示,默认返回H2OFrame格式,可根据需要转为numpy数组。
示例代码
# 提取训练集对应的X矩阵 X_train_h2o = glrm_model.transform(train) # 转为numpy数组 X_train_np = X_train_h2o.as_numpy_array() # 打印维度验证,输出为(训练样本数, k) print(X_train_np.shape) # 如果需要获取验证集的X矩阵,传入验证集即可 X_valid_h2o = glrm_model.transform(valid) X_valid_np = X_valid_h2o.as_numpy_array()
补充说明
你之前通过archetypes()获取的Y矩阵维度为(k, 特征数),将X矩阵与Y矩阵相乘即可得到重构后的原始数据集近似结果。
内容的提问来源于stack exchange,提问作者Whitebeard
相关产品推荐
相关产品推荐

