yoshidabenjiro's blog

respect Yoshua Bengio.

SQLAlchemy + PostgreSQL で Upsert を行う(ユニークキーに重複があるデータのバルクインサート)

こんにちは。吉田弁二郎です。タイトルにある Upsert とは、Update or Insert のことです。あるテーブルにデータを insert しようとするとき、ユニーク制約が効いているキーが過去データのものと重複して insert できない場合、update に切り替える処理のこ…

Python のリスト操作は collections.deque が速い

こんにちは。吉田弁二郎です。先日タスクスケジューラを Python で実装することがあり、深さ優先探索の方針で作業を進める必要がありました。その際、リストの先頭からデータを取り出し先頭にデータを入れる、ということをやったのですが、デフォルトの list…

Pandas メジャーアップデート(0.20.1)の要点〜高速 I/O、集約関数強化など

こんにちは。吉田弁二郎です。先日(5月5日)、pandas の最新版 0.20.1 がリリースされました。agg/transformメソッドがgroupbyしなくても使えるようになり、10倍以上高速な I/O を実現する feather-format が(試験的に)導入され、スライスの際に頻繁に利…

GPU 版 TensorFlow 環境を AWS 上にコマンド一発で立ち上げるスクリプトを書きました

こんにちは。吉田弁二郎です。 前置き 最近、TensorFlow のインストールは pip により簡単にできるようになりました。一方で GPU 環境の整備(CuDNN の準備等)が相変わらず面倒だと思うことも多く、GPU 自体の進歩も早いのでオンプレ環境に手を出すのも少し…

conda の環境名に応じて ipython / jupyter notebook の起動時読み込みライブラリを変更させる

こんにちは。吉田弁二郎です。ipython コンソールや jupyter notebook をお使いの方は、起動時の自動処理設定ができることをご存知かもしれません。具体的には、 ~/.ipython/profile_default/startupに置かれたスクリプトが起動時に自動的に読み込まれます。…

pyenv 環境下で Anaconda を使う際、source activate が落ちる現象の対処法

こんにちは。吉田弁二郎です。だいぶ間が空いてしまいました。小ネタの紹介です。Python 実行環境を管理するために pyenv を使う方も多いのではないかと思います。私は Anaconda のバージョンを複数入れるのに使っています。ところが、 conda create -n new_…

Python 使いのための、Python と Ruby の違い(基本文法)

こんにちは。吉田弁二郎です。今回は、web 開発の主力言語の一つとなっている Ruby の文法について、Python との違いをまとめます。文法の完全な紹介を目指すのではなく、特に紛らわしい項目の差分に注目していきます。そのため、Ruby 独自の文法的な事項(m…

pandas で pivot_table が機能しない場合の対処(DataError: No numeric types to aggregate)

こんにちは。吉田弁二郎です。Python でデータ分析をする際には pandas を使うのが標準的です。特に、通常はデータを横持ちで格納しているDBから抽出してクロス集計をするというような時には、pandas.pivot_table を使うと便利ですね。最近この関数がうまく…

混合ポアソン分布を題材に、変分ベイズ法を理解する④

こんにちは。吉田弁二郎です。有給消化中です。前回、混合ポアソン分布に対して変分ベイズ法を適用し、実際に学習が行われた様子を見ました。 yoshidabenjiro.hatenablog.comところで、推定した分布が真の分布とどの程度異なっているのか、やはり定量的に把…

混合ポアソン分布を題材に、変分ベイズ法を理解する③

明けましておめでとうございます。吉田弁二郎です。前回の記事yoshidabenjiro.hatenablog.comで、混合ポアソン分布の変分ベイズ更新式を導出しました。今回は、これらを実装してアルゴリズムの動作を確認していきます。

混合ポアソン分布を題材に、変分ベイズ法を理解する②

こんにちは。吉田弁二郎です。前回の記事yoshidabenjiro.hatenablog.comでは、変分ベイズ法の定式化についてまとめました。今回は、この方法を具体的な事例に応用していきます。 混合ポアソンモデルの構成

混合ポアソン分布を題材に、変分ベイズ法を理解する①

年の瀬にこんにちは。吉田弁二郎です。今回から3回に渡って、変分ベイズ法について書きます。『パターン認識と機械学習』(PRML)の特に第10章「近似推論法」を読んでいて面白かったのですが、どうも自分でコードを書いてみないと使える気がせず、ここで理…

これってもしかしたら老害かも

こんにちは。吉田弁二郎です。大学での専攻は理論物理だったのですが、当時の友人と先日飲む機会があって、そこでの会話が印象的だったので残しておこうかと思います。彼は素粒子論、私はふらふらしていたけど一応は非平衡統計理論が専門で、お互いに細かく…

Python で ¥ (円マーク)を直接指定して置換するには

こんにちは。吉田弁二郎です。Python で文字列を扱うのにはちょっとした工夫がいることが多いです。私がこの前つまずいたのは、¥ (円マーク)をある文字列の中で置換するにはどうしたらよいか、ということでした。 例えば、 s = '¥hoge' という文字列があった…

ブログ開始

こんにちは。吉田弁二郎です。 このブログでは、機械学習関連の話、web技術の話、自分の身の回りの話などを書いていくつもりです。