ブループリントの変更¶
このセクションでは、ブループリントエディターについて説明します。ブループリントは、前処理手順、モデリング、後処理手順など、モデルを学習させる際の高レベルのエンドツーエンド手順を表します。ブループリント要素の詳細な説明については、説明 > ブループリントタブの説明を参照してください。
独自のブループリントを作成する際、DataRobotは変更を検証し、変更の目的が要件の強制でなく意図的であることを確認します。そのため、検証警告のあるブループリントは保存され、警告があってもトレーニングができます。この柔軟性によって誤った制約は防止されますが、警告のあるブループリントは正常にモデルを構築する可能性が低いことにも留意する必要があります。
ブループリントの仕組み¶
エディタを使用する前に、ブループリントが処理できるデータ処理の種類、パイプラインを構築するコンポーネント、パイプライン内のタスクがどのように機能するかを確実に理解しておいてください。
ブループリントデータの処理能力¶
ブループリントは、モデリング、キャリブレーション、モデル固有の前処理ステップを含むトレーニングパイプラインを実装するために設計されています。 その他の種類のデータ準備は、他のツールで行うことが最適です。データ処理手順を実施する場所を判断する際に、次の側面がすべてのブループリントに適用されることを考慮してください。
-
入力データは、EDA2後の1つのデータセットに限定されます。ブループリント内で結合を定義することはできません。すべての結合は、EDA2の前に実行する必要があります(例えば、Spark SQL、Feature Discovery、コード、またはData Prepを使用して)。
-
出力データは、プロジェクトのターゲットについての予測だけでなく、それらの予測(予測の説明)に関する情報にも限定されます。
-
異なる形式で出力を生成する後処理は、ブループリントの外で定義する必要があります。
-
ブループリント内でフィルタリングや集計をすることはできませんが、 Spark SQL、特徴探索、コード、または Data Prepなどを使用することで達成できます。
-
新しいデータをスコアリングする際、単一の予測は、入力データの単一の行にのみ依存できます。
-
入力行の数と出力行の数が一致する必要があります。
ブループリントのタスクの種類¶
DataRobotは、推定と変換の2種類のタスクをサポートします。
-
推定タスク では、入力データ(
x
)を使用して、新しい値(y
)を予測します。ブループリントの最終タスクは、推定タスクである必要があります。スコアリング中、推定タスクの出力は、常にターゲット形式に合わせる必要があります。たとえば、多クラスブループリントの場合、推定タスクは、各行の各クラスの確率を戻す必要があります。推定タスクの例には
LogisticRegression
、LightGBM regressor
、Calibrate
があります。 -
変換タスク は、入力データ(
x
)を何らかの方法で変換します。その出力は常にデータフレームですが、推定タスクとは異なり、任意の数の列およびデータ型を含むことができます。変換タスクの例には、
One-hot encoding
、Matrix n-gram
などがあります。推定タスクと変換タスクの両方に、トレーニングおよび学習のデータ特性に使用される
fit()
方法が備わっています。たとえば、ビニングタスクでは、トレーニングデータに基づいてfit()
ビンを定義し、それらのビンを将来に受け取るすべてのデータに適用することが要求されます。いずれのタスクタイプもfit()
方式を使用しますが、推定タスクはscore()
フックを使用し、変換タスクはtransform()
フックを使用します。より多くの情報についてカスタムタスクを作成する際には、これらのフックの説明を参照してください。変換タスクと推定タスクは、それぞれブループリント内の中間ステップとして使用できます。たとえば
Auto-Tuned N-Gram
は、次のタスクに予測を入力として提供する推定タスクです。
ブループリントを介したデータのパス¶
データは、ブループリントを連続して、タスクごとに、左から右に順次に渡されます。データが変換に渡されるとき、DataRobotは、
- 受信したデータにそれを適合します。
- トレーニングされた変換を使用して、同じデータを変換します。
- 次のタスクに結果を渡します。
推定タスクに渡されると、DataRobotは、
- 受信したデータにそれを適合します。
- トレーニングされた推定タスクが、同じデータで予測します。
- 次のタスクに予測を渡します。過剰適合を減らすために、推定タスクがブループリントの最終手順でない場合、DataRobotは、スタックされた予測を渡します。
トレーニングされたブループリントが予測に使用される場合、データは同じステップのセットを通過します(fit()
方式が省略される点が異なります)。
ブループリントエディターへのアクセス¶
ブループリントエディターには、リーダーボード、リポジトリ、およびAIカタログからアクセスできます。
リーダーボードから、さらなる調査の基礎として使用するモデルを選択し、展開するをクリックします(説明 > ブループリントタブが開きます)。リポジトリから、選択したプロジェクトで利用可能なブループリントのモデリングライブラリのモデルを選び、拡大してください。AIカタログから、ブループリントタブを選択して、ユーザーブループリントの一覧を表示します。
ブループリントダイアグラムが開いたら、いずれかの方法で、コピーと編集を選択し、ブループリントのコピーを作成するブルーブループリントエディターを開きます。
修正を行う際に、修正はコピーに対して行われ、オリジナルは変更されません(開いた場所により、リーダーボード上またはリポジトリ上に置かれます)。クリックしてドラッグし、キャンバス上のどこにでもブループリントを移動します。
なぜ、編集可能なブループリントは、オリジナルと異なるのですか?
ブループリントが生成される場合、現在のプロジェクトに存在しないデータ型の分岐を含めることができます。その場合、未使用の分岐は、削除(無視)されます。これらの分岐 は 、複製されたブループリントのオリジナルの(削除前)の一部として、また将来のプロジェクトで必要とされる可能性がある形で含まれます。そのため、それらはブループリントエディター内で利用可能であり、表示されます。
ブループリントの編集を終えたときに、
- さらに編集を加えたり、他のプロジェクトで使用したり、共有したりするために、AIカタログに保存したい場合は、AIカタログに追加をクリックします。
- トレーニングをクリックしてブループリントを実行し、結果として得られたモデルをリーダーボードに追加します。
ブループリントエディターの使用¶
ブループリントは、ノードとコネクターで構成されます。ノードは、パイプラインの手順です。つまりデータを取り、操作を実行し、新しい形式でデータを出力します。タスクはそれらのアクションを完結する要素です。コネクター は、データの流れを表しています。エディターからは、タスク、タスクのハイパーパラメータ、タスクコネクタを追加、削除、修正することができます。
ノードを使った作業¶
次の表に、ノードで行うアクションを説明します。
アクション | 説明 | 方法 |
---|---|---|
ノードを変更する | ノードに含まれるタスクの特徴を変更します。 | ノードと、次に関連する鉛筆(![]() |
ノードを追加する | ブループリントにノードを追加します。 | 新しいノードの入力または出力として機能するノードをクリックします。これにより、プラス記号(![]() |
ノードを削除する | ブループリントからノードとそれに関連するタスクを削除します。 | ノードと、関連するゴミ箱の(![]() |
コネクターを使った作業¶
次の表では、コネクター上で行うアクションを説明します。
アクション | 説明 | 方法 |
---|---|---|
コネクターを追加する | タスク間に接続を追加して、データの流れを指示します。 | 開始ポイントノードをクリックし、青いノブを出力ポイントまでドラッグします。 |
コネクターを削除する | 2つのノード間の接続を無効にします。 | 起点でコネクターを選択し、結果として表示されるゴミ箱(![]() |
ノードを変更する¶
これらのステップを使用して、既存のノードを変更したり、ブループリントに新たに追加されたノードにハイパーパラメーターを追加します。
-
変更するノードでは、
- カーソルを合わせると、タスク要件が表示されます。
- 鉛筆アイコンをクリックすると編集が有効化され、プラス記号をクリックすると接続されたノードが追加され、ゴミ箱をクリックすると削除されます。
-
鉛筆アイコンをクリックして、タスクウィンドウを開きます。DataRobotは、タスクを定義するすべてのパラメーターの一覧を示します。
次の表は、タスクウィンドウで利用できるアクションを説明します。
要素 クリックして ドキュメントのリンクを開きます モデルのドキュメントを開いて、タスクとそのパラメーターの説明をご覧ください。 タスクセレクター 代替タスクを選択します。オプションの各部分をクリックして、特定のタスクを選択または検索します。タスクについて学ぶには、ドキュメントを開くリンクを使用します。 推奨値 パラメーター値をDatDataRobotによって推奨される安全なデフォルトにリセットします。 値のエントリ パラメーター値を変更します。パラメーターを選択すると、ドロップダウンに許容値が表示されます。ボックス外をクリックして、新しい値を設定します。推奨値をクリックして、デフォルトを復元します。
タスクセレクターの使用¶
タスク名をクリックして、タスクファインダーを展開します。検索フィールドにテキストを入力するか、タスクタイプを展開してオプションのリストを確認します。事前にカスタムタスクを作成してあれば、それらもリストで利用できます。続行する前に、このモーダルからタスクを作成することもできます。
新しいタスクを選択する際、ブループリントエディターは、編集するためのタスクパラメーターをロードします(必要に応じて)。完了したら、更新をクリックします。DataRobotはブループリント内のタスクを置き換えます。
カスタムタスク作成ワークフローの起動¶
カスタムタスク作成ワークフローにアクセスするには、タスクセレクターモーダル上部のカスタムタスクの追加をクリックします。カスタムタスクの追加モーダルが新しいブラウザーのタブで開き、タスク作成ワークフローが開始されます。
環境が設定され、コードをアップロードしたらタブを閉じます。タスクの選択モーダルから、表示を更新をクリックして、新しいタスクを使用可能にします。カスタムドロップダウンを拡張するか、検索することによって、それを見つけることができます。
データ型の追加¶
ブループリントで利用可能な入力データ型に変更できます。データノードをクリックすると、エディターは、ノードとそれに含まれるデータ型をハイライトします。鉛筆アイコンをクリックして、データ型を選択または削除します。
選択した列をタスクに渡す¶
単一の列または列のグループをタスクに渡すには、タスク 複数列セレクター を使用します。このタスクは、ダウンストリーム変換が列のサブセットにのみ適用されるように、データセットで特定の機能を選択します。このタスクを使用するには、データ型の直後(たとえば「カテゴリー型特徴量」の直後)にそれを追加し、タスクのパラメータを使用して、次のタスクに渡すべき機能または渡すべきでない機能を指定します。
タスクを設定するには、column_namesパラメーターを使用して、次のタスクに渡すべき列または渡すべきでない列を指定します。メソッドパラメーターを使用して、これらの列を次のタスクへの入力に含めるべきか除外するべきかを指定します。 特定のタイプをしたすべての列をタスクに渡す必要がある場合は、MCPICKは不要で、タスクをデータ型ノードに接続するだけです。
追加をクリックして、選択した列を参照する新しいタスクを表示します。
注意:ブループリントで特定の列を参照するには、これらの列がブループリントをトレーニングするために存在している必要があります。DataRobot は、ブループリントの編集時またはトレーニング時に、名前の付いた列が現在のプロジェクトに存在しない可能性がある場合には警告リマインダーを表示します。
ブループリント検証¶
DataRobotは、受信と送信のエッジに基づいて各ノードを検証し、データ型、低密度と高密度のデータ、形状(列の数)の要件が満足されていることを確認します。検証警告の原因となる変更を行った場合は、影響を受けたノードがブループリント上に黄色で表示されます。
ノードにカーソルを合わせると、明細が表示されます。
タスクの入力および出力のチェックに加えて、DataRobotは、ブループリントがサイクルを形成しないことを検証します。サイクルが導入されると、DatDataRobotは警報を発し、問題を引き起こしているノードを表示します。
新しいモデルのトレーニング¶
変更が行われ、ブループリント用に保存された後、ブループリントを使用して、モデルをトレーニングするオプションが利用可能になります。トレーニングをクリックしてウィンドウを開き、特徴量セット、サンプルサイズ、交差検定で使用されるる分割数を選択します。次に、モデルのトレーニングをクリックします。
そのモデルは、モデルのリーダーボード上でプロジェクトに使用できるようになります。モデル構築中にエラーが発生した場合、DataRobotはいくつかのインジケーターを提供します。
エラーを起こしたノードは、[Describe] > [Blueprint]タブから表示できます。問題のあるタスクをクリックすると、エラーメッセージまたは検証警告が表示されます。
失敗したカスタムタスクに関する追加情報については、説明 > ログタブで完全なエラートレースバックを見つけることができます。
さらに詳しい情報...¶
次のセクションでは、ブループリントの正常な作成を確実にするための詳細情報を提供します。
ブースティング¶
ブースティングは、別のモデルの予測を使用してモデルをトレーニングすることにより、精度を向上させることができる技術です。複数の推定タスクが使用され、それらが交互に複数の形式のデータを使用するか、検証予測に役立ちます。
ブースティングパイプラインには、2つの主要コンポーネントがあります。
-
ブースタータスク:予測値をブーストするノードです(上の例では残差へのテキストフィット(L2/二項分布の逸脱度))。利用可能な内蔵ブースタータスクのリストは、モデル > ブースティングの下のタスクセレクターの中に見つけることができます。
-
ブースト入力:ブーストする予測値を供給するノード(この例では Early stoppingを備えたeXtreme Gradient Boosted Trees 分類器)およびブースターの追加変数を渡す他のタスク(語句の出現頻度行列)。
次の基準を満たす必要があります。
-
ブーストするための予測を提供するタスクは1つしかないはずです。
-
ブースターには予測以外の説明的な特徴量を提供するタスク(この例では 単語グラム出現の行列)が少なくとも1つは必要です。