SlideShare une entreprise Scribd logo
1  sur  24
Rのffと
         bigmemoryと
        RevoScaleRとを
         比較してみた
              aa



           Japan.R #2
           2011/11/26
           和田 計也
サイバー系
サイバー系


     はじめに



     ※この発表は個人の
     見解であり、所属する
     組織の公式見解では
     ありません。

2011/11/26            1
サイバー系


     自己紹介

  和田 計也(@wdkz)
         静岡県袋井市出身



  サイバー系企業でデータマイニングエンジニア職
         創立記念日が3月18日
         社長の出身地が福井県鯖江市



  前職はバイオベンチャー
         バイオマーカ探索してた
         学生時代は枯草菌の研究




2011/11/26                          2
サイバー系


     Rの欠点

              データはすべてオンメモリで保持する
                 メモリに載りきらないデータは解析できない。
                 SASはメモリに載りきらなくてもデータ解析可能。




2011/11/26                                           3
サイバー系


     そこで

              データはすべてオンメモリで保持しなくても
               いいんじゃね?
                 必要なデータだけを都度メモリ上に置く
                 それ以外はディスク上のファイルとして置いておく
                 RDBSとかSASとかで一般的な方法




2011/11/26                                          4
サイバー系


     搭載メモリ量以上のデータを扱えるパッケージ

      ff
      bigmemory
      RevoScaleR




             データをオンメモリ保持しない仕組みは
             どれもだいたい同じ




2011/11/26                                5
サイバー系


     いつもの




             それぞれに
             一長一短が
             あります!!
             とよく言われる。

2011/11/26                      6
サイバー系


     なんだろう?




         一長一短っ
         て具体的に
         何よ?
2011/11/26               7
サイバー系


     一番いいのは




   で、結局何
   が一番いい
   の?
2011/11/26            8
サイバー系


     悩み無用




   といった悩みを
   今日は解消して
   帰って下さい
2011/11/26           9
サイバー系


     作者とか

    ff
     trueclusterって会社の中の人
     GPL2ライセンス
     Version 4.2.11
    Bigmemory
     Michael J. Kane and John W. Emerson
     LGPL3ライセンス
     Version 2.2.3
    RevoScaleR
     Revolution Analytics社
                                            2011/11/26現在
     ライセンス購入 年1,000$/人
     Version 2.0.0

2011/11/26                                                 10
サイバー系


     インストール

    ff
    Install.packages(“ff”) #簡単
    bigmemory
    Install.packages(“bigmemory”) #簡単
    RevoScaleR
    Revolution Analytics社からRevolutionR Enterpriseを購入
    しインストーラ(.exeとか.py)でインストール
    #社内手続きとかも必要だしちょっと面倒




2011/11/26                                         11
サイバー系


     まずは使ってみる
                 ff
                 ff.obj <- ff(1:10, filename=“ff.01”)
                 #ベクトル
                 ff.obj2 <- ff(1:10000, vmode="integer", dim=c(1000, 10))
                 #マトリックス
                                                                      この例だとたまたま
                 ffdf.obj <- ffdf(ff.obj,ff.obj)                      全部integer型ですね
                 #ffdf関数でデータフレームも可能
                 bigmemory
                 big.obj <- big.matrix(5,2, type=“integer”, init=1)
                 #マトリックス
                 RevoScaleR
                 my.data <- data.frame(x=1:100, y=100:1)
                 revo.obj <- rxDataFrameToXdf(my.data)
                 #データフレーム

                   それぞれ使えるクラスが違う!

2011/11/26                                                                            12
サイバー系


     csvファイルの読み込み(きっとよく使う)
                                                     入力ファイル名
                ff (ffdf)                                                   出力ファイル名
                 air.ff <- read.csv.ffdf(file="AirlineDataAll.csv", header=TRUE,
                                asffdf_args=list(ff_args=list(filename="air.ff")),
                                colClasses=c(Year="integer", Month="integer",
                                             DayofMonth="integer“, DayOfWeek="integer",
                                             DepTime="integer",    CRSDepTime="integer",
                                             UniqueCarrier="factor", FlightNum="integer",
                                             TailNum="factor", ActualElapsedTime="integer",
                                             CRSElapsedTime="integer", AirTime="integer",
              各カラムの型を
                                             ArrDelay="integer", DepDelay="integer",
              丁寧に指定する
              のが安全                           Origin="factor", Dest="factor",
                                             Distance="integer", TaxiIn="integer",
     *本来なら型は自動推定                             TaxiOut="integer", Cancelled="integer",
     してくれるのだが                                CancellationCode="factor", Diverted="integer",
     AirlineDataAllはダメ。
     最初の数千行ぐらいで                              CarrierDelay="integer", WeatherDelay="integer",
     型推定していて、その型
     が外れだとインポート途中
                                             NASDelay="integer", SecurityDelay="integer",
     でエラーとなる。                                LateAircraftDelay="integer"
                                             ))

