静かなる名辞

pythonとプログラミングのこと


2018-01-01から1ヶ月間の記事一覧

【python】dictのkeyとvalueを入れ替える話色々

dictのkeyとvalueを入れ替えたい、誰でも一度はそう思うのではないだろうか。 方法は何種類かある。それらについて説明する。 あと、この話は簡単なようで実は罠の宝庫。その辺もちょっと説明しておく。 目次 for文で書く リスト内包表記で書く 辞書内包表記…

【python】ランダムフォレストの特徴重要度で特徴選択を試す

最終更新:2018-04-02 はじめに RandomForestでは特徴重要度を計算できる、というのは結構有名な話です。では、これはどの程度実用的なのでしょうか? pythonのsklearnを使い、簡単に実験して確かめてみました。 目次 はじめに 実験条件 実験 実装 気を配っ…

【python】numpyで複数行・列の抜き出し

はじめに numpyで複数の行や列を抜き出して使いたいときがある。たとえば機械学習で特徴ベクトルのデータがあって、変数重要度の高い次元だけ取りたい・・・みたいなシチュエーション。 これには実はやり方があって、簡単にできる。ただし、これを知らないと…

【python】print/pprintした結果をファイルに書き出す

まえがき pythonでデータ処理などを行うとき、中間出力をファイルに出力しておきたいことがよくある。 本来ならpythonオブジェクトを出力したいならpickleを使うのが正攻法だし、そうでなくても適切なフォーマットを作って出力するのが正しいやり方。とはい…

【python】numpyのmatrix・matの使い方

注意 numpy.matrixはnumpy 1.15.0から「もはや非推奨」とされ、将来的に削除されることになっています。numpy.matrix — NumPy v1.15 Manual Numpy-discussion - Deprecate matrices in 1.15 and remove in 1.17? 代替手段を用いてください。以下の記事の内容…

【python】pythonで情報エントロピーの計算

情報理論でとてもよく出てくる情報エントロピー。計算するにはどうすれば良いのだろう? 選択肢1:定義どおり作る 定義はとても簡単です。注意するべきことは、入力に0が来たときのパターンを想定しないで作るとmath domain errorが出る(は定義できないから…

【python】numpyで最小二乗法を実装(線形、多項式、正則化など)

はじめに 最小二乗法をnumpyで実装してみた。 理論背景についてはこちらを参照(外部リンク)。 mathtrain.jp PRMLの線形回帰モデル(線形基底関数モデル) from Yasunori Ozaki www.slideshare.net qiita.com やるべきこと 最小二乗法(正確には線形基底関…

なぜpython使いは単純なfor文より醜悪なリスト内包表記を好むのか

煽りっぽいタイトルだが、この記事は真剣である。リスト内包表記にはpython哲学の本質に関わる問題が潜んでいる。 python使いはリスト内包表記を好む。他の言語の使用者なら「for文で書きゃ良いのに」と思うような処理を、リスト内包表記で書くことを好む。 …