如何使用H2O AI在多类别分类问题中获得最高的预测值?

时间:2019-12-02 20:54:11

标签: h2o multiclass-classification

在多类分类问题中预测值时,我想获得预测值的概率。

我试图通过使用H2O的apply函数来解决此问题:

Exception.Data

但是它不起作用:

  

'ValueError:unimpl字节码指令:CALL_METHOD'

也许是行不通的,因为h2o.max不像h2o.mean那样具有轴参数??? 我找不到关于apply函数支持哪些操作的文档。

我想使用类似于此熊猫代码的h2o数据操作来解决此问题:

predicted_df = modelo_assessor.predict(to_predict_h2o_frame)
predicted_df.apply((lambda x: x.max()), axis=1)

1 个答案:

答案 0 :(得分:0)

每当使用apply时都会发生这种情况。使用H2O文档中的示例:

我能够通过降级到Python 3.6.x来解决问题

http://docs.h2o.ai/h2o/latest-stable/h2o-py/docs/frame.html#h2oframe

python_lists = [[1,2,3,4], [1,2,3,4]]
h2oframe = h2o.H2OFrame(python_obj=python_lists,
                        na_strings=['NA'])
colMean = h2oframe.apply(lambda x: x.mean(), axis=0)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-43-8da6b76c71bd> in <module>
      2 h2oframe = h2o.H2OFrame(python_obj=python_lists,
      3                         na_strings=['NA'])
----> 4 colMean = h2oframe.apply(lambda x: x.mean(), axis=0)

~/anaconda3/envs/h2o1/lib/python3.7/site-packages/h2o/frame.py in apply(self, fun, axis)
   4910         assert_is_type(fun, FunctionType)
   4911         assert_satisfies(fun, fun.__name__ == "<lambda>")
-> 4912         res = lambda_to_expr(fun)
   4913         return H2OFrame._expr(expr=ExprNode("apply", self, 1 + (axis == 0), *res))
   4914 

~/anaconda3/envs/h2o1/lib/python3.7/site-packages/h2o/astfun.py in lambda_to_expr(fun)
    133     code = fun.__code__
    134     lambda_dis = _disassemble_lambda(code)
--> 135     return _lambda_bytecode_to_ast(code, lambda_dis)
    136 
    137 def _lambda_bytecode_to_ast(co, ops):

~/anaconda3/envs/h2o1/lib/python3.7/site-packages/h2o/astfun.py in _lambda_bytecode_to_ast(co, ops)
    147         body, s = _opcode_read_arg(s, ops, keys)
    148     else:
--> 149         raise ValueError("unimpl bytecode instr: " + instr)
    150     if s > 0:
    151         print("Dumping disassembled code: ")

ValueError: unimpl bytecode instr: CALL_METHOD