Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

乱数を使っているモジュールで外部からseedを指定できるようにする #139

Open
ae14watanabe opened this issue Apr 17, 2020 · 11 comments · May be fixed by #152
Open
Labels
good first issue Good for newcomers invalid This doesn't seem right

Comments

@ae14watanabe
Copy link
Member

ae14watanabe commented Apr 17, 2020

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を使えばできるはず。

@ae14watanabe ae14watanabe added invalid This doesn't seem right good first issue Good for newcomers labels Apr 17, 2020
@TetraMiyazaki
Copy link
Contributor

プログラムの順番的にkura.pyでseedを設定(np.random.seed)してしまうと,som.pyのほうのrandomも固定されてしまうんですが,それはどうすればいいですかね

@TetraMiyazaki
Copy link
Contributor

(check_random_state()とnp.random.seedの違いがいまいちわかっていない)

@TetraMiyazaki
Copy link
Contributor

r = np.random.RandomState(1)で指定のseedの乱数器を作れるんですねー
その乱数器を使って乱数を生成したら他のクラスに影響はでませんでした.
で,やってみたら,大丈夫でした.(check_random_stateはまだわかってない)

@ae14watanabe
Copy link
Member Author

俺がcheck_random_state()しか知らんやったからあれなんやけど、たぶんnp.random.RandomeState()とほぼ一緒と思ってもらって良いです。要するに特定のseedが指定された乱数生成器が得たいってことで、どっちでもできると思う

@TetraMiyazaki
Copy link
Contributor

あーscipy系の乱数生成器がcheck_random_stateなんですね.理解です

@ae14watanabe
Copy link
Member Author

check_random_state(seed)はseedを与えるとそれが指定されたRandomStateを返してくれる関数です。

Turn seed into a np.random.RandomState instance

@ae14watanabe
Copy link
Member Author

sklearnだとこれを使うって慣習なんだろうね。

@TetraMiyazaki
Copy link
Contributor

@kz-halfmoon 君ぜひやってみん?(笑)

@kz-halfmoon
Copy link

びゃ゛っ゛!?!?
チャレンジしてみたいとは思いますができる気がしません(笑)

@TetraMiyazaki
Copy link
Contributor

これ全部のファイルが対象になってて,ちょっとしんどいですね.
tutorial/kura/fitting_kura.pyに関わる範囲だけとしても,
som.py と kura.py と fitting.py の3つをか着替える必要があるのか...(気軽にふりすぎたか)

@ae14watanabe
Copy link
Member Author

割と全部だよね

@ae14watanabe ae14watanabe linked a pull request May 27, 2020 that will close this issue
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers invalid This doesn't seem right
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants