Paxataブログ

Paxataブログ>DataRobotの予測に欠かせない「データ準備」の進め方

  • つなげて使う
2019.09.27

DataRobotの予測に欠かせない「データ準備」の進め方

みなさん、こんにちは!
アシストでPaxata(パクサタ) のセールスエンジニアを担当している、染谷といいます。

今回の記事は、DataRobotでの予測モデル生成に欠かせない「事前のデータ準備」をテーマにお届けします。

データサイエンティストでなくても、ビジネス部門のなかで機械学習に必要なデータを簡単にすばやく作成する方法があります。

この記事では、DataRobotを導入している方向けに、データ・プレパレーション製品「Paxata」を使ったデータ準備の進め方についてご紹介していきます。

DataRobotとは?

DataRobotは、機械学習の自動化プラットフォームで、
日本国内でも、AI・機械学習に取り組む多くの企業に支持されていますよね。

データさえ揃っていれば、「開始」ボタンをクリックするだけで、多数のアルゴリズムによる計算がスタート。

数百のモデルが作成されるので、その中からもっとも精度の高いモデルを選ぶだけで、コード記述や専門スキルがなくても最先端の機械学習を利用することができる、というのがDataRobotの特長です。

DataRobotを活用するための理想的なプロセスとバランスとは?

そのため、DataRobotに必要なのは「好奇心」と「データ」だけ、と言われています。

好奇心については、まったく問題ない!という方が大多数かと思いますが、データについてはいかがでしょうか?

好奇心のままに、思いつく限りすべてのテーマをDataRobotで予測できている、というケースもあれば、

データさえ揃えられれば、もっと数多くのテーマをDataRobotで予測できるのに・・・というケースも多いのではないでしょうか?

DataRobotの機械学習は、従来よりも圧倒的に短い時間で予測モデルを構築してくれるので、そのスピードに、データを揃える時間が追いつけなくなりつつあります。

データのための事前準備の割合としては、これくらいが実感に近いところでしょうか?

およそ8割の時間をかけてデータを準備して、
残りの2割で予測モデルを構築していく、という割合ですね。

この時間配分では、予測モデルを1つ作り終わったときには、予定していた時間を使いきってしまうので、モデルを検証したり、精度を上げていくための時間を残せません。

理想的なバランスとしては、下記の図のように、データ準備にかかる時間をぐっと短縮して、予測や検証を何度も繰り返せるようなイテレーション(反復作業)をまわすサイクルです。

なぜDataRobotを使う前の「データ準備」に、時間がかかるのか?

では、なぜDataRobotで機械学習を開始するまでに、これほど時間がかかるのでしょうか?

それは、DataRobotに取り込むデータは、教師データとしてそのままモデルの精度に直結するため、事前準備の段階でデータの精度を上げる必要があるからです。

3つのデータを例に取り上げてみましょう。

ローデータの加工

たとえば、IoTのログデータや業務システムから出力した生データ(ローデータ)は、そのまま利用できる形になっていないため、特徴量とターゲットを機械学習に適した形に変換してあげなければなりません。

センサーデータの加工

センサーデータを機械学習にかけようとする場合は、データの中身を確認しながら、異常値や外れ値をはずし、欠損値を補間し、データの間隔が不揃いであれば一定間隔に揃え直したり、といった加工が必要になります。

時系列データの加工

さらに、時系列データはコーディングでしか整形できない・・・となると、Pythonを扱える人しかデータ加工ができないため、データサイエンティストやIT部門に依頼しなければならず、予想以上の時間や費用がかかってしまう、というご経験はないでしょうか?

先ほどの図のように、DataRobotで何度もイテレーションをまわそうとすると、その回数だけデータ準備の作業に立ち戻ることになるので、このデータ準備をいかに省力化して短縮できるかが、機械学習のサイクルではとても重要になります。

DataRobotの前処理をいっきに解決!

そこで活躍するのがPaxata(パクサタ) です。

Paxataはデータ準備のためのプラットフォームで、結合、集計、変換、削除、計算、ゆらぎの補正などのデータ加工をブラウザの画面から簡単に進めていけます。

できあがったデータセットは、DataRobotはもちろん、TableauやQlikなどの分析にも使えますので、あらゆる部門のあらゆるデータ活用の用途で広くご利用いただけます。

DataRobotのデータ前処理をPaxataでやってみる

それではここからは、実際の使い方について具体例をもとにご説明します。

「金融機関のローン審査の予測」をケースに、過去のローンデータを元に、ちゃんと返済してくれる人・返済が焦げ付きそうな人を予測するモデルを作成していきます。

3つの要件に沿って、それぞれのデータ準備をご紹介します。

(1)返済状況を二値化したい

ローンデータには、このように様々な状態が記録されています。

このままのデータでは、今回予測したい「返済したのか、してないのか」をDataRobotで出すことができません。

そこでPaxataを使って、以下のとおりローンの状態を簡単にグループ化します。

●以下は正常なローンとなるため(「False」)へ置換
Fully Paid:全額返済
Current:現行

●以下は問題のあるローンとなるため(「True」)へ置換
Charged Off:不良債権
Default:未納
In Grace Period:猶予期間中
Late (16-30 days):遅延支払(16~30 日)
Late (31-120 days):遅延支払(31~120日)

「Fully Paid」と「Current」を選択します。

「False」へ置換します。

False以外も同じように「True」へ置換します。

(2)勤続年数データを数値に変換したい

勤続年数が「10+ years」「< 1year」など、数値型として読み取れておらず、カテゴリになっています。

このままでは、時系列での解釈ができません。

Paxataを使って不要なテキストデータを排除します。

置換の図

(3)複数テーブルのマージにより、特徴量を追加

ローンデータでは返済状況しか分かりません。

そこで、一般公開されている各州の年ごとのGDPデータを特徴量として追加します。

データマージの図

これでデータ準備が整いました!

Paxataで作成したデータはファイルにエクスポートするか、
S3などのシステムへ出力してDataRobotに取り込むだけで、機械学習を開始することができます。

しかも新バージョン(2019.1)ではDataRobotコネクターが提供される予定です!

詳しくは、またブログでご紹介しますのでお楽しみに。

まとめ

機械学習のデータ準備では、実際には今回の例以外にもやるべきデータ加工はたくさんあり、それが予測モデルを作成するボトルネックになることが多くあります。

Paxataを使うことで、DataRobotの機械学習用データの事前準備が効率化され、何度もイテレーションをまわしていけるようになります。

DataRobotとPaxataを組み合わせた使い方は、製造業をはじめ多くの導入実績がありますので、ぜひお問合せください。それでは!

【動画でわかる!】DataRobotの教師データをPaxataで準備


この記事をかいた人

2009年にアシストに新卒入社。
情報活用製品全般のプリセールスや重点顧客担当エンジニアを経験して、現在はPaxataとQlikのセールス・エンジニアとして活動中。 趣味はランニング。

関連している記事

  • つなげて使う
2019.08.01

Tableauをもっと活用するためのデータプレップ

Tableauでのデータ分析に欠かせないのが、分析をスタートする前のデータ準備、つまり「データプレップ」です。もっと早く、もっと簡単にTableauの分析データを準備する方法についてご紹介します。

Paxata

ページの先頭へ戻る