2011/11/26                                                                                 13
サイバー系


     csvファイルの読み込み(きっとよく使う)・続き
                                                 入力ファイル名 ; これを指定しないと共有メモリ上に
                                                 データを生成しちゃって大変なことになる
                 bigmemory
                 air.big <- read.big.matrix(“airline.csv”,header=TRUE,type="integer",
                                      backingfile="air.bm“,descriptorfile=“air.bm.desc”)
                                                           出力ファイル名

                 RevoScaleR
                 air.rx <- rxImport(inData="AirlineDataAll.csv",outFile="air.xdf")
                                              入力ファイル名                  出力ファイル名




                                                                     *RevoScaleRもffと同様に
                                                                     型は自動推定してくれる。
                                                                     FfdfでミスるAirlineDataAllは
                                                                     RevoScaleRだと大丈夫だった。

2011/11/26                                                                                     14
サイバー系


     使用可能な型
                ff
                     boolean, logical, quad, nibble, byte, ubyte, short, ushort,
                      integer, single,double,raw, factor, ordered, Date, POSIXct
                                                     かなり豊富。 やる気がみなぎる
                bigmemory
                     integer, char, short     少ない。基本数値だけと思っててよい

                RevoScaleR
                     ….              豊富。というかたぶん全部の型いける。(未確認生命体)




             *なお、前ページのbigmemory用に読み込んだファイル「airline.csv」は
             もとの「AirlineDataAll.csv」を数値データに変換したファイルです。


2011/11/26                                                                              15
サイバー系


     ローカルディスク上のデータについて
                 ff
                 air.ff <- read.csv.ffdf(file="AirlineDataAll.csv", header=TRUE,
                                 asffdf_args=list(ff_args=list(filename="air.ff")),
                 #air.ffというファイルが生成されるがこれは瞞し。実体はテンポラリフォルダ内
                 に大量に生成される




                 bigmemory
                 air.big <- read.big.matrix(“airline.csv”,header=TRUE,type="integer",
                                      backingfile="air.bm“,descriptorfile=“air.bm.desc”)
                 #巨大なair.bmがデータの実体。air.db.descというテキストファイルにデータの実
                 体だとかカラム数、行数だとかが記載されている
                 RevoScaleR
                  air.rx <- rxImport(inData="AirlineDataAll.csv",outFile="air.xdf")
                  #巨大なair.xdfファイルがデータの実体



2011/11/26                                                                                 16
サイバー系


     データの主力と再ロードについて
                ff
                     filenameオプションで指定した場合はそれ。
                     Filenameオプションで指定しなかった場合は
                       ffsave(air.ffdf, file=“air.ff”)
                       #↑みたいにして出力しておくとair.ff.ffDataが生成される
                      ffload(“air.ff”)#再ロード時は拡張子.ffDataはつけない


                bigmemory
                      backingfileオプションで指定したファイルと同時に生成される.desc
                       ファイルも大事
                     air.big <- attach.big.matrix(“air.desc”)
                      #再ロード時はdescファイルを指定する

                RevoScaleR
                     xdfファイルそのもの(特に気にかけておくことはない)
                     全ての専用関数、xdfファイルを指定する引数がある




2011/11/26                                                           17
サイバー系


     airlineデータの読み込みをしてみて
                                          ただしテンポラリフォルダに生成される実体は
                                          29ファイルで合計13,666MB だった



             パッケージ        速度         生成データのサイズ        メモリ使用量
             ff           1337.356    1,371,623,837   ほぼ使用しない
             bigmemory    1092.221   14,330,056,404   結構使う
             RevoScaleR   1400.354   16,802,423,891   ほぼ使用しない




             csvファイルからの読み込みでは速度的に絶望的に遅いものは無し。
             生成されるデータのサイズも絶望的に大きすぎるものは無し。
             ただし、bigmemoryはメモリを結構使う。一旦、共有メモリ上にデータを
             置いてからファイルに書き出してる感じもする。なので、搭載メモリが
             少ないマシンだとcsvファイルからの読み込みが絶望的に遅くなった。


2011/11/26                                                            18
サイバー系


     minとかmaxとか基本的な関数
                ff
                     dim(air.ff), colnames(air.ff),min(air.ff[,1]), max(air.ff[,1]),
                      table(air.ff[,1]), sum(as.numeric(air.ff[,1])), head(air.ff)とか結構
                      使える


                bigmemory
                     dim(air.big), colnames(air.big),min(air.big[,1]), max(air.big[,1]),
                      table(air.big[,1]), sum(as.numeric(air.big[,1])), head(air.big)とか
                      結構使える


                RevoScaleR
                     皆さんの知っている関数は全て使えません。
                     dim, colnames, min, max, headあたりはrxGetInfo関数を使う
                      rxGetInfo(air.xdf, getVarInfo=TRUE, numRows=5)
                     tableはrxTable関数、sumはわかんね




2011/11/26                                                                                  19
サイバー系


     とはいえ
                ffで、できないことも多々ある
                     データフレームを入力としたモデル式つかうやつ全般は全滅
                      randomForest(delay~., data=air.ff)
                      glm(delay ~., data=air.ff, family=“binomial(logit)”)
                      svm(delay ~,. data=air.ff)
                      #結構痛い...

                     apply関数族はapplyのみ
                         期待していたplyr::ddplyも使えなかった
                         例外的にffapply関数はあるので、行もしくは列単位で一気に
                          計算ってのはたぶんできる


                bigmemory, RevoScaleRでは..
                     モデル式全滅
                     glm, k-meansはそれぞれ専用関数が実装されているため使える
                     bigmemoryはbiganalytics::applyが実装されている
                     RevoScaleRはバージョンアップのたびに新しい関数が実装されてい
                     く印象あり


2011/11/26                                                                       20
サイバー系


     他の関数を一応列挙
                ff (ffbaseパッケージ)
                    all.ff, any.ff, unique.ff,ffsort, ffapply...


                bigmemory (biganalyticsパッケージ&bigtabulateパッケージ)
                    bigtable, bigsummary, bigkmeans, biglm, colsd, colvar...

                RevoScaleR
                    rxImport, rxSort, rxMerge, rxChiSquaredTest, rxFisherTest,
                     rxKendallCor, rxPairwiseCrossTab, rxOddsRatio, rxLinMod, rxLogit,
                     rxPredict, rxKmeans, rxHistogram, rxLinePlot ...




2011/11/26                                                                               21
サイバー系


     まとめ
     ff、かわいいよff
              ffの良い点
                 integer, factor, double等々、いろんな型を使える
                 ffdfでデータフレーム使える
                 minとかmaxとかtableとか、普段使ってる関数がそのまま使える
                 ↑のはもしかしたらメモリ的にアウトな場合があるかもしれないがそんなとき
                  なffbaseパッケージを使えばいいかも
              bigmemoryのダメな点
                 実はcsvファイルから読み込む時の(共有)メモリ使用量パねぇ
                 matrixしか使えない
                 integer, short, charの型しか使えない
              RevoScaleRのダメな点
                 有償ライセンス
                 関数が全て専用のもの、しかもちょっとクセがあって使いづらい
                 しかもドキュメントがわかりづらい
              ffの劣る点
                 glm, k-meansが使えない
                 ベクトルのサイズは2^31-1が上限(bigmemoryは2^52, RevoScaleRは不明)
                 データの再ロードに時間がかかる。(圧縮ファイルを解凍している感じ)
2011/11/26                                                            22
サイバー系


     最後に

            Use R! 2011ではbigmemoryに関する発表もffに関する発表もあ
             りませんでした。
              ffは2007年から毎年あったのに…
            RevoScaleR (Revolution R Enterprise)に関する発表はありま
             した。

            メモリの価格が下がってきたこともあり、数十ギガ程度のデー
             タならオンメモリで処理しちゃう傾向にあるのかも




2011/11/26                                                        23

Contenu connexe

Tendances

Chapter9 一歩進んだ文法(前半)
Chapter9 一歩進んだ文法(前半)Chapter9 一歩進んだ文法(前半)
Chapter9 一歩進んだ文法(前半)itoyan110
 
パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0sleipnir002
 
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータStanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータMiki Katsuragi
 
関数データ解析の概要とその方法
関数データ解析の概要とその方法関数データ解析の概要とその方法
関数データ解析の概要とその方法Hidetoshi Matsui
 
ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)yutannihilation
 
[R勉強会][データマイニング] R言語による時系列分析
[R勉強会][データマイニング] R言語による時系列分析[R勉強会][データマイニング] R言語による時系列分析
[R勉強会][データマイニング] R言語による時系列分析Koichi Hamada
 
実践で学ぶネットワーク分析
実践で学ぶネットワーク分析実践で学ぶネットワーク分析
実践で学ぶネットワーク分析Mitsunori Sato
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説Hiroshi Shimizu
 
LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要Kenji Urai
 
「世界モデル」と関連研究について
「世界モデル」と関連研究について「世界モデル」と関連研究について
「世界モデル」と関連研究についてMasahiro Suzuki
 
『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会takehikoihayashi
 
Rで架空データの発生
Rで架空データの発生Rで架空データの発生
Rで架空データの発生Makoto Hirakawa
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)RyuichiKanoh
 
DARM勉強会第3回 (missing data analysis)
DARM勉強会第3回 (missing data analysis)DARM勉強会第3回 (missing data analysis)
DARM勉強会第3回 (missing data analysis)Masaru Tokuoka
 
NIPS2015読み会: Ladder Networks
NIPS2015読み会: Ladder NetworksNIPS2015読み会: Ladder Networks
NIPS2015読み会: Ladder NetworksEiichi Matsumoto
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説弘毅 露崎
 
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)Keiku322
 

