Hadoopからのスケーラブルな取込み¶
備考
スケーラブルな取込み機能は、Hadoopインストールでのみ使用できます。
HDFS (Hadoop Distributed File System)ファイルシステムに存在し、プロジェクト作成のファイルサイズ要件が12GB以上のファイル(CSV)*の場合、DataRobotのスケーラブルな取込みオプションを使用できます。 このオプションを使用すると、最大100GBのファイルを取込むことができます。 DataRobotでは、ファイルがダウンサンプリングされ、最大10GBがモデルトレーニングに使用され、追加の2GBが検定とホールドアウトに使用されます(合計12GB)。 スケーラブルな取込みはプロジェクト作成でのみ有効です。予測データセットのファイルサイズの要件は同じです。
*いくつかのファイルタイプはディスク上で12GB制限を下回ることがありますが、CSVに変換すると大きくなります。 たとえば、ディスク上で6GBのParquetファイルは、CSVに変換すると約40GBになることがあります。
スケーラブルな取込みの詳細¶
スケーラブルな取込みオプションの要件と機能を以下に示します。
- ファイルはHadoopファイルシステム内にあり、HDFSブラウザーから読み込む必要があります。 Hadoop以外のファイル形式の場合の取込みプロセス、ファイル形式、およびサイズに関する要件は同じです。
- スケーラブルな取込みは、SAS (
.sas7bdat
)を除く既存の取込みでサポートされる全ての形式をサポートします。 -
スケーラブルな取込みは、標準のファイル取込みでサポートされていない追加の形式をサポートします。 これらの形式はファイルブラウザーでディレクトリとして表示されますが、単一のファイルの場合と同様に選択してインポートできます。
- Apache Parquet
- Apache Avro
- Apache ORC
- Multifile CSV
-
ファイルタイプがParquet、Avro、ORC、またはMultifile CSVの場合、CSVとしてのファイルのサイズ(またはファイルのディレクトリ)は12GB未満である場合があります。 その場合、DataRobotはダウンサンプリングせず、代わりにデータをCSVに変換してから、標準のファイル取込みプロセスを適用します。
-
ダウンサンプリングファイルには検定とホールドアウトのサイズを指定できません。 これらの値は、アプリケーション設定によって決定されます(デフォルトは、ホールドアウトが1GB、検定が1GB)。
-
高度な(グループ、パーティション特徴量、または日付/時刻)分割オプションは設定できません。 分割手法は、ダウンサンプリング戦略に基づいて自動的に設定されます。 代表的なダウンサンプリングを選択した場合、ランダム分割が使用されます。スマートダウンサンプリングを選択した場合、層化抽出分割が使用されます。
-
スケーラブルな取込みでは、EDA1の前にターゲットを選択できます。取込みが完了した後はターゲットを変更できません。
大きなデータワークフローの理解¶
以下の手順は、大きなファイルのスケーラブルな取込みワークフローを示します。
-
プロジェクト作成ページから、HDFSファイルインポート方法を選択します。 ファイルサイズが標準のファイルサイズ制限よりも大きい場合、データセットがダウンサンプリングされることを示す注意が表示されます。
備考
最大11GBまで切り上げされ(たとえば10.2GBのファイルサイズ)、ホールドアウトと検定にそれぞれ1GBが含まれるので、このメモでは、13GB
よりも大きいファイルサイズを参照します。
-
HDFSファイルブラウザーから、データセットを選択して次へをクリックします。 DataRobotは、ターゲットの選択用の高速EDAページを表示します。 このページには全ての列、一意の値の数、欠損値の数、および数値列の統計(データセットの100万行の疑似ランダム選択から生成)も表示されます。
-
ターゲットを選択します。 ターゲット検定が実行されます。エラーになるターゲット値は禁止されます。
エラーが存在する可能性があっても確実ではない場合、注意が表示されます。その場合、その選択をターゲットとして続行できます。
続行してターゲットでエラーが発生した場合、画面上部に自動開始が失敗したことを示すメッセージが表示されます。
-
ターゲットを選択した後、データセット、ターゲット、および注意(該当する場合)を示すレビューページが表示されます。
このページでは、以下の操作を実行できます。
a. ダウンサンプリング方法を設定する。
b. フルオートパイロットを自動的に開始するようDataRobotを設定する(ダウンサンプリングの後、分割とモデル構築が自動的に開始されます)。 この設定を有効にした場合、DataRobotはデフォルトの推奨される指標、分割手法、および特徴量セットを使用します。
-
プロジェクトを作成をクリックします。 DataRobotは、元のデータのアップロードと読み取りを開始します。 スケーラブルな取込みプロジェクトでは、EDA1にはダウンサンプリングフェーズ(ステップ1)が含まれ、進捗状況がレポートされます。
取込みが完了すると、モデルの構築が開始されます(該当するオプションを選択している場合)。または、構築を開始する標準のページが表示されます。
スケーラブルな取込みでのダウンサンプリング¶
一般的に、大規模なデータでのダウンサンプリングは、スマートダウンサンプリングの操作特性と同じです。 つまり、DataRobotでデータが読み取られてマジョリティー/マイノリティークラスの比率が決定され、ダウンサンプリングされたデータがオートパイロットの3つのステージで使用されます(残りのデータはトレーニングに使用されませんが、検定およびホールドアウトモデルのオーバーフローファイルで使用できます)。 より多くのデータを使用するには、ホールドアウトのロックを解除して、大きなサンプルパーセントでモデルを再トレーニングします。
スケーラブルな取込みでは、ダウンサンプリング方法(代表的ダウンサンプリングまたはスマートダウンサンプリング)を選択できます。
-
代表的 ダウンサンプリング(ランダム)は全てのプロジェクトタイプで使用できます。 DataRobotでは、合計12GBが保持されます。
-
スマートダウンサンプリング(バランス)は、二値分類およびゼロブースト回帰プロジェクトでのみ使用できます。 スケーラブルな取込みのスマートダウンサンプリングでは、DataRobotで最適な比率を自動的に決定するか、手動で比率を指定することができます。 スマートダウンサンプリングに関する詳しい情報と例については、以下を参照してください。
DataRobotが6未満のマジョリティ/マイノリティ比を推定する二値分類問題とゼロブースト回帰問題、または非二値分類列では、代表的ダウンサンプリングが推奨されます。 これは、連続値問題の場合も同様です(一意の値が2つ以上含まれる数値ターゲット)。 マジョリティー/マイノリティー比が6以上の場合、スマートダウンサンプリングが推奨されます。
スマートダウンサンプリングの概要¶
スマートダウンサンプリングは「クラス認識」なので、ダウンサンプリングされたデータはマイノリティー対マジョリティーの比率を反映します。 DataRobotのモデリングフェーズでは、ダウンサンプリングしたデータの比率がデータセットの値を正しく表現するよう、データの元の分布に従って荷重が使用されます。 DataRobotで自動的に比率を選択(自動)するか、比率を指定(手動)することができます。
-
自動 (トグルスイッチをオフにした場合):マジョリティー/マイノリティークラスの数に基づいて、可能な限りバランスの取れた比率がDataRobotで選択され、インメモリーモデリングで使用可能なデータが12GBに可能な限り近いサイズで作成されます。
-
手動:ユーザーが値(マイノリティー行に相対的なマジョリティー行の数)を指定すると、指定した比率を満たすために必要な量だけのダウンサンプリングデータ(最大12GB)が選択されます。 1未満の比率を指定することはできません。データセット内の実際の最大比よりも大きい比率を指定した場合、データセットからの最大比が使用されます。
比率の例¶
6GB以上のマイノリティークラスがある場合、常に12GBがフルに使用可能です。 マイノリティークラスが6GB未満の場合、ダウンサンプリングデータは12GB未満になります。
3GBのマイノリティークラスデータを含む100GBのデータセットがあると仮定します。
- 自動を使用する場合、3GB全てのマイノリティークラス9GBのとマジョリティークラスが使用されます。 次に、最終的なトレーニングデータセットのデータを正確に反映するために加重が適用されます。
2
の比率を手動で指定した場合、DataRobotでは、9GBのデータ(3GBのマイノリティークラスデータと6GBのマジョリティークラスデータ)が保持されます。 そのうち、7GBがトレーニングに使用され、1GBがホールドアウトに使用されます。そして1GBが検定に使用されます。
100GBのデータセットに20GBのマイノリティークラスがある場合を考えてみます。
2
の比率を手動で指定した場合、DataRobotでは、12GBのデータ(4GBのマイノリティークラスデータと8GBのマジョリティークラスデータ)が保持されます。- 比率を
1
に設定すると、ダウンサンプリングデータには、6GBのマイノリティークラスデータと6GBのマジョリティークラスデータが含まれます。 加重によって、完全なデータセットが正しく表現されるようになります。
また、データセットが12GB未満の場合、ホールドアウトと検定に対して「従来の」20%値も計算されます。 20%値が1GBよりも大きい場合、1GBだけが使用され、対応する分割が選択されます。 1GB未満の場合、DataRobotは20%を使用します。 たとえば、9GBのデータセットの場合、20%分割は1.8GBのデータになります。 これは1GBより大きいため、DataRobotは1GBのみ使用します。 しかし、データセットが4GB (1GBのマイノリティー、3GBのマジョリティー)の場合、その20%は800MBなので、DataRobotではその量のデータが使用されます。