Take Your Time

仕事や研究、コンピューターとの付き合い方

ビッグデータを分析するときのティップス

データが大きいということは様々なリスクがあるということ。基本はしっかりアセスメントを行ってから分析を実行すべきということ。

 

まずは、メモリ管理。せっかく計算ができてもメモリエラーで止まってしまっては意味がない。一気に計算させて大丈夫なのか、小分けにした方が良いのではないかを確認すべき。

 

例えばpythonのpickleは実用的だがサイズが大きすぎるとdnmpできないことがある。

 

また大きな計算を一気にやると止まったときの手戻りがひどい。細かく計算結果をディスクに書き込んでいけば途中で止まってもそこからやり直せる。

 

基本は小分けにして計算結果を貯めていく。pythonにしろRにしろ計算結果を接合するのは簡単だ。

 

次に計算時間だ。

 

時間は貴重だ。1時間ほどで終わると思った計算が5時間かかれば4時間は何もできないことになる。納期にも間に合わない。研究者と違い実務家には締め切りがある。締め切りに間に合わなければ後工程が遅れ大多数の人に迷惑をかける。

 

まずは、小さなデータで計算しどれくらいの時間がかかるか確認することが大事だ。pythonにはtimeという、素晴らしいライブラリーがある。データサイズに対してNなのかN^2なのかはものによる。そこはアルゴリズムを理解なければ正確な判断はできない。

 

計算時間の目安がわかったら1時間以上かかるような計算は細切れにすべきだろう。

 

また計算の進捗を可視化するtqdmパッケージを使うべきだ。

 

pypi.org