StatsFragments

Python, R, Rust, 統計, 機械学習とか

Python XGBoost の変数重要度プロット / 可視化の実装

Gradient Boosting Decision Tree の C++ 実装 & 各言語のバインディングである XGBoost、かなり強いらしいという話は伺っていたのだが自分で使ったことはなかった。こちらの記事で Python 版の使い方が記載されていたので試してみた。 puyokw.hatenablog.co…

Python xray で 多次元データを pandas ライクに扱う

はじめに pandas では 2 次元、表形式のデータ ( DataFrame ) を主な対象としているが、ときには 3 次元以上のデータを扱いたい場合がある。そういった場合 以下のような方法がある。 MultiIndex を使い、2 次元のデータにマッピングする。 3 次元データ構造…

{rbokeh} で Bokeh を R から使いたい

はじめに Bokeh は Python 以外にも R, Scala, Julia 用のパッケージを提供している。パッケージといっても Python の Bokeh と連携するものではなく、Bokeh がブラウザでのレンダリングに使っている Bokeh.js を各言語で扱えるようにするもののようだ。その…

Python geopandas + Bokeh で地理情報をプロットしたい

数日前、pandas を利用して地理情報をプロットするという非常によいエントリが翻訳されていた。 postd.cc 上のエントリ、前処理が手間に見えるが pd.read_html や .str アクセサを使えばもっと簡単に書けると思う、、、がそれは本題でない。 pandas で地理情…

Python pandas パフォーマンス維持のための 3 つの TIPS

pandas でそこそこ大きいデータを扱う場合、その処理速度が気になってくる。公式ドキュメントではパフォーマンス向上のために Cython や Numba を使う方法を記載している。 Enhancing Performance — pandas 0.16.2 documentation が、軽く試したいだけなのに…

Chainer で Deep Learning: Bokeh で Live Monitoring したい

概要 Deep Learning の学習には時間がかかるため、進捗が都度 確認できるとうれしい。その際、テキストのログ出力では味気ないので、リアルタイムでプロットを眺めたい。 いくつかの Deep Learning パッケージではそういった機能 (Live Monitoring) が提供さ…

Chainer で Deep Learning: model zoo で R-CNN やりたい

