old school magic

機械学習と統計とプログラミングについてちょっとずつ勉強していきます。

Python

回帰モデルにおけるL1正則化とL2正則化の効果

概要 回帰モデルとは、与えられた入力を用いて目標変数を予測するモデルです。 回帰モデルでは過学習を防ぐため、誤差関数(二乗誤差関数など)に次の式で表される正則化項を加えて最小化します。この形の正則化項を用いる回帰をブリッジ回帰と呼びます。 特に…

MacでPythonの機械学習環境構築(2015年2月版)

概要 MacでPythonの管理と機械学習環境構築の備忘録です。 2015年2月版です。簡単にまとめるとこんな感じです。 パッケージ管理システム : homebrew Pythonの導入・管理 : pyenv 機械学習ライブラリの構築 : Anaconda 前回は結構めんどくさかったのですが、…

ディリクレ過程ガウス混合モデルの Python 実装(「続・わかりやすいパターン認識」ノート)

続・わかりやすいパターン認識―教師なし学習入門―作者: 石井健一郎,上田修功出版社/メーカー: オーム社発売日: 2014/08/26メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る「続・わかりやすいパターン認識」12章のディリクレ過程ガウス混…

PyStanでMCMC入門

概要 PyStan は Stan というMCMC計算用言語の Python インターフェイスです。Stan http://mc-stan.org/PyStan http://pystan.readthedocs.org/en/latest/index.htmlMCMCを計算できるソフトはいくつかあるのですが、Stan は C++で実装されているため高速 最近…

PyMC3でMCMC入門(2)

概要 前回は、PyMC2 向けのチュートリアルを PyMC3 に書き換えることでPyMC3 に入門してみました。 今回は、PyMC3 のチュートリアルを見て、実際にモデルを記述する時どういった流れになるか見てみようと思います。 チュートリアル PyMC3 チュートリアル htt…

PyMC3でMCMC入門(1)

概要 先日、Tokyo.scipy というイベントがありました。Tokyo.scipyPython で科学技術計算を用いる方々の勉強会だそうです。 私は参加していないのですが、PyMC に関するセッションがあったそうです。 PyMCがあれば,ベイズ推定でもう泣いたりなんかしない サ…

LDAで日本語PDF分析

概要 最近、LDAを(pythonで)実装する機会がありました。 サンプリングを用いる実装だったので、Python等のスクリプト言語だとどうしても計算時間が問題になってしまいます(特に大規模なデータに対して)。 せっかくなのでコンパイル系の言語であるJavaで実装…

Pythonで主成分分析

概要 主成分分析(Principal Component Analysis, PCA)とは、 データの無相関化 データの次元の削減 を行う手法です。 簡単に言うと、データを分析しやすいように再構成し、可能なら次元を下げることです。なぜ次元を削減する必要があるかと言うと、機械学習…

AnacondaがPython3に標準で対応しているので試してみました

概要 AnacondaはPythonの機械学習ライブラリです。 Anaconda Scientific Python DistributionPythonの機械学習ライブラリだと、 numpy scipy matplotlib scikit-learn pandas あたりが定番なのですが、Anacondaはここらへんをひとまとめにしてインストールし…

Python3でPyMCのインストール

概要 PyMCはPythonのベイズ統計用ライブラリです。特にMCMCに重点を置いています。 Python3にPyMCを導入するのに割りと手こずったのでメモします。 参考になれば幸いです。 インストールの前準備 今回はPyMC version 3を試します。(まだalpha版です。) Pytho…

Pythonで一般化線形モデル

概要 統計の勉強の一環で、最近はこの本を読んでます。かなり分かりやすいです。データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)作者: 久保拓弥出版社/メーカー: 岩波書店発売日: 2012/05/19メディア: …

MacでPythonの機械学習環境構築(2014年5月版)

この記事は古くなっています。 最新版の記事はこちらになります。 MacでPythonの機械学習環境構築(2015年2月版) - old school magic MacでPythonの機械学習環境構築(2015年2月版) - old school magic 概要 MacでPythonの管理と環境構築の備忘録です。 色々試…

Python 3.4.0でscikit-learnがインストールできない?

Python 3.4.0でscikit-learnをインストールしようとしたらこんなエラーが出ました。 sklearn/cluster/_k_means.c:7955:19: error: no member named 'f_tstate' in 'struct _frame' (*frame)->f_tstate = tstate; ~~~~~~~~ ^調べてみたところCythonのエラー?…

Python環境をhomebrew + pipで構築した時の注意事項

私はMac(今はOS X Mavericks)でPython環境を構築する時、 Python本体はhomebrew 各ライブラリ(numpy, scipy, matplotlib, scikit-learn等)をpip で管理しています。 この方式だと、homebrewでpythonをアップグレードした時、各ライブラリが読み込めなくなる…

MacのSublime Text 2でCtrl + Bでのビルドをpython3に変更する

homebrewでpython3をインストールして、コマンド名が"python3"になってくれてるとします。1. 設定ファイルの表示 # メニューからPackageフォルダを(Finderで)表示する "Preferences" -> "Browse Packages..." # Finderから設定ファイルを開く Python -> Pyth…

OS X Mavericksにpyreadlineがうまく入らない(けどよく考えたら必要なかった)話

python3でiPyhtonをインストールしようとした時に、適当にググって「windowsだとpyreadlineがいるのか、とりあえずmacでも入れよう」と思いインストールし、iPythonを入れたら起動時にエラーが出ました。 Traceback (most recent call last): File "/usr/loc…

OS X Mavericksにアップデートしたらhomebrewでインストールしたscipyがアップデートできなくなった話

問題 前までhomebrewを使ってpython2/numpy/scipyをインストールしていたのですが、Mavericksにしてからscipyのアップデートができなくなりました。 Error: scipy dependency tbb was built with the following C++ standard library: libc++ (from clang) T…

OS X Mavericksにpython3.3/numpy/scipy/matplotlib/scikit-learnをインストールする

この記事は古くなっています。 最新版の記事はこちらになります。 MacでPythonの機械学習環境構築(2015年2月版) - old school magic MacでPythonの機械学習環境構築(2015年2月版) - old school magic 内容はタイトル通りです。 OS X Mavericksにアップデート…

macでPython3のmatplotlibを導入出来ませんでした

タイトル通りです...今まではインストールが簡単という理由でpython2をいじっていたのですが、やっぱり新しい言語に触れたいなと思い、python3に移行することを決意した...のですが...インストールするのはpython3、numpy、scipy、matplotlib(こけた)、sciki…

macでPythonをSublime Text 2で開発 : 追記

ソースコードが何故か貼れたので設定ファイルの公開 Sublime Text 2 では Command + , で設定ファイルが表示できます。 { "build_env": { "PATH": "/usr/local/bin:/bin:/usr/bin:/bin:/usr/sbin:/sbin" }, "color_scheme": "Packages/Theme - Phoenix/Color…

macでPythonをSublime Text 2で開発

Pythonを始めるにあたって開発環境どうしようかなーと。 以前からPythonはちょくちょく挑戦しようとしてたんですが、なんとなく馴染む開発環境がなかったので結局いつも続かなかったのです。 欲しい機能は 補完 エディタからすぐに実行可能 REPL(対話コンソ…