36
びびびびびびびびびびび びびびび Revolution R びびびび2012/08/04 Tokyo.R #25 Matsui Hiroki

Tokyo r25 hiro_macchan

Embed Size (px)

DESCRIPTION

About Revolution R Enterprise & RevoscaleR

Citation preview

Page 1: Tokyo r25 hiro_macchan

びっぐでぇた解析環境あ~る~主として Revolution R のご紹介~

2012/08/04Tokyo.R #25

Matsui Hiroki

Page 2: Tokyo r25 hiro_macchan

はじめに このプレゼンテーションは個人の見解で有り、いかなる所属組織の公式見解ではありません。 また、このプレゼンテーションにおいて、営利企業の製品に関する言及がありますが、購入を推奨するものではないことをご留意下さい。

2012/8/4 Tokyo.R#25 2

Page 3: Tokyo r25 hiro_macchan

自己紹介• Matsui Hiroki (RPT,MPH)• 出身:琵琶湖 住まい:千葉 職場:都内赤門• 趣味:サイクリング。一緒に走れる怖くないお嫁

様募集中!• 専門:リハビリテーション、臨床疫学・医療経済学• 元理学療法士(リハビリ屋)→研究者• Rは趣味程度に利用→現在は、仕事で利用• Twitter: Hiro_macchan

未熟者ですので間違い等は指摘して下さい。(できれば、お手柔らかに。。)

2012/8/4 Tokyo.R#25 3

Page 4: Tokyo r25 hiro_macchan

前回までのあらすじTokyo.R#24 にて、 #25 の日程が 2012/08/04に決まる。

2012/8/4 Tokyo.R#25 4

Page 5: Tokyo r25 hiro_macchan

前回までのあらすじTokyo.R#24 にて、 #25 の日程が 2012/08/04に決まる。当日、法事で実家に帰省する私は参加を見送る。

2012/8/4 Tokyo.R#25 5

Page 6: Tokyo r25 hiro_macchan

前回までのあらすじTokyo.R#24 にて、 #25 の日程が 2012/08/04に決まる。当日、法事で実家に帰省する私は参加を見送る。発表者リストに自分の名前を発見する。

2012/8/4 Tokyo.R#25 6

Page 7: Tokyo r25 hiro_macchan

前回までのあらすじTokyo.R#24 にて、 #25 の日程が 2012/08/04に決まる。当日、法事で実家に帰省する私は参加を見送る。発表者リストに自分の名前を発見する。(; ゚ д ゚ ) ポカーン

2012/8/4 Tokyo.R#25 7

Page 8: Tokyo r25 hiro_macchan

前回までのあらすじTokyo.R#24 にて、 #25 の日程が 2012/08/04に決まる。当日、法事で実家に帰省する私は参加を見送る。発表者リストに自分の名前を発見する。(; ゚ д ゚ ) ポカーン滋賀からとんぼ返り←いまここ!!※ 乗り換えた名古屋で赤福買ってきました。2012/8/4 Tokyo.R#25 8

Page 9: Tokyo r25 hiro_macchan

背景

2012/8/4 Tokyo.R#25 9

http://itpro.nikkeibp.co.jp/article/COLUMN/20120709/407924/

Page 10: Tokyo r25 hiro_macchan

背景• R はビッグデータ解析環境として適しているのか?

– 確かに、各種ライブラリのおかげでデータを解析する目的であれば極めて有用なツールである。

• R は基本的にデータをメモリ上に保持する。– メモリ上限までしかデータを保持できない。

• R の処理系は決して高速とは呼べない。– 基本的に単一 CPU しか利用しない。

• ビッグデータと呼ばれる大規模データ解析に適していない?

2012/8/4 Tokyo.R#25 10

Page 11: Tokyo r25 hiro_macchan

背景• 偉大な諸先輩方の貴重な資料

2012/8/4 Tokyo.R#25 11

@wdkz さん (2011/11/26)

@sfchaos さん (2011/04/10)

• R で大規模データを扱う各種チャレンジは継続的に行われている。

Page 12: Tokyo r25 hiro_macchan

背景• 今回のプレゼンテーションは以下の点に触れた

い。

– R の商用パッケージである、 RevoscaleR を使用して HDD 上でデータの処理を行う事が出来る。

–+ α ( LTネタについて)

2012/8/4 Tokyo.R#25 12

Page 13: Tokyo r25 hiro_macchan

