ブックマーク / sinhrks.hatenablog.com (13)

  • Python XGBoost + pandas 連携の改善 - StatsFragments

    一部 こちらの続き。その後 いくつかプルリクを送り、XGBoost と pandas を連携させて使えるようになってきたため、その内容を書きたい。 sinhrks.hatenablog.com できるようになったことは 以下 3 点。 DMatrix でのラベルと型の指定 pd.DataFrame からの DMatrix の作成 xgb.cv の結果を pd.DataFrame として取得 補足 XGBoost では PyPI の更新をスクリプトで不定期にやっているようで、同一バージョンに見えても枝番が振られていたりして見分けにくい。記載は日時点のこのコミットの情報。 %matplotlib inline import numpy as np import xgboost as xgb from sklearn import datasets import matplotlib.pypl

    Python XGBoost + pandas 連携の改善 - StatsFragments
    elu_18
    elu_18 2016/04/30
    Python XGBoost + pandas 連携の改善 - StatsFragments https://t.co/R0YyCNSMFS
  • Python Dask で Out-Of-Core / 並列 LU 分解 - StatsFragments

    はじめに 正方行列 を となる下三角行列 と 上三角行列 に分解することを LU 分解という。LU 分解ができると連立方程式の解や逆行列が 前進/後退代入でかんたんに求められてうれしい。 Dask を使って LU 分解を Out-Of-Core / 並列でやりたい。 LU 分解の並列化にはいくつかやり方があるようで、東大講義 スパコンプログラミング(1)、スパコンプログラミング(I) の 第10回 LU分解法 にまとまっている。この講義、ガイダンス資料の単位取得状況を見るとかなり楽しそうな感じだ。 ここでは、Dask での実装がかんたんそうなブロック形式ガウス法 (資料 P33-) をやりたい。 ブロック形式ガウス法 ブロック形式ガウス法では入力となる行列をいくつかのブロックに区切り、ブロックごとに処理を行う。具体的には、左上の対角ブロックからはじめて、以下の順番で処理していく。 対角ブロ

    Python Dask で Out-Of-Core / 並列 LU 分解 - StatsFragments
    elu_18
    elu_18 2016/01/23
    はてなブログに投稿しました #はてなブログ Python Dask で Out-Of-Core / 並列 LU 分解 - StatsFragments https://t.co/11RBpb5PhQ https://t.co/Dow8uByxJC
  • Rの data.table と data.frame を dplyr で区別なく扱う - StatsFragments

    R を使っていると、組み込み型の data.frame と大規模データ用パッケージである data.table の差異で思わずはまることがあるので使い方をまとめる。どちらか一方しか使わないようにすれば 差異を気にする必要はないのかも知れないが、、。 基的には データ操作用パッケージ dplyr が data.frame と data.table 両方に対して同じように使えるので、できるだけ dplyr を使って操作するのがよい。 ある程度 複雑な操作であれば最初から dplyr を使うと思うが、列選択, 行選択, 代入など 比較的シンプルな操作はつい 通常の書式で書いてしまう (そしてはまる、、)。また、列名を文字列に入れて処理するなど、dplyr 0.2以前では(シンプルには)書けない処理もあった。 dplyr 0.3でこのあたりの処理が素直に書けるようになっているので、その方法と 通

    Rの data.table と data.frame を dplyr で区別なく扱う - StatsFragments
    elu_18
    elu_18 2015/11/10
  • R dplyr, tidyr でのグルーピング/集約/変換処理まとめ - StatsFragments

    これの続き。よく使う集約/変換処理もまとめておく。 準備 library(dplyr) library(tidyr) (df <- dplyr::tbl_df(iris)) # Source: local data frame [150 x 5] # # Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5.1 3.5 1.4 0.2 setosa # 2 4.9 3.0 1.4 0.2 setosa # 3 4.7 3.2 1.3 0.2 setosa # .. ... ... ... ... ... グルーピング/集約 ある列の値ごとに集計 Species 列ごとに Sepal.Length 列の合計を算出する場合、 df %>% dplyr::group_by(Species) %>% dplyr::summa

    R dplyr, tidyr でのグルーピング/集約/変換処理まとめ - StatsFragments
    elu_18
    elu_18 2015/07/31
  • Python xray で 多次元データを pandas ライクに扱う - StatsFragments

    はじめに pandas では 2 次元、表形式のデータ ( DataFrame ) を主な対象としているが、ときには 3 次元以上のデータを扱いたい場合がある。そういった場合 以下のような方法がある。 MultiIndex を使い、2 次元のデータにマッピングする。 3 次元データ構造である Panel、4 次元の Panel4D、もしくは任意の次元のデータ構造 ( PanelND ) をファクトリ関数 で定義して使う。 numpy.ndarray のまま扱う。 自分は MultiIndex を使うことが多いが、データを 2 次元にマップしなければならないため 種類によっては直感的に扱いにくい。Panel や PanelND は DataFrame と比べると開発が活発でなく、特に Panel4D、PanelND は 現時点で Experimental 扱いである。また、今後の扱いをどうす

    Python xray で 多次元データを pandas ライクに扱う - StatsFragments
    elu_18
    elu_18 2015/07/27
    【StatsFragments】 Python xray で 多次元データを pandas ライクに扱う: はじめに pandas では 2 次元、表形式のデータ ( DataFrame ) を主な対象としているが、... http://t.co/cxIDgtqLXa
  • Chainer で Deep Learning: Bokeh で Live Monitoring したい - StatsFragments

    概要 Deep Learning の学習には時間がかかるため、進捗が都度 確認できるとうれしい。その際、テキストのログ出力では味気ないので、リアルタイムでプロットを眺めたい。 いくつかの Deep Learning パッケージではそういった機能 (Live Monitoring) が提供されている。 Undefined Intelligence: Monitoring Experiments in Pylearn2 Live plotting — Blocks 0.0.1 documentation fchollet/hualos · GitHub 同じことを Chainer でやりたい。自分は EC2 を使うことが多いので、リモート環境でも利用できるものがいい。そのため、ここでは Bokeh を使うことにした。 Bokeh とは Bokeh とは、D3.js を利用したブラウザベースのイ

    Chainer で Deep Learning: Bokeh で Live Monitoring したい - StatsFragments
    elu_18
    elu_18 2015/07/09
    はてなブログに投稿しました #はてなブログ Chainer で Deep Learning: Bokeh で Live Monitoriong したい - StatsFragments http://t.co/hmJ6NihJhk http://t.co/mfRr3f61W5
  • R で 状態空間モデル: {dlm} で単変量モデルの状態空間表現を利用する - StatsFragments

    こちらの続きで、状態空間時系列分析入門の第8章の内容。 sinhrks.hatenablog.com 状態空間時系列分析入門 作者: J.J.F.コマンダー,S.J.クープマン,Jacques J.F. Commandeur,Sime Jan Koopman,和合肇出版社/メーカー: シーエーピー出版発売日: 2008/09メディア: 単行購入: 2人 クリック: 4回この商品を含むブログを見る 状態空間モデルでは、トレンド、季節効果、説明変数効果などさまざまな要因を考慮することができる。また これらの要因を単一の状態空間表現で統一的に扱える。時刻 における観測値 と状態 は以下の式で書ける (前回と同じ)。 この式であらわされたモデルを {dlm} で利用する際にどうすればよいのかをまとめたい。 vignette にあるとおり、{dlm} ではモデルを dlm::dlmModPoly

    R で 状態空間モデル: {dlm} で単変量モデルの状態空間表現を利用する - StatsFragments
    elu_18
    elu_18 2015/05/24
    はてなブログに投稿しました #はてなブログ R で 状態空間モデル: {dlm} で単変量モデルの状態空間表現を利用する - StatsFragments http://t.co/i2SRN2zc0C http://t.co/U9bk6TbpqE
  • R {ggplot2} で独自の geom を手軽に作りたい - StatsFragments

    重要 このエントリは {ggplot2} 1.1.0 以前の情報です。v2.0.0 以降の方法は vignettes "Extending ggplot2" を読んでください。 CRAN - Package ggplot2 はじめに {ggplot2} を使っていると、新しい描画図形 (geom) を作りたいなという場合がたまにある。その方法は {ggplot2} の Wiki に書いてあり、手順は、 描画図形の実体を grid::Grob として定義する (リンク先の例では fieldGrob ) 定義した Grob を 呼び出す描画用クラスを ggplot2:::Geom を継承して作る (リンク先の例では GeomField ) 描画用関数 geom_xxx を作る (リンク先の例では geom_field ) 手順のうち 新しい Grob を作るのは少し面倒な感じだ。が、作りたい

    R {ggplot2} で独自の geom を手軽に作りたい - StatsFragments
  • Python pandas のデータを scikit-learn でうまいこと処理したい - StatsFragments

    はじめに Python機械学習する場合、pandas で前処理したデータを scikit-learn で処理する、というケースが多いと思う。pandas, scikit-learn には それぞれ 簡単にできる / できない処理があるので、うまいこと連携できるとうれしい。 scikit-learn の各メソッドは numpy.ndarray に対する処理を前提にしているため、pandas のデータ形式 (DataFrame や Series) を渡すと 内部で ndarray に変換して結果を返してくる。そのため、結果に対して 直接 pandas の処理を続けることはできない。 ndarray で処理すりゃいいじゃん、、というむきもあるが、自分はどうしても pandas で処理がしたいんだ。とりあえず、pandas のデータをできるだけ維持したい、というモチベーションがあるものとして処

    Python pandas のデータを scikit-learn でうまいこと処理したい - StatsFragments
    elu_18
    elu_18 2015/03/18
    Python pandas のデータを scikit-learn でうまいこと処理したい - StatsFragments #はてなブログ http://t.co/qBgcmpTCCs
  • Theano で Deep Learning <6>: 制約付きボルツマンマシン <前編> - StatsFragments

    DeepLearning 0.1 Documentation の第六回は 制約付きボルツマンマシン (Restricted Boltzmann Machines / 以降 RBM) 。RBM は オートエンコーダとはまた別の事前学習法。かなり分量があるので、とりあえず元文書 前半のRBM の仕組みまで。 RBM を理解しにくいポイントは 2 つあるかなと思っていて、 この構造 (グラフィックモデル) であるメリットはあるのか? 学習 (Contrastive Divergence) で何をやってんのか? というとこではないかと。最初、自分は 2 がまったくわからなかった。2 は "とりあえずできそうな構造 / 方法でやってみたらなんかうまくいった" 感があって、理由がいまいちはっきりしないところがある。 目次 DeepLearning 0.1 について、対応する記事のリンクを記載。 第一回

    Theano で Deep Learning <6>: 制約付きボルツマンマシン <前編> - StatsFragments
    elu_18
    elu_18 2015/01/13
    Theano で Deep Learning &lt;6&gt;: 制約付きボルツマンマシン &lt;前編&gt; - StatsFragments http://t.co/lBit0VdBnq
  • Theano で Deep Learning <3> : 畳み込みニューラルネットワーク - StatsFragments

    Python Theano を使って Deep Learning の理論とアルゴリズムを学ぶ会、第三回。今回で教師あり学習の部分はひと段落。 目次 DeepLearning 0.1 について、対応する記事のリンクを記載。 第一回 MNIST データをロジスティック回帰で判別する 英 第二回 多層パーセプトロン 英 第三回 畳み込みニューラルネットワーク (今回) 英 第四回 Denoising オートエンコーダ 英 第五回 多層 Denoising オートエンコーダ 英 第六回の準備1 networkx でマルコフ確率場 / 確率伝搬法を実装する - 第六回の準備2 ホップフィールドネットワーク - 第六回 制約付きボルツマンマシン 英 Deep Belief Networks 英 Hybrid Monte-Carlo Sampling 英 Recurrent Neural Network

    Theano で Deep Learning <3> : 畳み込みニューラルネットワーク - StatsFragments
    elu_18
    elu_18 2014/12/08
    futoiki のブックマーク - Theano で Deep Learning &lt;3&gt; : 畳み込みニューラルネットワーク - StatsFragments / http://t.co/TNv5xLzOud
  • Theano で Deep Learning <2> : 多層パーセプトロン - StatsFragments

    Python Theano を使って Deep Learning の理論とアルゴリズムを学ぶ会、第二回。 目次 DeepLearning 0.1 より、 第一回 MNIST データをロジスティック回帰で判別する 英 第二回 多層パーセプトロン (今回) 英 第三回 畳み込みニューラルネットワーク 英 第四回 Denoising オートエンコーダ 英 第五回 多層 Denoising オートエンコーダ 英 第六回の準備1 networkx でマルコフ確率場 / 確率伝搬法を実装する - 第六回の準備2 ホップフィールドネットワーク - 第六回 制約付きボルツマンマシン 英 Deep Belief Networks 英 Hybrid Monte-Carlo Sampling 英 Recurrent Neural Networks with Word Embeddings 英 LSTM Netw

    Theano で Deep Learning <2> : 多層パーセプトロン - StatsFragments
    elu_18
    elu_18 2014/11/30
  • KalmanFilter の動きを可視化する 一次元版 - StatsFragments

    KalmanFilter をきちんと理解したいのだが いまいち 具体的な動作がわからない、、、ということで実装 & 可視化してみた。 KalmanFilter とは 誤差が乗っているであろう観測値の系列について、直前の観測と現在の観測を用いて 真の状態を推定する手法。例えば GPSで取得した位置情報から、正しい位置を推定する 取得可能な経済指標から 真の景気の状態を推定する カルマンフィルター - Wikipedia 理論 はてなTeX 記法で うまく数式がかけないところがあるので 英語wikipedia の数式を使う。KalmanFilter はある時点で観測を行うたびに 入力値を使って次の状態を予測するとともに、現時点の予測値を補正する処理を繰り返す。 予測: k-1 時点の値を利用して予測した k 時点での"真値の予測値" k-1 時点の値を利用して予測した k 時点での「真

    elu_18
    elu_18 2014/11/05
    わかりやすいやつだ / “KalmanFilter の動きを可視化する 一次元版 - StatsFragments” http://t.co/INun6O0h68
  • 1