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