データ分析 Archive

breezing NumPy-bration

 k_oomoriであります!これまで数値計算といえばPythonのNumPy一択かなと思っていたのですが、Scalaでも似たようなライブラリはないものかと調べてみたところ、ありました、breezeが。ここではベクトルや行列の演算について性能を調べてみたいと思います。なお、使用したサーバはAWSのc3.large EC2インスタンス、OSはUbuntu 14.04、ソフトウェアバージョンはPython 2.7.6, NumPy 1.8.2, Scala 2.10.4, breeze 0.10とな [...] Read More

ラプラシアンの中に1人以上、ゼロ固有値がいる!

Introduction  こんにちは、k_oomoriです。前回は、非負値行列因子分解という手法によって実際の広告配信結果から関連性があると思われる広告キャンペーンのペアたちを抽出する方法を紹介しました。しかし、そこに現れるキャンペーンは全てが互いに関連し合っているわけではありません。おそらくはいくつかの離散的な“島”(連結成分)に分かれて存在しています(アイドル系の島、ソシャゲ系の島など)。そこで今回はキャンペーンの集合がいくつの島に分かれるのかを機械的に調べる方法に [...] Read More

非負ッ値行列・ファクトリゼーション ~ 半群じゃないから難しくないもん!

Introduction  こんにちは、k_oomoriです。今回は非負値行列因子分解 (Non-negative Matrix Factorization, 略してNMF) を用いたデータの解析について触れてみたいと思います。  まず最初に用語の定義として、「非負値行列」とは全ての要素が非負値(0以上の実数)であるような行列を指すこととします。これを用いると、NMFとは「与えられた非負値行列を2つの非負値行列との積に(近似的に)分解するアルゴリズム」 と表現できます。これにより、なんとの中に潜 [...] Read More