Skip to content

xgboost_cv.ipynb代码报错及问题解决 #3

@jinzhaoak

Description

@jinzhaoak

楼主好,发现一个错误,关于随机数的问题,xgboost_cv.ipynb如下代码在我电脑上报错了(AttributeError: 'numpy.random.mtrand.RandomState' object has no attribute 'integers'

from numpy.random import RandomState

params_space = {
    'max_depth': hyperopt.hp.randint('max_depth', 6),
    'learning_rate': hyperopt.hp.uniform('learning_rate', 1e-3, 5e-1),
}

trials = hyperopt.Trials()

best = hyperopt.fmin(
    hyperopt_objective,
    space=params_space,
    algo=hyperopt.tpe.suggest,
    max_evals=50,
    trials=trials,
    rstate=RandomState(123)
)

print("\n展示hyperopt获取的最佳结果,但是要注意的是我们对hyperopt最初的取值范围做过一次转换")
print(best)
```
后来看了底层代码建议改成如下rstate = np.random.default_rng(123),,可实现结果复现

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions