Open ae14watanabe opened 4 years ago
プログラムの順番的にkura.pyでseedを設定(np.random.seed)してしまうと,som.pyのほうのrandomも固定されてしまうんですが,それはどうすればいいですかね
(check_random_state()とnp.random.seedの違いがいまいちわかっていない)
r = np.random.RandomState(1)で指定のseedの乱数器を作れるんですねー その乱数器を使って乱数を生成したら他のクラスに影響はでませんでした. で,やってみたら,大丈夫でした.(check_random_stateはまだわかってない)
俺がcheck_random_state()しか知らんやったからあれなんやけど、たぶんnp.random.RandomeState()とほぼ一緒と思ってもらって良いです。要するに特定のseedが指定された乱数生成器が得たいってことで、どっちでもできると思う
あーscipy系の乱数生成器がcheck_random_stateなんですね.理解です
check_random_state(seed)はseedを与えるとそれが指定されたRandomStateを返してくれる関数です。
Turn seed into a np.random.RandomState instance
sklearnだとこれを使うって慣習なんだろうね。
@kz-halfmoon 君ぜひやってみん?(笑)
びゃ゛っ゛!?!? チャレンジしてみたいとは思いますができる気がしません(笑)
これ全部のファイルが対象になってて,ちょっとしんどいですね. tutorial/kura/fitting_kura.pyに関わる範囲だけとしても, som.py と kura.py と fitting.py の3つをか着替える必要があるのか...(気軽にふりすぎたか)
割と全部だよね
target code 対象となるコード 明確に分かっているならば書く
libs/datasets/artificial/kura.py
などIs your feature request related to a problem? Please describe. この機能追加リクエストは何かの問題に関連していますか? 通常、乱数を用いた挙動をする関数は引数として
random_state
など乱数の出方を指定できるはずだが(参考)、現状ではkura.pyなどの乱数を用いているライブラリがそのような仕様になっていない。そのため実行するスクリプトでseedを指定しなければならず諸々の不都合が生じる。Describe the solution you'd like 望む解決策の説明 参考のようにseedを指定できるようにする。
random_state
もできると嬉しい。実装はsklearnのcheck_random_stateを使えばできるはず。