忘れないようにメモっとく

機械学習とかプログラミングとか。

PyMC3で階層ベイズモデル - シックスネーションズ

この記事は、PyMC3のドキュメント A Hierarchical model for Rugby prediction — PyMC3 3.0 documentation のコードを引用しています。 PyMC3でラグビーの階層ベイズモデリング 元記事では、シックスネーションズ2014の各試合を階層ベイズでモデリングしてい…

awkユーザーのためのPerlワンライナー

awk(と他のコマンド)ユーザーがPerlワンライナーを覚えるとうれしいこと↓↓ -aオプションでawkと似たような書き方ができる(awkとの比較を参考) カラム1とカラム2を表示 awk '{print $1, $2}' perl -waln -e 'print $F[0], $F[1]' awkよりperlの方が速い場合が…

温度のゆらぐランジュバン方程式

物理学 Advent Calendar 2014 - Adventar 20日目の記事です。 ブラウン運動を表現する確率微分方程式であるLangevin方程式とそれを拡張した温度のゆらぐLangevin方程式の話をします。 また、幾何ブラウン運動は金融商品のモデル化に利用されたりするので、そ…

CRANとGithub

R Advent Calendar 2014 : ATND 19日目の記事です。Rのパッケージ{biganalytics}にプルリクを送ったときの話をします。 bigmemoryプロジェクト biganalyticsはbigmemoryプロジェクト内のパッケージのひとつです。 bigmemoryプロジェクト(The bigmemory Proje…

Lagrangian coherent structures入門

LCS 物理学 Advent Calendar 2014 - Adventar 6日目です。 Lagrangian coherent structures(ラグランジアンコヒーレント構造。以下, LCS)の話を書きます。 LCSについて、すごく簡単に説明すると、流体中の動的なバリア構造です。例えば、乱流のような複雑な…

SageMathCloudを使ってみよう

Python Advent Calendar 2014 - Qiita 3日目の記事です。 タイトルの通り、SageMathCloudを使ってみようという話をします。 SageMathCloudとは? すごく簡単に説明すると、クラウド(ブラウザ)上で、SageMathやiPython Notebook、LaTeX、Terminalなどが実行で…

sort - Unixコマンド。ヘッダー以外の行でソートする。

(head -n +1 sample.txt && tail -n +2 sample.txt | sort ) > sorted_sample.txt headとtailを使えば、中間ファイル無しで書ける。以下はサンプルファイルを使った解説。 例えばこんなファイル。sample.txt id x y 1 1.3 0.6 2 1.1 0.4 3 1.1 0.6 4 1.7 0.4…

機械学習ハッカソンに行ってきました。

機械学習ハッカソンに行ってきました。 会場は、秋葉原アンダーグラウンド。アキバには妙に親近感を覚えます。 テーマは「機械学習を使ってなにかをする」ということで、使うデータは自由、手法も自由。R使ってもいいし、sklearn使ってもいいし、自分でアル…

awkで列の種類ごとに集計する。

awk

連想配列のキーにグループの名前を使えばおk。 集計するファイル↓↓ hoge.txt りんご 230 りんご 300 ばなな 190 ばなな 190 みかん 110 りんご 310 ばなな 190 みかん 110 みかん 130 awkファイル↓↓ sum.awk { sum[$1]+=$2 }; END { for (key in sum) { prin…

awkで列方向に集計する。

awk

合計、平均、分散、標準偏差 列方向の集計やりづらいなって思ってたけど、for (i=1;i<=NF;i++)使って楽チン。 集計するファイル↓↓ hoge.txt 840 394 783 798 911 197 335 768 277 553 477 628 364 513 952 916 awkファイル↓↓ sum.awk BEGIN { print "sum", "…

awkで重複行を高速削除する。

awk

awkで重複行を高速削除する。 行の重複削除で調べるとよく出てくるのが、sort & uniqを使ったコマンド。 ソートはファイルが大きくなると、実行にかなり時間がかかってしまいますね。 ソートせずに高速実行できるのが、次のawkコマンド。 awk '!colname[$1]+…

Evernoteをもっとカッコよく使うためのChrome拡張

Markdownを使おう みんな大好きEvernote。 ちょっとしたノート代わりに書き込んだり、Todoメモや備忘録としても使えて、何よりクラウドで共有できるのが便利ですよね。 自分も思いついたことは何でもEvernoteに書き溜めているのですが、文字の大きさとか文の…

D3.jsでカタカタ動くやつ

コードの説明あとで書く 押して! var dataset = [ 5, 10, 13, 19, 21, 25, 22, 18, 15, 13, 11, 12, 15, 20, 18, 17, 16, 18, 23, 25 ] var w = 600 var h = 250 var xScale = d3.scale.ordinal() .domain(d3.range(dataset.length)) .rangeRoundBands([0, …

android端末がadbで認識されないとき

中国製のandroid端末をもっているのですが、adbのコマンドで端末が認識されなかった件について。 android - adb not finding my device / phone (MacOS X) - Stack Overflow システム情報から、USBに繋がっているandroid端末を選択して、製造元IDをコピーし…

「オブジェクト指向ってなんですか?」と聞かれたとき。

オブジェクト指向てなんだよ - 絶望?なにそれ?美味しいの? この記事から引用。 オブジェクト指向とは何ぞや?と面接とかでよく聴かれるのですが 基本的に、説明なんか出来ないよ。 これは、その通り。 「オブジェクト指向」は考え方であり、バズワードで…

NCAA全米大学バスケの勝敗予測 ~ kaggleのデータコンペ

kaggleで面白そうなデータコンペやってる 予測モデルやデータ分析のコンペティションのkaggle。 今回はスポーツに関連したコンペで、大学バスケの勝敗(勝率)予測です。 NCAAってなんだろ? バスケは全然詳しくないので、、NBAは知ってるけど、NCAAって聞いた…

D3.jsでインタラクティブな感じにする

下の棒グラフは前回のコードに、各イベントを実装したものです。 グラフ表示の際のアニメーションと、マウスオーバーしたときの動作を、D3.jsのtransition()とイベントリスナーを使って簡単に追加することができます。 transition() var dataset = [ 5, 10, …

D3.jsを始める前に ~SVGの基礎

D3.jsとデータビジュアライゼーション 「ビッグデータ」や「データサイエンティスト」といった言葉に続き、「データビジュアライゼーション」もキーワードとして注目されてきていますね。 データを視覚化するツールは本当にたくさんありますが、個人的に使い…

Djangoで管理画面のCSSを有効にする

Apache 上で動かすDjango について。 数あるWeb フレームワークの中でも、Django は優秀な管理画面が組み込まれているのが特徴です。 Djangoのチュートリアルに沿って実装すると。↓↓↓ あれ、cssが適用されてないみたいで、なんかかっこ悪い。。サーバーのerr…

3倍はかどる.gitconfigとgitコマンド

git

.gitconfig よく使うサブコマンドはエイリアス貼る。logもきれいに見えるのでgit treeはおすすめ。 [alias] ch = checkout co = commit st = status br = branch hist = log --pretty=format:\\\"%h %ad | %s%d [%an]\\\" --graph --date=short tree = log -…

初級〜中級者のためのSQL特訓

sql

ほぼほぼ初心者でSQLの練習がしたいっていう人、知識の再確認をしたい人にオススメのサイト。 SQLZOO ブラウザ上で動作するので、めんどくさい環境設定もなし。 データベースも、MySQL、Oracle、SQL Server、Postgre、Ingres、DB2から選べる。 簡単なSELECT…

herokuにnode.js & Expressをデプロイする。

heroku上でnode.js & Expressを動かしたときのメモ。あらかじめ、herokuのアプリをローカルにcloneしておく。 expressのインストール プロジェクト作成 Procfile作成 デプロイ expressのインストール npmを使って、expressをインストールする。 npm install …

herokuのsshキー管理とrepositoryのclone

herokuのアカウントとアプリを作ったあとのsshの登録とローカルへのcloneまでのメモ。 herokuコマンド sshキーの管理 clone herokuコマンド herokuコマンドはここからインストール。 Heroku Toolbeltherokuコマンドを使って、ターミナルからログインする。 h…

sklearnで手書き文字認識

Python Advent Calendar 2013 - Adventar、20日目の記事です。pythonの機械学習ライブラリのsklearnが便利。 ドキュメントも充実してるし、機械学習のアルゴリズムに詳しくなくても手軽に使えるので、動かしながら勉強できる。↓ sklearnでできること(一部) …

Rのオブジェクト指向プログラミング(S3とS4クラス)

R

R Advent Calendar 2013 : ATND 17日目の記事です。 Rのオブジェクト指向 Rをオブジェクト指向で書けると聞いて、The Art of R Programmingを読んだ。javaとかpythonのオブジェクト指向とはだいぶ違うもので、Rのオブジェクト指向は主に、「ひとつの関数でい…

Theanoを使ってGPU計算をする。

Deep LearningにtheanoのGPU計算のチュートリアルがあったのでやってみた。 pylearn2を使ったディープラーニングのトレーニングもGPUで高速計算できる。 Using the GPU — Theano 0.6 documentationちなみにCUDAが対応してないパソコンだとCPUしか使えない。(…

tmux便利だな〜。素敵なターミナルライフ。

tmux便利だな〜。ターミナル大好き人間はおしなべて使うべきと言ってもよいのではねぇでしょうか。 tmuxは複数のウィンドウを開いたり、画面を分割してレイアウトを変更したりできる。 (I mean, a terminal multiplexer!!) 下のようなイメージで、session内…

pythonでスクレイピング&画像一括ダウンロード

Scrapyでwebスクレイピングするとき、ページ上の画像を一括でダウンロードして、ローカルに全部保存する。Downloading Item Images — Scrapy 0.21.0 documentationわけあってこのページからハンター文字を一括ダウンロードすることになった。 ハンター文字sc…

ipython notebookをリモートサーバ上で動かす。

ipython notebookすごく便利。 The IPython Notebook — IPython 2.0.0-dev: Work in Progress documentation開発が盛んで、バージョンが更新されるたびに、UIもどんどんよくなる。 ガンガン補完してくれるし、コマンドライン上のipythonでは出来ないような、…

Theanoをcentosにインストールした。

DeeplearnigのライブラリにはTheanoと聞いて。 ちょっとローカルのスペックではもの足りないので、計算用のcentosにTheanoをインストールしたときのメモ。pythonとパッケージのバージョン問題で詰まった。というかエラーのタコ殴りにあった。とりあえず、開…