Tendances (20)

Chapter9 一歩進んだ文法(前半)
Chapter9 一歩進んだ文法(前半)Chapter9 一歩進んだ文法(前半)
Chapter9 一歩進んだ文法(前半)
 
パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0
 
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータStanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
 
関数データ解析の概要とその方法
関数データ解析の概要とその方法関数データ解析の概要とその方法
関数データ解析の概要とその方法
 
ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)
 
[R勉強会][データマイニング] R言語による時系列分析
[R勉強会][データマイニング] R言語による時系列分析[R勉強会][データマイニング] R言語による時系列分析
[R勉強会][データマイニング] R言語による時系列分析
 
実践で学ぶネットワーク分析
実践で学ぶネットワーク分析実践で学ぶネットワーク分析
実践で学ぶネットワーク分析
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
 
LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要
 
「世界モデル」と関連研究について
「世界モデル」と関連研究について「世界モデル」と関連研究について
「世界モデル」と関連研究について
 
『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会
 
Rで架空データの発生
Rで架空データの発生Rで架空データの発生
Rで架空データの発生
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
 
DARM勉強会第3回 (missing data analysis)
DARM勉強会第3回 (missing data analysis)DARM勉強会第3回 (missing data analysis)
DARM勉強会第3回 (missing data analysis)
 
