DANAA213
@DANAA213 (data n)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

hyperoptライブラリがnumpy.random.RandomStateオブジェクトのintegersメソッドを使用しているからエラーがでた。

解決したいこと

エラーの修正方法
いろいろ試しましたが解決方法が分かりません。
教えてください

発生している問題・エラー

AttributeError: 'numpy.random.mtrand.RandomState' object has no attribute 'integers'

該当するソースコード

    124 #探索の実行
--> 127 best_run,best_model= optim.minimize(model=create_model,
    128                                    data=prepare_data,
    129                                    algo=tpe.suggest,
    130                                     max_evals=20,
    131                                    eval_space=True,
    132                                    notebook_name ="__notebook_source__",
    133                                     trials =Trials())

自分で試したこと

ここに問題・エラーに対して試したことを記載してください。
numpyのアップデート
hyperas のインストール

0

1Answer

インストールされている hyperoptnumpy のバージョンは何でしょうか。
例えば hyperopt==0.2.7setup.pyを見ると numpy>=1.17 という依存関係があります。

0Like

Comments

  1. @DANAA213

    Questioner

    回答していただきありがとうございます!
    バージョンは以下のようになっていました。
    import hyperopt
    import numpy as np

    hyperopt_version = hyperopt.version
    numpy_version = np.version

    print("hyperopt version:", hyperopt_version)
    print("numpy version:", numpy_version)

    hyperopt version: 0.2.7
    numpy version: 1.23.5

    依存関係とはどういうことでしょうか?

  2. 依存関係とは、あるライブラリを使用するときに必要になる他のライブラリやそのバージョンの情報です。
    hyperopt == 0.2.7の場合は numpy >= 1.17 が必要になりますよ、ということですね。
    今回は numpy が持つはずのアトリビュートが存在しないというエラーなので、一度 1.17 に落としてみるとよいかもしれません。
    pip install -U numpy==1.17

Your answer might help someone💌