Python: Gridsearch時にログファイルを各設定ごとに出力
概要
- pythonで、ログをファイルに出力する方法
- 特に、人が書いたprint文まで含めてファイルに保存したい場合
方法
標準出力先を変更してしまう。
import sys sys.stdout = open('filename.log', 'w') print('hoge') print('fuga') sys.stdout.close() sys.stdout = sys.__stdout__
とかやれば、OK
usecase
- pylearn2のmonitor情報をログファイルに保存したい場合
Vimで正規表現
以前、書いたvimでコメント行を削除する方法の発展。 yusu-iwasawa.hatenablog.com
正規表現を使って検索-> :%s//what_you_want/g
でいろんなことができる。
Vimで使える正規表現 - Archiva
Vimでコメント行を全て削除する
例えば次のようなコードがあったとする
print("Test1") #テスト1 print("Test2") #テスト2 print("Test3") #テスト3
この場合、:%s/ # .*//g
を実行すると
print("Test1") print("Test2") print("Test3")
とコメント部分だけを削除できる。
確率分布について(離散的確率分布)
- 離散一様分布
N個の事象が等確率で起こるもの。
ex) 偏りがないサイコロの目がどの目を出すかの分布 - 二項分布
成功する確率がp、失敗する確率が1-p(つまり、成功か失敗かしかない)ような確率事象の分布。
ex) コインを投げて表が出る確率の分布 - 超幾何分布
(説明むずいのでパス) ex) AがM個、BがN-M個の合計Nこの玉が入っている袋から無作為に玉をn個取り出す(取り出した玉は戻さない)ときに、t回目にAを取り出す確率の分布 - ポアソン分布
単位時間中に平均λ回起こる事象が単位時間中にx回起こる確率。
ex) 1時間に特定の交差点を通過する車両の数 - 負の二項分布(パスカル分布)
成功確率がpの施行を行った時に、k回成功するまでの失敗の回数が従う分布。(こんなのなぜ考えようと思ったんだ。)2項分布の特殊版。 - 幾何分布
成功確率がpの試行を行った際に、初めて成功するまでの失敗回数xが従う確率分布。2項分布の特殊版。
確率と確率分布
確率とは何か
確率とは、事象の起こりやすさを定量的に示したもの。 例えば、P(1) = 0.4というのは、なんらかの事象が1の値をとる確率が40%であるということ。
実際には、確率の公理を満たすものを確率と呼ぶ。
確率分布とは
確率変数Xが取りうる値についての確率をまとめたもの。確率変数Xがどの値をどのくらいの確率でとるのかをまとめたもの。
確率分布の種類
「機械学習のための確率と統計」に従うと、確率分布は次のようなものがある。
- 離散型確率分布(確率変数Xが離散値をとるもの)
- 連続型確率分布(確率変数Xが連続値をとるもの)
- 多次元確率分布(2つ以上の確率変数の分布を考えたもの)
確率分布というものを考えることで、すべてのサンプルが得られない状況(つまり、ほとんどすべての場合)で、確率変数をよく表す分布を考えることが出来る。