階層ベイズとWAIC
階層ベイズとWAIC階層ベイズとWAIC
階層ベイズとWAIC
 
NIPS2015読み会: Ladder Networks
NIPS2015読み会: Ladder NetworksNIPS2015読み会: Ladder Networks
NIPS2015読み会: Ladder Networks
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
 
Rcppのすすめ
RcppのすすめRcppのすすめ
Rcppのすすめ
 
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
Rによる特徴抽出 第48回R勉強会@東京(#TokyoR)
 

En vedette

ICLR読み会 奥村純 20170617
ICLR読み会 奥村純 20170617ICLR読み会 奥村純 20170617
ICLR読み会 奥村純 20170617Jun Okumura
 
[ICLR2017読み会 @ DeNA] ICLR2017紹介
[ICLR2017読み会 @ DeNA] ICLR2017紹介[ICLR2017読み会 @ DeNA] ICLR2017紹介
[ICLR2017読み会 @ DeNA] ICLR2017紹介Takeru Miyato
 
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-Takahiro Kubo
 
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @DenaICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @DenaTakanori Nakai
 
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会Eiji Sekiya
 

En vedette (8)

ICLR読み会 奥村純 20170617
ICLR読み会 奥村純 20170617ICLR読み会 奥村純 20170617
ICLR読み会 奥村純 20170617
 
[ICLR2017読み会 @ DeNA] ICLR2017紹介
[ICLR2017読み会 @ DeNA] ICLR2017紹介[ICLR2017読み会 @ DeNA] ICLR2017紹介
[ICLR2017読み会 @ DeNA] ICLR2017紹介
 
医療データ解析界隈から見たICLR2017
医療データ解析界隈から見たICLR2017医療データ解析界隈から見たICLR2017
医療データ解析界隈から見たICLR2017
 
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
 
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @DenaICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
 
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
 
170614 iclr reading-public
170614 iclr reading-public170614 iclr reading-public
170614 iclr reading-public
 
Q prop
Q propQ prop
Q prop
 

Similaire à RのffとbigmemoryとRevoScaleRとを比較してみた

イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情takezoe
 
知って得する標準関数の使い方
知って得する標準関数の使い方知って得する標準関数の使い方
知って得する標準関数の使い方Soudai Sone
 
From Java To Clojure
From Java To ClojureFrom Java To Clojure
From Java To ClojureKent Ohashi
 
JavaScript.Next
JavaScript.NextJavaScript.Next
JavaScript.Nextdynamis
 
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方linzhixing
 
Oracle Cloud Developers Meetup@東京
Oracle Cloud Developers Meetup@東京Oracle Cloud Developers Meetup@東京
Oracle Cloud Developers Meetup@東京tuchimur
 
Kanazawa.js.Next
Kanazawa.js.NextKanazawa.js.Next
Kanazawa.js.Nextdynamis
 
JavaScript.Next Returns
JavaScript.Next ReturnsJavaScript.Next Returns
JavaScript.Next Returnsdynamis
 
Scala EE 7 Essentials
Scala EE 7 EssentialsScala EE 7 Essentials
Scala EE 7 Essentialstnoda
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成弘毅 露崎
 
おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術Takanobu Mizuta
 
JavaScript (ECMAScript) 2013
JavaScript (ECMAScript) 2013JavaScript (ECMAScript) 2013
JavaScript (ECMAScript) 2013dynamis
 
Solaris 11 に見る、次世代ファイルシステムZFS
Solaris 11 に見る、次世代ファイルシステムZFSSolaris 11 に見る、次世代ファイルシステムZFS
Solaris 11 に見る、次世代ファイルシステムZFSSolarisJP
 
第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)Masanori Machii
 
