この記事では、DataRobotプラットフォームにデータをインポートするさまざまな方法について簡単に説明します。具体的には、ユーザーインターフェースへのファイルのドラッグ、ローカルのファイルブラウザからの検索、リモートサーバーからのファイルの取得、インストール済みJDBCドライバ対応データベース、またはローカルのHadoopファイルシステムからのフェッチを取り上げます。また、DataRobot AIカタログについても簡単に説明します。
この動画では、DataRobotにデータをインポートする方法を説明します。

図1. DataRobotプラットフォームにデータをインポートする方法
DataRobotを使い始めるには、ログイン後に事前に準備されたトレーニングデータセットをロードします。DataRobotは現在、.csv、.tsv、.dsv、.xls、.xlsx、.sas7bdat、.bz2、.gz、.zip、.tar、および.tgzファイルタイプをサポートしています。
これらのファイルは、ローカルファイルシステムまたはURLからアップロードすることができます。DataRobotは、Amazon S3、Azure Blob Storage、Google Cloud Storageからのインジェストをサポートしています。また、Hadoop/HDFSもサポートしており、図1に示すように、JDBCを介してさまざまなエンタープライズデータベースから直接データを読み込むことができます。
DataRobotは、JDBCドライバを提供するすべてのデータベースをサポートしており、現在市場に出回っているほとんどのデータベースがDataRobotに接続できることを意味します。Postgres、Oracle、MySQL、Amazon Redshift、Microsoft SQL Server、Hadoop HiveなどのJDBCドライバが最も一般的に使用されています。また、DataRobotは、DataRobotプラットフォームに統合された集中データストアであるDataRobot AIカタログ(図1参照)からデータをインポートする機能も提供しています。
目的のファイルをアップロードすると、DataRobotはすぐにデータの読み込みを開始し、Exploratory Data Analysis (EDA)と呼ばれるプロセスを開始します。このプロセスでは、データの種類を検出し、ユニーク数、欠落値、平均値、中央値、標準偏差、最小値、最大値の数を表示します(図2参照)。

図2. DataRobotのEDAプロセスの結果
詳細情報
DataRobotのライセンスをお持ちの方は、オンラインドキュメントで「データのインポート方法」を検索してください。
データのインポートの注意点:
-
行数が20件を超えていないとプロジェクト作成できないエラーになります。二値分類では行数が100件以上でかつ、二値のうち少ない方のクラスが20件必要となります。
-
インポートするデータがExcelデータの場合、エンコーディングがバラバラになっているケースが多いので、エディタ等を利用してUTF-8に変換
-
DataRobotではサンプリングによってデータ型を判定するため、例えば日付型が途中で変わっている場合には修正が必要です。また、カテゴリなのに数値と認識されているものも修正が必要です。DataRobot上でも変更可能ですが、元データをシングルクォートで囲むと強制的にカテゴリになります。
-
列名が重複している場合もエラーになります。(Excecl空列が二つある場合などにも発生します。)
データのインポートのTips:
-
アップロードに時間がかかりすぎる場合は、ランダムサンプリングして数万行に絞って分析すると精度をあまり落とすことなく素早く分析できます。この場合、特定の月だけやID上位などでサンプリングに偏りがでないように注意してください。
-
元データを修正できる場合は、アップロード前のデータセットから不要な行や列を除いておくと、アップロード時間や特徴量セットの作成の手間を短縮することが可能です(DataRobotにアップロード後は、列のみ削除可能で、行の削除はできません)。
-
以下のような、不必要なデータは削除を試みてください。
-
ルールベースでわかるような簡単なデータ
-
本当は含める必要がなかったデータ
-
業務に関係する領域で、データを分割して分析し直すことを試みてください。ただし、データを分けるとインサイトは明確になりますが、データ量が少なくなりますので、元のデータ量が小さい場合には分けすぎて分析の精度が落ちすぎないように留意してください。