luggage baggage

Machine learning, data analysis, web technologies and things around me.

2017-01-01から1年間の記事一覧

Python の defaultdict には注意しよう

こんにちは。Python には標準的なデータ型に加えていくつかの便利な型が用意されています。特に collections モジュールには、以前記事に書いた deque や、今回取り上げる defaultdict が格納されています。通常、辞書型のデータ d にデフォルト値を設定しな…

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で、混合ポアソン分布の変分ベイズ更新式を導出しました。今回は、これらを実装してアルゴリズムの動作を確認していきます。