React Native GUIDE
React Native GUIDEReact Native GUIDE
React Native GUIDEdcubeio
 

Similaire à RのffとbigmemoryとRevoScaleRとを比較してみた (20)

イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情
 
hscj2019_ishizaki_public
hscj2019_ishizaki_publichscj2019_ishizaki_public
hscj2019_ishizaki_public
 
知って得する標準関数の使い方
知って得する標準関数の使い方知って得する標準関数の使い方
知って得する標準関数の使い方
 
From Java To Clojure
From Java To ClojureFrom Java To Clojure
From Java To Clojure
 
JavaScript.Next
JavaScript.NextJavaScript.Next
JavaScript.Next
 
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
 
Oracle Cloud Developers Meetup@東京
Oracle Cloud Developers Meetup@東京Oracle Cloud Developers Meetup@東京
Oracle Cloud Developers Meetup@東京
 
Kanazawa.js.Next
Kanazawa.js.NextKanazawa.js.Next
Kanazawa.js.Next
 
Tokyo.R#16 wdkz
Tokyo.R#16 wdkzTokyo.R#16 wdkz
Tokyo.R#16 wdkz
 
ATN No.2 Scala事始め
ATN No.2 Scala事始めATN No.2 Scala事始め
ATN No.2 Scala事始め
 
JavaScript.Next Returns
JavaScript.Next ReturnsJavaScript.Next Returns
JavaScript.Next Returns
 
Scala EE 7 Essentials
Scala EE 7 EssentialsScala EE 7 Essentials
Scala EE 7 Essentials
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
 
おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術
 
Gorinphp0729
Gorinphp0729Gorinphp0729
Gorinphp0729
 
Gorinphp0729
Gorinphp0729Gorinphp0729
Gorinphp0729
 
JavaScript (ECMAScript) 2013
JavaScript (ECMAScript) 2013JavaScript (ECMAScript) 2013
JavaScript (ECMAScript) 2013
 
Solaris 11 に見る、次世代ファイルシステムZFS
Solaris 11 に見る、次世代ファイルシステムZFSSolaris 11 に見る、次世代ファイルシステムZFS
Solaris 11 に見る、次世代ファイルシステムZFS
 
第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)
 
React Native GUIDE
React Native GUIDEReact Native GUIDE
React Native GUIDE
 

Plus de Kazuya Wada

オンラインTVサービスの分析事例
オンラインTVサービスの分析事例オンラインTVサービスの分析事例
オンラインTVサービスの分析事例Kazuya Wada
 
DeployR使ってみた話
DeployR使ってみた話DeployR使ってみた話
DeployR使ってみた話Kazuya Wada
 
道玄坂Lt#2 wdkz
道玄坂Lt#2 wdkz道玄坂Lt#2 wdkz
道玄坂Lt#2 wdkzKazuya Wada
 
ハイレゾの話
ハイレゾの話ハイレゾの話
ハイレゾの話Kazuya Wada
 
Shiny-Serverあれこれ
Shiny-ServerあれこれShiny-Serverあれこれ
Shiny-ServerあれこれKazuya Wada
 
データサイエンティストカジュアルトーク by wdkz
データサイエンティストカジュアルトーク by wdkzデータサイエンティストカジュアルトーク by wdkz
データサイエンティストカジュアルトーク by wdkzKazuya Wada
 
はじめてのShiny
はじめてのShinyはじめてのShiny
はじめてのShinyKazuya Wada
 
