Upload
hiroki-matsui
View
958
Download
4
Embed Size (px)
DESCRIPTION
About Revolution R Enterprise & RevoscaleR
Citation preview
びっぐでぇた解析環境あ~る~主として Revolution R のご紹介~
2012/08/04Tokyo.R #25
Matsui Hiroki
はじめに このプレゼンテーションは個人の見解で有り、いかなる所属組織の公式見解ではありません。 また、このプレゼンテーションにおいて、営利企業の製品に関する言及がありますが、購入を推奨するものではないことをご留意下さい。
2012/8/4 Tokyo.R#25 2
自己紹介• Matsui Hiroki (RPT,MPH)• 出身:琵琶湖 住まい:千葉 職場:都内赤門• 趣味:サイクリング。一緒に走れる怖くないお嫁
様募集中!• 専門:リハビリテーション、臨床疫学・医療経済学• 元理学療法士(リハビリ屋)→研究者• Rは趣味程度に利用→現在は、仕事で利用• Twitter: Hiro_macchan
未熟者ですので間違い等は指摘して下さい。(できれば、お手柔らかに。。)
2012/8/4 Tokyo.R#25 3
前回までのあらすじTokyo.R#24 にて、 #25 の日程が 2012/08/04に決まる。
2012/8/4 Tokyo.R#25 4
前回までのあらすじTokyo.R#24 にて、 #25 の日程が 2012/08/04に決まる。当日、法事で実家に帰省する私は参加を見送る。
2012/8/4 Tokyo.R#25 5
前回までのあらすじTokyo.R#24 にて、 #25 の日程が 2012/08/04に決まる。当日、法事で実家に帰省する私は参加を見送る。発表者リストに自分の名前を発見する。
2012/8/4 Tokyo.R#25 6
前回までのあらすじTokyo.R#24 にて、 #25 の日程が 2012/08/04に決まる。当日、法事で実家に帰省する私は参加を見送る。発表者リストに自分の名前を発見する。(; ゚ д ゚ ) ポカーン
2012/8/4 Tokyo.R#25 7
前回までのあらすじTokyo.R#24 にて、 #25 の日程が 2012/08/04に決まる。当日、法事で実家に帰省する私は参加を見送る。発表者リストに自分の名前を発見する。(; ゚ д ゚ ) ポカーン滋賀からとんぼ返り←いまここ!!※ 乗り換えた名古屋で赤福買ってきました。2012/8/4 Tokyo.R#25 8
背景
2012/8/4 Tokyo.R#25 9
http://itpro.nikkeibp.co.jp/article/COLUMN/20120709/407924/
背景• R はビッグデータ解析環境として適しているのか?
– 確かに、各種ライブラリのおかげでデータを解析する目的であれば極めて有用なツールである。
• R は基本的にデータをメモリ上に保持する。– メモリ上限までしかデータを保持できない。
• R の処理系は決して高速とは呼べない。– 基本的に単一 CPU しか利用しない。
• ビッグデータと呼ばれる大規模データ解析に適していない?
2012/8/4 Tokyo.R#25 10
背景• 偉大な諸先輩方の貴重な資料
2012/8/4 Tokyo.R#25 11
@wdkz さん (2011/11/26)
@sfchaos さん (2011/04/10)
• R で大規模データを扱う各種チャレンジは継続的に行われている。
背景• 今回のプレゼンテーションは以下の点に触れた
い。
– R の商用パッケージである、 RevoscaleR を使用して HDD 上でデータの処理を行う事が出来る。
–+ α ( LTネタについて)
2012/8/4 Tokyo.R#25 12
RevoScaleR について• Revolution Analytics @カルフォルニア製• Revolution R Enterprize に同梱されたパッケージみたいな扱い。
• 最近 Revolution R Enterprize 6.0 が出た。• $1,000@1USER • アカデミアにいる人はフリーで利用できる。• 何か、ダウンロードするときにセキュリ
ティに引っかかるんだけど。。。。広告が原因?
2012/8/4 Tokyo.R#25 13
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
今回使用するデータセットについて
• Data Expo 2009–アメリカの航空旅客機の飛行データ– 1987年~ 2008年– http://stat-computing.org/dataexpo/2009/the-dat
a.html–フライトの日時や予定離着陸時間、目的地などの情報を29カラムで表している。
– 今回は、時間の都合上 2008年のデータを使用
2012/8/4 Tokyo.R#25 15
RevoscaleR の使い方
1. データを HDD 上に XDFファイルとして格納
2. XDFファイルの編集3. XDFファイルの解析4. 分散処理
2012/8/4 Tokyo.R#25 16
RevoscaleR の使い方
1. データを HDD 上に XDFファイルとして格納
2. XDFファイルの編集3. XDFファイルの解析4. 分散処理
2012/8/4 Tokyo.R#25 17
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 のデータセットとかも読めるらしい。
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” 等が指定できる。
RevoscaleR の使い方
1. データを HDD 上に XDFファイルとして格納
2. XDFファイルの編集3. XDFファイルの解析4. 分散処理
2012/8/4 Tokyo.R#25 20
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):
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)
RevoscaleR の使い方
1. データを HDD 上に XDFファイルとして格納
2. XDFファイルの編集3. XDFファイルの解析4. 分散処理
2012/8/4 Tokyo.R#25 23
RevoscaleR の使い方XDFファイルの解析• XDF ファイルのクロス表集計
CTabs <- rxCrossTabs(ArrDelay ~ Origin, data = "C:/hoge/air2008.xdf")
2012/8/4 Tokyo.R#25 24
何かうまく動かなかったです。最初の読み込み時にちゃんと型設定すべきでした。
雰囲気的には reshape2みたいなのりでデータの加工が出来るっぽい?
RevoscaleR の使い方XDFファイルの解析• XDF ファイル→ヒストグラム
rxHistogram(~AirTime, data = "C:/hoge/air2008.xdf")
2012/8/4 Tokyo.R#25 25
RevoscaleR の使い方XDFファイルの解析• XDF ファイルを直接 GLM にぶち込む。• 多分、 rxLinMod() あたりにオプション指定する事で出
来そう?
2012/8/4 Tokyo.R#25 26
調査中
RevoscaleR の使い方
1. データを HDD 上に XDFファイルとして格納
2. XDFファイルの編集3. XDFファイルの解析4. 分散処理
2012/8/4 Tokyo.R#25 27
RevoscaleR の使い方分散処理• ニュースリリースには、 Revoscale R は並列処理機能を
有し、 Windows HPC Server やクラウド環境での並列処理を実施できるとある。。。
2012/8/4 Tokyo.R#25 28
調査中
まとめに変えて• RevoScaleR で HDD 上でのデータ処理が可能となることから、メモリ上限の制約から R を解き放つ事が出来る。
• ちょっと、遅い気がする。–並列処理機能についてもう少し調査が必要– 高速なドライブ( FusionIO社製 iOdrive )と
の相性は?• $1000 の価値があるかはもう少し見ないと
わからない。2012/8/4 Tokyo.R#25 29
現在の心境
2012/8/4 Tokyo.R#25 30
調査未実施が多いことをお詫びします。次の機会に、追加情報をお届けします。
参考文献@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
+ α
• 実は、今回 LT予定でした。• LT テーマは
「データ前処理・失敗分析」
2012/8/4 Tokyo.R#25 32
某飲み会にて。。。• “ビールうめー!”• “ 女性の前では否定的な言葉は使わない。
なんかめんどくさいことがあったら嫌いじゃないんだよねって言うとよいよ!”
• “R 使って解析するわけだけど、データの前処理ってかなり大切だよね?”
• “解析って色々やるわけだけど、失敗分析についても共有すべきだよね?”
分析者のお悩みあるある!!
次回(今回?)予告• 私のテーマ 「 Excel の結合セルに関するごり押し事例」
• みなさんのバッドノウハウとか、失敗事例 LT で発表しませんか?
• 主催者の里さんと、皆様のご意見を賜りたいと思います。
2012/8/4 Tokyo.R#25 35
Thank You !
2012/8/4 Tokyo.R#25 36