RevoScaleR について• Revolution Analytics @カルフォルニア製• Revolution R Enterprize に同梱されたパッケージみたいな扱い。

• 最近 Revolution R Enterprize 6.0 が出た。• $1,000@1USER • アカデミアにいる人はフリーで利用できる。• 何か、ダウンロードするときにセキュリ

ティに引っかかるんだけど。。。。広告が原因?

2012/8/4 Tokyo.R#25 13

Page 14: Tokyo r25 hiro_macchan

RevoScaleR について• bigmemory, ff などと同じく HDD上に一時ファ

イルを作成しそこにアクセスしながら解析する。• Bigmemoryと違い Data.frame を扱える。• 独自関数で一般化線形モデルをサポート。

Summary Statistics, CrosstabulationsCorrelation and Covariance,Linear RegressionBinomial Logistic Regression,Principal Components AnalysisGeneralized Linear Modeling,K-means clustering,Predictions

• どうも、分散処理をサポートしているらしい。2012/8/4 Tokyo.R#25 14

Page 15: Tokyo r25 hiro_macchan

今回使用するデータセットについて

• Data Expo 2009–アメリカの航空旅客機の飛行データ– 1987年~ 2008年– http://stat-computing.org/dataexpo/2009/the-dat

a.html–フライトの日時や予定離着陸時間、目的地などの情報を29カラムで表している。

– 今回は、時間の都合上 2008年のデータを使用

2012/8/4 Tokyo.R#25 15

Page 16: Tokyo r25 hiro_macchan

RevoscaleR の使い方

1. データを HDD 上に XDFファイルとして格納

2. XDFファイルの編集3. XDFファイルの解析4. 分散処理

2012/8/4 Tokyo.R#25 16

Page 17: Tokyo r25 hiro_macchan

RevoscaleR の使い方

1. データを HDD 上に XDFファイルとして格納

2. XDFファイルの編集3. XDFファイルの解析4. 分散処理

2012/8/4 Tokyo.R#25 17

Page 18: Tokyo r25 hiro_macchan

RevoscaleR の使い方データの格納

dat.2008.rx <- rxTextToXdf(inFile="C:/Users/hoge/2008.csv", outFile="C:/Users/hoge/air2008.xdf", overwrite=TRUE)

2012/8/4 Tokyo.R#25 18

入力ファイル(テキストファイル)のパス

出力ファイル( .xdf )のパス

rxImportToXdf(inSource, outSource, rowSelection = NULL, transforms = NULL,        transformFunc = NULL, transformVars = NULL, userObjects = NULL,           append = "none", overwrite = FALSE, numRows = -1,        reportProgress = rxGetOption("reportProgress"))

SAS のデータセットとかも読めるらしい。

Page 19: Tokyo r25 hiro_macchan

RevoscaleR の使い方データの格納

dat.2008.rx <- rxTextToXdf(inFile="C:/Users/hoge/2008.csv", outFile="C:/Users/hoge/air2008.xdf", overwrite=TRUE, colClasses=)

2012/8/4 Tokyo.R#25 19

colClasses  :“ logical”, “integer”,“factor”, “numeric”,       “ character” 等が指定できる。

Page 20: Tokyo r25 hiro_macchan

RevoscaleR の使い方

1. データを HDD 上に XDFファイルとして格納

2. XDFファイルの編集3. XDFファイルの解析4. 分散処理

2012/8/4 Tokyo.R#25 20

Page 21: Tokyo r25 hiro_macchan

RevoscaleR の使い方XDFファイルの編集• XDF ファイルの中身の確認

rxGetInfoXdf("C:/hoge/air2008.xdf", getVarInfo = TRUE)

2012/8/4 Tokyo.R#25 21

File name: C:/hoge/air2008.xdf Number of observations: 7009728 Number of variables: 29 Number of blocks: 15 Variable information: Var 1: Year, Type: integer, Low/High: (2008, 2008)Var 2: Month, Type: integer, Low/High: (1, 12):

Page 22: Tokyo r25 hiro_macchan

RevoscaleR の使い方XDFファイルの編集• XDF ファイルの中身の編集

rxDataStepXdf(inFile = inputFile, outFile = outputFile, transforms = list(a = Year * 20, b = 100 * Month),

#rowSelection = Weekday == 0,varsToKeep = varsToKeep,

overwrite = TRUE)

2012/8/4 Tokyo.R#25 22

