我正在尝试将hyperopt与H2O XGBoost一起简单使用,为此,我从参数的numpy数组中取出元素,但我得到了这个H2OTypeError,我不明白int64
为什么不满足?integer
的条件。
为了简化示例,H2O XGBoost在调用为时确实有效
xgb = H2OXGBoostEstimator(nfolds=5, max_depth=list(range(10,11))[0])
但以下返回此H2OTypeError:
xgb = H2OXGBoostEstimator(nfolds=5, max_depth=np.arange(10,11,1)[0])
H2OTypeError: Argument `max_depth` should be an ?integer, got int64
我现在可以解决这个错误,但我不明白
H2O期望一个本地Pythonint
,但您传递的是numpy int64
。这里将对差异进行更多解释。
尝试将numpy数组转换为列表max_depth=np.arange(10,11,1).tolist()[0]