ニューラルネットワークを使ったオブジェクト検出の手法に R-CNN (Regions with CNN) というものがある。簡単にいうと、R-CNN は以下のような処理を行う。 入力画像中からオブジェクトらしい領域を検出し切り出す。 各領域を CNN (畳み込みニューラルネット…

Python pandas データのイテレーションと関数適用、pipe

pandas ではデータを 列 や 表形式のデータ構造として扱うが、これらのデータから順番に値を取得 (イテレーション) して何か操作をしたい / また 何らかの関数を適用したい、ということがよくある。このエントリでは以下の 3 つについて整理したい。 イテレ…

Python pandas + folium + Jupyter でリーフレット / コロプレス図を描きたい

引き続き、 R の可視化を Python に持ってくるシリーズ。R には以下のようなパッケージがあり、地図上へのリーフレット配置やコロプレス図の描画がカンタンにできる。それぞれの概要はリンク先を。 {leaflet}: リーフレット配置 Leaflet for R - Introductio…

Python pandas のデータを Highcharts/Highstock + Jupyter でプロットしたい

R を使っている方はご存知だと思うが、R には {htmlwidgets} というパッケージがあり、R 上のデータを任意の Javascript ライブラリを使ってプロットすることが比較的カンタンにできる。{htmlwidgets} って何?という方には こちらの説明がわかりやすい。 RP…

Python spyre によるデータ分析結果のWebアプリ化

R を使っている方はご存知だと思うが、R には {Shiny} というパッケージがあり、データ分析の結果を インタラクティブな Web アプリとして共有することができる。{Shiny} って何?という方には こちらの説明がわかりやすい。 RStudio Shiny チュートリアル …

R で 状態空間モデル: {dlm} の最尤推定を可視化する

{dlm} において、状態空間モデルが最尤推定される過程がみたい。以下内容の補足的なエントリ。 R で 状態空間モデル: {dlm} の対数尤度計算について - StatsFragmentssinhrks.hatenablog.com 「状態空間時系列分析入門」では 引き続き 第8章 に相当。 状態空…

R で 状態空間モデル: 状態空間時系列分析入門を {rstan} で再現したい

前の記事でもリンクさせていただいているが、サイト 「状態空間時系列分析入門」をRで再現する では以下のテキストを {dlm}, {KFAS} で再現されており非常にありがたい。これらのパッケージの使い方については リンク先を読めば困らない感じだ。 自分も勉強…

R で 状態空間モデル: {dlm} で単変量モデルの状態空間表現を利用する

こちらの続きで、状態空間時系列分析入門の第8章の内容。 R で 状態空間モデル: {dlm} の対数尤度計算について - StatsFragmentssinhrks.hatenablog.com 状態空間時系列分析入門作者: J.J.F.コマンダー,S.J.クープマン,Jacques J.F. Commandeur,Sime Jan Koo…

R で 状態空間モデル: {dlm} の対数尤度計算について

状態空間モデルを扱う R パッケージである {dlm} では、モデルのパラメータ推定を最尤法で行なう。その際に使われる対数尤度の計算式はパッケージによって違いがあるようで、推定結果が自分の参照しているテキストとずれる。その違いを確かめたい。 当該のテ…

pandas 日時まわりのリサンプリング/オフセット処理

こちらの続き。 Python pandas で日時関連のデータ操作をカンタンに - StatsFragments 今回のサンプルデータには自分の歩数のデータを使いたい。インスパイヤ元は以下のサイトだ。 下半身のデータをオープンにした - 盆栽日記d.hatena.ne.jp データの読み込…

pandas 0.16.0/0.16.1 の主要な新機能

先日 5/11 に pandas 0.16.1 がリリースされた。前バージョンである 0.16.0 とあわせて、主要な変更点である以下3点の概要をまとめたい。各見出しの括弧内には対応したバージョンを記載した。 簡単な列追加 / DataFrame.assign (0.16.0) 文字列処理の強化 (0…

簡単な集約/変換処理を PySpark & pandas の DataFrame で行う

こちらの続き。 簡単なデータ操作を PySpark & pandas の DataFrame で行う - StatsFragmentssinhrks.hatenablog.com 準備 サンプルデータは iris 。今回は HDFS に csv を置き、そこから読み取って DataFrame を作成する。 # HDFS にディレクトリを作成しフ…

Python pandas 関連エントリの目次

このブログ中の pandas 関連のエントリをまとめた目次です。 最近 pandas 開発チーム と PyData グループ の末席に加えていただき、パッケージ自体の改善にもより力を入れたいと思います。使い方についてご質問などありましたら Twitter で @ ください。 目…

簡単なデータ操作を PySpark & pandas の DataFrame で行う

Spark v1.3.0 で追加された DataFrame 、結構いいらしいという話は聞いていたのだが 自分で試すことなく時間が過ぎてしまっていた。ようやく PySpark を少し触れたので pandas との比較をまとめておきたい。内容に誤りや よりよい方法があればご指摘 下さい…

Python Theano function / scan の挙動まとめ

勉強のため たまに Pylearn2 など Theano を使ったパッケージのソースを眺めたりするのだが、theano.scan の挙動を毎回 忘れてしまう。繰り返し調べるのも無駄なので、一回 整理したい。theano.scan の動作は theano.function が前提となるため、あわせて書…

R {ggplot2} で独自の geom を手軽に作りたい

重要 このエントリは {ggplot2} 1.1.0 以前の情報です。v2.0.0 以降の方法は vignettes "Extending ggplot2" を読んでください。 CRAN - Package ggplot2 はじめに {ggplot2} を使っていると、新しい描画図形 (geom) を作りたいなという場合がたまにある。そ…

Python pandas / scikit-learn 向けのちょっとしたパッケージ作った <前編>

こちらの続き。 sinhrks.hatenablog.com pandas のデータを scikit-learn でうまく処理するためのパッケージを作ったのでその使い方を書きたい。今回は 適当なデータをファイルから読み込み -> 前処理してクラスタリングする、という例を書く。 このパッケー…

Python pandas のデータを scikit-learn でうまいこと処理したい

はじめに Python で機械学習する場合、pandas で前処理したデータを scikit-learn で処理する、というケースが多いと思う。pandas, scikit-learn には それぞれ 簡単にできる / できない処理があるので、うまいこと連携できるとうれしい。 scikit-learn の各…

Python pandas 日本語環境向けのちょっとしたパッケージ作った

最近の空き時間は GitHub で草植えをしている。まずは pandas を日本語環境で使う場合に たまに必要になる処理をまとめた パッケージを作った。 インストール pip install japandas 機能 機能の一覧はこちら。 日時処理 日本語日付のパース 日本の祝日カレン…

R {R6} で 別クラス同士の演算子を定義したい

R

先日の Tokyo.R で紹介されていた {R6} パッケージが使いやすそうだったため、自分の パッケージ でも 使ってみるべく試した。 R6パッケージの紹介―機能と実装 作りたいのは 複数の ggplot インスタンスをまとめて描画するコンテナクラス。{ggplot2} では 種…

Python pandas で日本の株価情報取得とローソク足チャート描画

以下の記事を読んでいて、pandas 標準では日本株式の情報が直接とれないことに気づいたのでやり方をまとめたい。 pandas のデータ集約とグループ演算を利用して株価を分析する - Qiita この記事では以下 2 点の処理について書く。 Yahoo! ファイナンス から…

RStan / PyStan 開発版を GitHub からインストールする

最近ちょっとした事情で Stan を使いたく、状態空間モデルの勉強とあわせて こんな感じ でやっている。その環境構築ネタ。 補足 Stan って何?という方は StanTutorial がわかりやすい。 Stan の公式バインディングとしては R 用の RStan、Python 用の Pysta…

Python pandas 図でみる データ連結 / 結合処理

なんかぼやぼやしているうちにひさびさの pandas エントリになってしまった。基本的な使い方については網羅したい気持ちはあるので、、、。 今回は データの連結 / 結合まわり。この部分 公式ドキュメント がちょっとわかりにくいので改訂したいなと思ってい…

Amazon EC2 上に Pylearn2 環境を構築する

最近 pylearn2 や theano を使って Deep Learning を少しずつ勉強しているのだが、いろいろと試す場合には処理時間が結構ネックになる。とくに画像処理をしたい場合には GPU 計算ができないとちょっと現実的でない。 とはいえ、そこそこの PC + GPU を買おう…