六本木で働くデータサイエンティストのブログ

元祖「銀座で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木

R

「正答率100%」になってしまう機械学習モデルの例を挙げてみる

何か僕がシンガポールに出張している間に妙なニュースが流れていたようで。 京大ビッグデータ副作用論文。機械学習知らない私でも疑問なのは、@sz_drさんも指摘してるが y'=a1*SCORE+a2*ACT+a3*GeneID+b (1) という式で、GeneIDという定量的に性質を示す値で…

確率的勾配降下法を最適化に使える{sgd}パッケージを一通り試してみる

ちょっと前に話題になってたんですが、何でもCRANに確率的勾配降下法(Stochastic Gradient Descent)を実装した{sgd}というパッケージが公開されているそうで。JSS掲載予定のVignetteもあるみたいです。 CRAN - Package sgd Stochastic gradient decent metho…

因果フェスでGranger因果について話してきたら、色々いじれば非線形でもやれるんじゃないかという気がしてきた

本日8月6日に駒場で開かれた日本生態学会関東地区会公開シンポジウム「非ガウス性/非線形性/非対称性からの因果推論手法:その使いどころ・原理・実装を学ぶ」通称因果フェスにて、Granger因果について話してきました。 ちなみに事前に林岳彦(id:takehiko-…

不均衡データの分類をクラス重み付けではなくクラス分類事後確率の閾値で補正するとどうなるか

先日ask.fmでこんな質問をいただいたのでやってみました。 不均衡データの分類についてブログを拝見しました。 不躾な質問で恐縮ですが、正例の少ない不均衡データをRandomforestで2値分類を行う際に、ウェイトを使うのであれば、単純にProbで出力される「正…

『みんなのR』(原題:"R for Everyone")ご恵贈いただきました

みんなのR ?データ分析と統計解析の新しい教科書?作者: Jared P. Lander,Tokyo.R(協力),高柳慎一,牧山幸史,簑田高志出版社/メーカー: マイナビ発売日: 2015/06/30メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る ということで、訳者の…

UCI機械学習リポジトリのデータ(など)で遊ぶ(3):クレジットカードの加入審査データ

このシリーズ、前回はUCIリポジトリではないデータセットを使ってしまって本義に悖る内容になってしまったので(笑)、今回はUCIのデータセットを使ってみることにします。そのデータがこちら。 Credit Approval Data Set Data set descriptionを見ると、こ…

パッケージユーザーのための機械学習(12):Xgboost (eXtreme Gradient Boosting)

今やKaggleやKDD cup以下名だたる機械学習コンペで絶大な人気を誇る分類器、Xgboost (eXtreme Gradient Boosting)。特にKaggleのHiggs Boson Machine Learning Challengeの優勝チームが駆使したことで有名になった感があるようで。 その実装ですが、C++ベー…

UCI機械学習リポジトリのデータ(など)で遊ぶ(2):『レ・ミゼラブル』の人物相関図

第2回にして既にUCIのデータセットではないんですが(笑)、ちょっと自分の練習も兼ねてご紹介。今回はグラフというかネットワークがお題です。ぶっちゃけ僕自身はグラフ理論&ネットワーク分析は全くもって真面目に勉強してないので、炎上ラーニングも兼ね…

交互作用項を入れればロジスティック回帰でも非線形分離可能になることもある

基本的にロジスティック回帰は単純な線形識別関数としての分類器なので、一般には線形分離不可能パターンに対して適用すると全く分類できないという結果に終わります。実際、シンプルXORパターンと複雑XORパターンに対して、ロジスティック回帰で学習させて…

RでL1 / L2正則化を実践する

L1 / L2正則化と言えば機械学習まわりでは常識で、どんな本を見てもその数式による表現ぐらいは必ず載ってる*1わけですが、そう言えばあまり実務では真面目にL1 / L2正則化入れてないなと思ったのと、Rでやるなら普通どうするんだろう?と思ったので*2、もは…

Rでデータ分析・統計学・機械学習・データマイニングを学ぶならこの10冊で(2015年2月版)

今週はまともなデータ分析やら統計学やら機械学習やらの記事を書くのが面倒になったので*1、しばらくやってなかったお薦め書籍リストでも書こうかと思います。 今回まとめるリストは、ズバリ「Rでデータサイエンス・統計学・機械学習を学ぶための10冊」。Rと…

UCI機械学習リポジトリのデータで遊ぶ(1):2013年のテニス四大大会match stats

去る2月5日(木)にレバレジーズ様のお招きで渋谷でちょっとしたRハンズオンをやってきました。 手を動かしながら学ぶエンジニアのためのデータサイエンス! from leverages_event この中で利用したのが、UCI Machine Learning Repositoryのオープンデータセ…

Rでベイジアン動的線形モデルを学ぶ(5):説明変数のあるローカル・レベル・モデル

何か月1回しか書かなくなりつつあるこのシリーズですが、中には@berobero11さんのようにツッコミ倒すのを楽しみにして下さっている方もおられるようなので、久しぶりに更新してみます。 もちろん参考文献は以下の2冊 + PDF book。お題はCommandeur本の第5章…

H2OのRパッケージ{h2o}でお手軽にDeep Learningを実践してみる(4):隠れ層の特徴表現を抽出してみたがよく分からなかった話

そういえばMNISTコンペが気が付いたらまた1年延長されたみたいですが。 Description - Digit Recognizer | Kaggle これ以上順位上げるのは面倒で仕方ないのでほっといて、もうちょっと自分の勉強しようかと思います。今気になってるのが、隠れ層における特徴…

Twitterがリリースした時系列異常値検出のためのRパッケージ{AnomalyDetection}を試してみる

もう松の内も明けてしまいましたが、遅ればせながら皆さん明けましておめでとうございます。今年もよろしくお願いいたします。 で、年明け早々にTwitterエンジニアブログに面白いネタが上がっていたのでした。 Introducing practical and robust anomaly det…

h2o.deeplearningでクリスマスツリー(のようなもの)を描く

R Advent Calendar 2014 (ATND)のクリスマス・イヴ担当ということで、クリスマスツリーを描いてみます。 R Advent Calendar 2014 : ATND まずは去年もやったSVMで、ついでにちょっとだけホワイト・クリスマス感を出してみた感じで。クリスマスツリーのデータ…

Rによる最適化計画(1):とりあえずCRAN Task Viewを見て、{linprog}パッケージのsolveLP関数とoptim関数を触ってみる

時々最適化計画をやってくれみたいな依頼をもらうことがあるんですが、普通の線形計画法って普通にやると実はwinner-take-allみたいなことになって、結局ヒトが介在しなきゃダメみたいなことになるんですよね。なーんて愚痴りながらググってたらこんなPDFを…

Stanで統計モデリングを学ぶ(7): 時系列の「トレンド」を目視ではなくきちんと統計的に推定する

何かこのシリーズめちゃくちゃ久しぶりなんですが(汗)、ちょっと最近問題意識を抱いている話題があるのでそれに関連した形でStanでやってみようと思います。 それは時系列の「トレンド」の扱い。ビジネスの現場では、時系列を意識しなくても良い*1クロスセ…

パッケージユーザーのための機械学習(11):番外編 - AdaBoost

このシリーズ記事、教師なし学習をあらかたやったので*1もういいかなと思ってたんですが、ひょんなことから取り上げ忘れてたものがあったなぁと思い出したのでサクッとやってみようと思います。 忘れていたのはAdaBoost。普段はほとんど使わないブースティン…

Rでベイジアン動的線形モデルを学ぶ(4):季節要素のあるローカルレベル・モデル

色々と興味が発散していて違う話題ばかりしてますが、これもまだ全然終わってないので粛々と進めようと思います。ということで今回は季節調整のお話。Commandeur本の進行に合わせて、季節調整ありただしトレンドなしというモデルでいきます。もちろんテキス…

H2OのRパッケージ{h2o}でお手軽にDeep Learningを実践してみる(3):MNISTデータの分類結果を他の分類器と比較する

さて、折角Deep Learningなんて使うんだったらもうちょっと面白いデータでやってみようよ!ということで、多次元データの代表たるMNIST手書き文字データ*1を使って試してみようかと思います。 で、MNISTデータなんですが真面目に取ってこようとするとえらく…

H2OのRパッケージ{h2o}でお手軽にDeep Learningを実践してみる(2):学習データとパラメータを変えて試す

うっかりこのシリーズでJapan.Rで喋ることに決めてしまったせいで関係各方面からのプレッシャーを感じつつある今日この頃ですが。 Japan.R 2014 : ATND ともあれ一度乗ってしまった舟なので、このままだらだら{h2o}でDeep Learningというお題でちょっとシリ…

H2OのRパッケージ{h2o}でお手軽にDeep Learningを実践してみる(1):まずは決定境界を描く

我らが自称ゆるふわ*1ガチ勢代表@motivic_氏がこんな記事をupしてました。 Deep Learningの性能を見てみよう ~Iris編~ ということで、こんなに簡単にDeep LearningをR上で試せるんだったらついでに僕もやってみようと思ったのでした。ただし同じirisでやる…

Rで不均衡データをクラス分類する方法まとめ:SVM、ランダムフォレスト、ロジスティック回帰の場合

以前の記事でSVM(しかもsvm{e1071}に限って)で不均衡データをクラス分類する方法について取り上げましたが、色々調べた結果その他のRの分類器でもやれるということが分かったので、ついでにまとめておきます。といってもSVMに加えてランダムフォレスト、ロ…

Rでベイジアン動的線形モデルを学ぶ(3):ローカル線形トレンドモデル

相変わらずグダグダな上に挙句の果てに既にRでやっちゃった例をまとめたPDF bookまであると判明してモチベーションだだ下がりなんですが、備忘録も兼ねてめげずに続けます。もちろんテキストは相変わらずこちらの2冊。 状態空間時系列分析入門作者: J.J.F.コ…

不均衡データをSVMでクラス分類するにはどうすれば良いか

今年のKDD cupが絵に描いたような不均衡データ(正例と負例との数的比率が極端に偏っているデータ)で苦労させられたので、ちょっと調べたら色々と良い方法があるなぁと気が付きましたよということで備忘録的に紹介しておきます。 ちなみにググったら普通に@…

Rでベイジアン動的線形モデルを学ぶ(2.5):最尤法でパラメータ推定してみる

前回サクッとローカルレベル・モデルを推定してみたわけですが、そう言えばパラメータ推定は何もしなかったのでした。既に線形モデルも一般化線形モデルもこのブログで見てきている以上最小二乗法や最尤法やMCMCでパラメータ推定するというのは常識なわけで…

Rでベイジアン動的線形モデルを学ぶ(2):まずは状態空間のコンセプトと基本のローカルレベル・モデルから

前回からだいぶ間が空いた上に、要は{dlm}パッケージで遊ぼう!という大袈裟なタイトルの割に中身のないこのシリーズ記事ですが(笑)、取るものもとりあえずちょっと例題をやってみようと思います。参考文献はまずこちらのPetris本。 Rによるベイジアン動的…

Googleがリリースした「キャンペーンとKPIとの因果関係を推定する」Rパッケージ{CausalImpact}を試してみた

CausalImpact 何気なくR-Bloggerのタイムラインを見ていたら、"Google Open Source Blog: CausalImpact: A new open-source package for estimating causal effects in time series"という記事がシェアされていたので見に行ってみたのでした。これはもう読ん…

『手を動かしながら学ぶ ビジネスに活かすデータマイニング』(技術評論社)を書くに当たって気を付けたこと&補足など(追記あり)

追記(2015/03/14) 第7章の決定木のところで取り上げた{mvpart}パッケージのサポートが切れ、CRANから削除されてしまったためinstall.packages関数ではインストールできなくなっています。現在のインストール方法を最後に追記しました。 追記(2014/09/18) 実…