Rで触れる日本経済~RでVAR編~
Rで触れる日本経済~RでVAR編~Rで触れる日本経済~RでVAR編~
Rで触れる日本経済~RでVAR編~Kazuya Wada
 
そろそろRStudioの話
そろそろRStudioの話そろそろRStudioの話
そろそろRStudioの話Kazuya Wada
 
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~Kazuya Wada
 
Rでウォーリを探してみた
Rでウォーリを探してみたRでウォーリを探してみた
Rでウォーリを探してみたKazuya Wada
 
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~Kazuya Wada
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみたKazuya Wada
 

Plus de Kazuya Wada (15)

オンラインTVサービスの分析事例
オンラインTVサービスの分析事例オンラインTVサービスの分析事例
オンラインTVサービスの分析事例
 
DeployR使ってみた話
DeployR使ってみた話DeployR使ってみた話
DeployR使ってみた話
 
道玄坂Lt#2 wdkz
道玄坂Lt#2 wdkz道玄坂Lt#2 wdkz
道玄坂Lt#2 wdkz
 
ハイレゾの話
ハイレゾの話ハイレゾの話
ハイレゾの話
 
Shiny-Serverあれこれ
Shiny-ServerあれこれShiny-Serverあれこれ
Shiny-Serverあれこれ
 
データサイエンティストカジュアルトーク by wdkz
データサイエンティストカジュアルトーク by wdkzデータサイエンティストカジュアルトーク by wdkz
データサイエンティストカジュアルトーク by wdkz
 
R-3.0.0でGLM
R-3.0.0でGLMR-3.0.0でGLM
R-3.0.0でGLM
 
はじめてのShiny
はじめてのShinyはじめてのShiny
はじめてのShiny
 
JuliaでGLM
JuliaでGLMJuliaでGLM
JuliaでGLM
 
Rで触れる日本経済~RでVAR編~
Rで触れる日本経済~RでVAR編~Rで触れる日本経済~RでVAR編~
Rで触れる日本経済~RでVAR編~
 
そろそろRStudioの話
そろそろRStudioの話そろそろRStudioの話
そろそろRStudioの話
 
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~
 
Rでウォーリを探してみた
Rでウォーリを探してみたRでウォーリを探してみた
Rでウォーリを探してみた
 
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみた
 

Dernier

東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 

Dernier (7)

東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 

