皆様、データプレパレーションツールをご存じでしょうか?
とあるIT会社でデータサイエンティストとして働いているのですが、最近ちょくちょく仕事で使っているのがデータプレパレーションツールです。
私が業務レベル(システムに組み込むレベル)で使用したツールは以下2つ
- Tableau Prep Builder (https://www.tableau.com/products/prep)
- Data Prep(https://www.datarobot.com/jp/platform/dataprep/)
本記事ではこの謎多きデータプレパレーションツールについて便利なところや使用感について触れていきたいと思います。
データプレパレーションツールって何をするためのツール??
データプレパレーションツールはその名の通り、データの前処理を行うためのツールであり、主に以下の用途で使われます。
- 機械学習モデル作成用データセット作成
- 可視化ツール用データ加工
- データ集計
等々…
機械学習モデルを作成する際に、Python等のプログラミング言語を使用することが多いですが、プログラミングにあまり詳しくない人でも簡単にデータの取り扱いができます。
Tableau PrepやData Prepは直感的なUI操作で簡単に誰でもデータの加工ができてしまうところが強みです。
逆をいうと、複雑な計算(数学の知識が必要な変換や複雑な分岐が必要な処理)を行いたい場合はプログラミング等の手段を選んだほうが効率的かもしれません。
Tableau Prepの直感的でわかりやすいフロー図(引用)
プレパレーションツールでできること/できないこと
プレパレーションツールの良いところは、なんといってもUI操作でデータの取り扱いができてしまうところです。
通常、エクセルでは行数が大きすぎて処理が非常に重くなってしまう場合でもプレパレーションツールを使えばストレスなくデータの確認、加工ができてしまいます。
※私の感覚では数千~1万行くらいであればエクセル、数万~数十万であればプレパレーションツールといった感じで使い分けています。
簡単に扱えるといっても、できることは非常に多く、Python等のプログラミング言語だとちょっと面倒なこともできてしまいます。
私がよく使う機能としては、次の3つです。
- ヒストグラムの表示
- 他のデータの結合
- 数式を使った変換
本当はもっとたくさんの機能を使っていますが、キリがないのでひとまず代表的な機能です。
また、一度行った処理を保存して使い回すことができることもプレパレーションツールを使うメリットといえます。
データが追加されたり、最新のデータに同じ内容の加工を手動で行うことはもちろん、
毎月決まった日付、時間に処理を自動で行って、BIツールのダッシュボードを更新させるといった連携機能をフルに使ったやり方も可能です。
個人的にこの自動実行の機能はとてもありがたいです。データが更新されるたびにファイルをアップロードして処理を実行して…とするのは少し面倒なので、定期的に自動実行してくれるのは大変Goodです。
それでは、データプレパレーションツールでできないことはなんでしょうか?
個人的には次の状況の場合は少し手間だと感じました。
- プログラミング要素が必要な処理を行いたい場合
- カラム数が数百あって、例え同じ処理内容だとしても該当するすべてのカラムに処理を自分で記載していく必要がありました…
- プレパレーションツールに含まれる計算機能は、いわばエクセルの関数のように決められたものしかなく、オーソドックスなものしかない場合があります
- 余計な自動フォーマット機能が働いてしまう
- 自動で日付を認識したり、True/Falseを認識してくれたり非常に便利な反面、予期せぬエラーを引き起こす場合があります
- 他のツールを使ってNullをあえて空欄文字(””)に変換したデータを読み込む場合、丁寧にすべてNullと認識してしまうことも…
普段、Pythonを使って処理している身からすると痒いところにギリギリ手が届かない思いをすることもあります。
あくまでデータ加工に対して知識があまりない人でも簡単にデータの加工をするためのツールなので、SQLやPythonを普段から使いこなしている人にとっては物足りないかもしれない、というのが率直な感想です。
しかしながら、上記のような場合に遭遇しても問題はありません。
なぜなら、たいていの場合プレパレーションツール内でPython等のプログラミングコードによる処理を挟むことができるからです。
データプレパレーションツールのシステム導入例!
データプレパレーションツールはデータ加工に詳しくない人が簡単に処理するためのものでもありますが、一方で自動化に特化しているツールでもあります。
自分が担当したシステム(というほど大げさのものでもありませんが笑)を紹介したいと思います。
■最新データ取得 + 加工 + ダッシュボードで可視化
Tableau Prepを使うと処理の流れをフローファイルで保存することができ、Tableau Desktopと連携したダッシュボードの処理が簡単行えます。
流としては
- ファイルを所定のフォルダに置く
- Windowsのタスクスケジューラを使って定期的にフローファイル(tflファイル)を実行
- データ加工
- hyperファイル(Tableau系のアプリで効率的に扱える専用のファイル形式)更新
- ダッシュボード変更
といった感じでした。
Tableau Prepで行った処理は、簡単な計算、ファイルの結合、ピボット変換(カラムと行を入れ替える)を行っています。
このシステムによって、月1回の頻度でお店の売上データが更新され、Tableau上のグラフが自動で更新されるというものです。
まとめ
- データプレパレーションツールはSQLやPythonが使えない人向け!
- 簡単にデータ加工を行う側面、自動化する側面を兼ね備えている!
- 初見でも結構使えちゃうくらい簡単なUI操作!
以上!
コメント