h2o python h2o数据帧应用提升错误“;ValueError:Unpl字节码指令:加载“常数”;
使用h2o python h2o数据帧应用提升错误“;ValueError:Unpl字节码指令:加载“常数”;,h2o,H2o,使用h2opythonapi并具有引发错误的H2ODataFrame ValueError:Unpl字节码指令:加载常数 尝试在框架上使用apply方法时 此处讨论的框架如下所示: predict 0_good 1_bad 0_NoDenial 0.999593 0.000407184 0_NoDenial 0.999571 0.000428798 0_NoDenial 0.998374 0.00162572 0_NoDenial 0.999343
h2opython
api并具有引发错误的H2ODataFrame
ValueError:Unpl字节码指令:加载常数
尝试在框架上使用apply方法时
此处讨论的框架如下所示:
predict 0_good 1_bad
0_NoDenial 0.999593 0.000407184
0_NoDenial 0.999571 0.000428798
0_NoDenial 0.998374 0.00162572
0_NoDenial 0.999343 0.000657361
0_NoDenial 0.999307 0.000693177
0_NoDenial 0.999895 0.000104678
0_NoDenial 0.999495 0.000504838
0_NoDenial 0.999627 0.000373012
0_NoDenial 0.997075 0.00292529
0_NoDenial 0.996358 0.00364194
<class 'h2o.frame.H2OFrame'>
preds['predict'] = preds['1_bad'].apply(lambda x: '1_bad' if x > custom_thresh else '0_good', axis=1)
完整错误如下所示:
/home/mapr/anaconda2/lib/python2.7/site-packages/h2o/frame.pyc in apply(self, fun, axis)
3034 assert_is_type(fun, FunctionType)
3035 assert_satisfies(fun, fun.__name__ == "<lambda>")
-> 3036 res = lambda_to_expr(fun)
3037 return H2OFrame._expr(expr=ExprNode("apply", self, 1 + (axis == 0), *res))
3038
/home/mapr/anaconda2/lib/python2.7/site-packages/h2o/astfun.pyc 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):
/home/mapr/anaconda2/lib/python2.7/site-packages/h2o/astfun.pyc 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: LOAD_CONST
/home/mapr/anaconda2/lib/python2.7/site-packages/h2o/frame.pyc in apply(self、fun、axis)
3034断言类型(乐趣、功能类型)
3035断言满足(有趣,有趣。有趣的名称
->3036 res=lambda_至_expr(乐趣)
3037返回帧。\u expr(expr=ExprNode(“应用”,self,1+(轴==0),*res))
3038
/home/mapr/anaconda2/lib/python2.7/site-packages/h2o/astfun.pyc在lambda_至_expr中(fun)
133代码=乐趣__
134 lambda\u dis=\u反汇编\u lambda(代码)
-->135将lambda字节码返回到ast(代码,lambda dis)
136
137定义lambda字节码到ast(co,ops):
/home/mapr/anaconda2/lib/python2.7/site-packages/h2o/astfun.pyc in_lambda_bytecode_to_ast(co,ops)
147正文,s=_操作码_读取_参数(s,ops,键)
148.其他:
-->149提升值错误(“unpl字节码指令:“+instr”)
150如果s>0:
151打印(“转储反汇编代码:”)
ValueError:Unpl字节码指令:加载常数
我以前从未见过这种错误,快速的谷歌搜索并没有告诉我更多。有人知道为什么会发生这种情况,以及可以采取什么措施吗?谢谢。对于这种情况,您可能只想使用h2o
ifelse()
方法
(preds['1_bad'] < .0005).ifelse('good','bad')
(preds['1_bad']<.0005)。如果其他('good','bad'))
或者,如果您创建了一个包含阈值的新列,并将其附加到原始帧中,您也可以这样做
(preds['1_bad'] < preds['my_thresholds']).ifelse('good','bad')
(preds['1_bad']