RのffとbigmemoryとRevoScaleRとを比較してみた

  • 1. Rのffと bigmemoryと RevoScaleRとを 比較してみた aa Japan.R #2 2011/11/26 和田 計也 サイバー系
  • 2. サイバー系 はじめに ※この発表は個人の 見解であり、所属する 組織の公式見解では ありません。 2011/11/26 1
  • 3. サイバー系 自己紹介  和田 計也(@wdkz)  静岡県袋井市出身  サイバー系企業でデータマイニングエンジニア職  創立記念日が3月18日  社長の出身地が福井県鯖江市  前職はバイオベンチャー  バイオマーカ探索してた  学生時代は枯草菌の研究 2011/11/26 2
  • 4. サイバー系 Rの欠点  データはすべてオンメモリで保持する  メモリに載りきらないデータは解析できない。  SASはメモリに載りきらなくてもデータ解析可能。 2011/11/26 3
  • 5. サイバー系 そこで  データはすべてオンメモリで保持しなくても いいんじゃね?  必要なデータだけを都度メモリ上に置く  それ以外はディスク上のファイルとして置いておく  RDBSとかSASとかで一般的な方法 2011/11/26 4
  • 6. サイバー系 搭載メモリ量以上のデータを扱えるパッケージ  ff  bigmemory  RevoScaleR データをオンメモリ保持しない仕組みは どれもだいたい同じ 2011/11/26 5
  • 7. サイバー系 いつもの それぞれに 一長一短が あります!! とよく言われる。 2011/11/26 6
  • 8. サイバー系 なんだろう? 一長一短っ て具体的に 何よ? 2011/11/26 7
  • 9. サイバー系 一番いいのは で、結局何 が一番いい の? 2011/11/26 8
  • 10. サイバー系 悩み無用 といった悩みを 今日は解消して 帰って下さい 2011/11/26 9
  • 11. サイバー系 作者とか  ff  trueclusterって会社の中の人  GPL2ライセンス  Version 4.2.11  Bigmemory  Michael J. Kane and John W. Emerson  LGPL3ライセンス  Version 2.2.3  RevoScaleR  Revolution Analytics社 2011/11/26現在  ライセンス購入 年1,000$/人  Version 2.0.0 2011/11/26 10
  • 12. サイバー系 インストール  ff Install.packages(“ff”) #簡単  bigmemory Install.packages(“bigmemory”) #簡単  RevoScaleR Revolution Analytics社からRevolutionR Enterpriseを購入 しインストーラ(.exeとか.py)でインストール #社内手続きとかも必要だしちょっと面倒 2011/11/26 11
  • 13. サイバー系 まずは使ってみる  ff ff.obj <- ff(1:10, filename=“ff.01”) #ベクトル ff.obj2 <- ff(1:10000, vmode="integer", dim=c(1000, 10)) #マトリックス この例だとたまたま ffdf.obj <- ffdf(ff.obj,ff.obj) 全部integer型ですね #ffdf関数でデータフレームも可能  bigmemory big.obj <- big.matrix(5,2, type=“integer”, init=1) #マトリックス  RevoScaleR my.data <- data.frame(x=1:100, y=100:1) revo.obj <- rxDataFrameToXdf(my.data) #データフレーム それぞれ使えるクラスが違う! 2011/11/26 12
  • 14. サイバー系 csvファイルの読み込み(きっとよく使う) 入力ファイル名  ff (ffdf) 出力ファイル名 air.ff <- read.csv.ffdf(file="AirlineDataAll.csv", header=TRUE, asffdf_args=list(ff_args=list(filename="air.ff")), colClasses=c(Year="integer", Month="integer", DayofMonth="integer“, DayOfWeek="integer", DepTime="integer", CRSDepTime="integer", UniqueCarrier="factor", FlightNum="integer", TailNum="factor", ActualElapsedTime="integer", CRSElapsedTime="integer", AirTime="integer", 各カラムの型を ArrDelay="integer", DepDelay="integer", 丁寧に指定する のが安全 Origin="factor", Dest="factor", Distance="integer", TaxiIn="integer", *本来なら型は自動推定 TaxiOut="integer", Cancelled="integer", してくれるのだが CancellationCode="factor", Diverted="integer", AirlineDataAllはダメ。 最初の数千行ぐらいで CarrierDelay="integer", WeatherDelay="integer", 型推定していて、その型 が外れだとインポート途中 NASDelay="integer", SecurityDelay="integer", でエラーとなる。 LateAircraftDelay="integer" )) 2011/11/26 13
  • 15. サイバー系 csvファイルの読み込み(きっとよく使う)・続き 入力ファイル名 ; これを指定しないと共有メモリ上に データを生成しちゃって大変なことになる  bigmemory air.big <- read.big.matrix(“airline.csv”,header=TRUE,type="integer", backingfile="air.bm“,descriptorfile=“air.bm.desc”) 出力ファイル名  RevoScaleR air.rx <- rxImport(inData="AirlineDataAll.csv",outFile="air.xdf") 入力ファイル名 出力ファイル名 *RevoScaleRもffと同様に 型は自動推定してくれる。 FfdfでミスるAirlineDataAllは RevoScaleRだと大丈夫だった。 2011/11/26 14
  • 16. サイバー系 使用可能な型  ff  boolean, logical, quad, nibble, byte, ubyte, short, ushort, integer, single,double,raw, factor, ordered, Date, POSIXct かなり豊富。 やる気がみなぎる  bigmemory  integer, char, short 少ない。基本数値だけと思っててよい  RevoScaleR  …. 豊富。というかたぶん全部の型いける。(未確認生命体) *なお、前ページのbigmemory用に読み込んだファイル「airline.csv」は もとの「AirlineDataAll.csv」を数値データに変換したファイルです。 2011/11/26 15
  • 17. サイバー系 ローカルディスク上のデータについて  ff air.ff <- read.csv.ffdf(file="AirlineDataAll.csv", header=TRUE, asffdf_args=list(ff_args=list(filename="air.ff")), #air.ffというファイルが生成されるがこれは瞞し。実体はテンポラリフォルダ内 に大量に生成される  bigmemory air.big <- read.big.matrix(“airline.csv”,header=TRUE,type="integer", backingfile="air.bm“,descriptorfile=“air.bm.desc”) #巨大なair.bmがデータの実体。air.db.descというテキストファイルにデータの実 体だとかカラム数、行数だとかが記載されている  RevoScaleR air.rx <- rxImport(inData="AirlineDataAll.csv",outFile="air.xdf") #巨大なair.xdfファイルがデータの実体 2011/11/26 16
  • 18. サイバー系 データの主力と再ロードについて  ff  filenameオプションで指定した場合はそれ。  Filenameオプションで指定しなかった場合は ffsave(air.ffdf, file=“air.ff”) #↑みたいにして出力しておくとair.ff.ffDataが生成される ffload(“air.ff”)#再ロード時は拡張子.ffDataはつけない  bigmemory  backingfileオプションで指定したファイルと同時に生成される.desc ファイルも大事 air.big <- attach.big.matrix(“air.desc”) #再ロード時はdescファイルを指定する  RevoScaleR  xdfファイルそのもの(特に気にかけておくことはない)  全ての専用関数、xdfファイルを指定する引数がある 2011/11/26 17
  • 19. サイバー系 airlineデータの読み込みをしてみて ただしテンポラリフォルダに生成される実体は 29ファイルで合計13,666MB だった パッケージ 速度 生成データのサイズ メモリ使用量 ff 1337.356 1,371,623,837 ほぼ使用しない bigmemory 1092.221 14,330,056,404 結構使う RevoScaleR 1400.354 16,802,423,891 ほぼ使用しない csvファイルからの読み込みでは速度的に絶望的に遅いものは無し。 生成されるデータのサイズも絶望的に大きすぎるものは無し。 ただし、bigmemoryはメモリを結構使う。一旦、共有メモリ上にデータを 置いてからファイルに書き出してる感じもする。なので、搭載メモリが 少ないマシンだとcsvファイルからの読み込みが絶望的に遅くなった。 2011/11/26 18
  • 20. サイバー系 minとかmaxとか基本的な関数  ff  dim(air.ff), colnames(air.ff),min(air.ff[,1]), max(air.ff[,1]), table(air.ff[,1]), sum(as.numeric(air.ff[,1])), head(air.ff)とか結構 使える  bigmemory  dim(air.big), colnames(air.big),min(air.big[,1]), max(air.big[,1]), table(air.big[,1]), sum(as.numeric(air.big[,1])), head(air.big)とか 結構使える  RevoScaleR  皆さんの知っている関数は全て使えません。  dim, colnames, min, max, headあたりはrxGetInfo関数を使う rxGetInfo(air.xdf, getVarInfo=TRUE, numRows=5)  tableはrxTable関数、sumはわかんね 2011/11/26 19
  • 21. サイバー系 とはいえ  ffで、できないことも多々ある  データフレームを入力としたモデル式つかうやつ全般は全滅 randomForest(delay~., data=air.ff) glm(delay ~., data=air.ff, family=“binomial(logit)”) svm(delay ~,. data=air.ff) #結構痛い...  apply関数族はapplyのみ  期待していたplyr::ddplyも使えなかった  例外的にffapply関数はあるので、行もしくは列単位で一気に 計算ってのはたぶんできる  bigmemory, RevoScaleRでは..  モデル式全滅  glm, k-meansはそれぞれ専用関数が実装されているため使える  bigmemoryはbiganalytics::applyが実装されている  RevoScaleRはバージョンアップのたびに新しい関数が実装されてい く印象あり 2011/11/26 20
  • 22. サイバー系 他の関数を一応列挙  ff (ffbaseパッケージ)  all.ff, any.ff, unique.ff,ffsort, ffapply...  bigmemory (biganalyticsパッケージ&bigtabulateパッケージ)  bigtable, bigsummary, bigkmeans, biglm, colsd, colvar...  RevoScaleR  rxImport, rxSort, rxMerge, rxChiSquaredTest, rxFisherTest, rxKendallCor, rxPairwiseCrossTab, rxOddsRatio, rxLinMod, rxLogit, rxPredict, rxKmeans, rxHistogram, rxLinePlot ... 2011/11/26 21
  • 23. サイバー系 まとめ ff、かわいいよff  ffの良い点  integer, factor, double等々、いろんな型を使える  ffdfでデータフレーム使える  minとかmaxとかtableとか、普段使ってる関数がそのまま使える  ↑のはもしかしたらメモリ的にアウトな場合があるかもしれないがそんなとき なffbaseパッケージを使えばいいかも  bigmemoryのダメな点  実はcsvファイルから読み込む時の(共有)メモリ使用量パねぇ  matrixしか使えない  integer, short, charの型しか使えない  RevoScaleRのダメな点  有償ライセンス  関数が全て専用のもの、しかもちょっとクセがあって使いづらい  しかもドキュメントがわかりづらい  ffの劣る点  glm, k-meansが使えない  ベクトルのサイズは2^31-1が上限(bigmemoryは2^52, RevoScaleRは不明)  データの再ロードに時間がかかる。(圧縮ファイルを解凍している感じ) 2011/11/26 22
  • 24. サイバー系 最後に  Use R! 2011ではbigmemoryに関する発表もffに関する発表もあ りませんでした。  ffは2007年から毎年あったのに…  RevoScaleR (Revolution R Enterprise)に関する発表はありま した。  メモリの価格が下がってきたこともあり、数十ギガ程度のデー タならオンメモリで処理しちゃう傾向にあるのかも 2011/11/26 23