File name: C:/hoge/air2008.xdf Number of observations: 7009728 :Var 29: LateAircraftDelay, Type: integer, Low/High: (0, 1316)Var 30: a, Type: numeric, Low/High: (4016000.0000, 4016000.0000)Var 31: b, Type: numeric, Low/High: (20.0000, 240.0000)

Page 23: Tokyo r25 hiro_macchan

RevoscaleR の使い方

1. データを HDD 上に XDFファイルとして格納

2. XDFファイルの編集3. XDFファイルの解析4. 分散処理

2012/8/4 Tokyo.R#25 23

Page 24: Tokyo r25 hiro_macchan

RevoscaleR の使い方XDFファイルの解析• XDF ファイルのクロス表集計

CTabs <- rxCrossTabs(ArrDelay ~ Origin,   data = "C:/hoge/air2008.xdf")

2012/8/4 Tokyo.R#25 24

何かうまく動かなかったです。最初の読み込み時にちゃんと型設定すべきでした。

雰囲気的には reshape2みたいなのりでデータの加工が出来るっぽい?

Page 25: Tokyo r25 hiro_macchan

RevoscaleR の使い方XDFファイルの解析• XDF ファイル→ヒストグラム

rxHistogram(~AirTime, data = "C:/hoge/air2008.xdf")

2012/8/4 Tokyo.R#25 25

Page 26: Tokyo r25 hiro_macchan

RevoscaleR の使い方XDFファイルの解析• XDF ファイルを直接 GLM にぶち込む。• 多分、 rxLinMod() あたりにオプション指定する事で出

来そう?

2012/8/4 Tokyo.R#25 26

調査中

Page 27: Tokyo r25 hiro_macchan

RevoscaleR の使い方

1. データを HDD 上に XDFファイルとして格納

2. XDFファイルの編集3. XDFファイルの解析4. 分散処理

2012/8/4 Tokyo.R#25 27

Page 28: Tokyo r25 hiro_macchan

RevoscaleR の使い方分散処理• ニュースリリースには、 Revoscale R は並列処理機能を

有し、 Windows HPC Server やクラウド環境での並列処理を実施できるとある。。。

2012/8/4 Tokyo.R#25 28

調査中

Page 29: Tokyo r25 hiro_macchan

まとめに変えて• RevoScaleR で HDD 上でのデータ処理が可能となることから、メモリ上限の制約から R を解き放つ事が出来る。

• ちょっと、遅い気がする。–並列処理機能についてもう少し調査が必要– 高速なドライブ( FusionIO社製 iOdrive )と

の相性は?• $1000 の価値があるかはもう少し見ないと

わからない。2012/8/4 Tokyo.R#25 29

Page 30: Tokyo r25 hiro_macchan

現在の心境

2012/8/4 Tokyo.R#25 30

調査未実施が多いことをお詫びします。次の機会に、追加情報をお届けします。

Page 31: Tokyo r25 hiro_macchan

参考文献@sfchaos さん資料http://www.slideshare.net/sfchaos/rbigmemory-tokyowebmining10@wdkz さん資料http://www.slideshare.net/wdkz/rffbigmemoryrevoscaler-10334116

Revolution Analyticshttp://www.revolutionanalytics.com/

2012/8/4 Tokyo.R#25 31

Page 32: Tokyo r25 hiro_macchan

+ α

• 実は、今回 LT予定でした。• LT テーマは

「データ前処理・失敗分析」

2012/8/4 Tokyo.R#25 32

Page 33: Tokyo r25 hiro_macchan

某飲み会にて。。。• “ビールうめー!”• “ 女性の前では否定的な言葉は使わない。

なんかめんどくさいことがあったら嫌いじゃないんだよねって言うとよいよ!”

• “R 使って解析するわけだけど、データの前処理ってかなり大切だよね?”

• “解析って色々やるわけだけど、失敗分析についても共有すべきだよね?”

Page 34: Tokyo r25 hiro_macchan

分析者のお悩みあるある!!

Page 35: Tokyo r25 hiro_macchan

次回(今回?)予告• 私のテーマ  「 Excel の結合セルに関するごり押し事例」

• みなさんのバッドノウハウとか、失敗事例 LT で発表しませんか?

• 主催者の里さんと、皆様のご意見を賜りたいと思います。

2012/8/4 Tokyo.R#25 35

Page 36: Tokyo r25 hiro_macchan

Thank You !

2012/8/4 Tokyo.R#25 36