モデリングに関するFAQ¶
以下では、モデリング全般、さらにはモデルの構築とモデルのインサイトの使用に関する質疑応答について説明します。
一般的なモデリング¶
DataRobotではどのようなタイプのモデルが構築されますか?
DataRobotは、ツリーベースのモデル、ディープラーニングモデル、Support Vector machine(SVM)、Generalized Linear Model、異常検知モデル、テキストマイニングモデルなどをサポートしています。 詳細情報については、 特定のモデルタイプのリストを参照してください。
モデリングワーカーとは何ですか?
DataRobotでは、ジョブのタイプに応じて異なるタイプのワーカーを使用します。モデリングワーカーは、モデルのトレーニングおよびインサイトの作成に使用します。 これらのワーカーは、 ワーカーキューで調整できます。これにより、モデル構築の速度が向上し、複数のプロジェクトに割り当てできます。
ワーカーを増やせないのはなぜですか?
共有プールで同僚が使用している場合や、別のプロジェクトで使用されている場合は、最大数に達している可能性があります。 詳細情報については、 トラブルシューティングのヒントを参照してください。
モデルとブループリント違いとは何ですか?
モデリングアルゴリズムは、データにモデルを当てはめるもので、ブループリントの1つの要素に過ぎません。 これは、ブループリントの1要素に過ぎません。ブループリントは、前処理のステップ、モデリング、後処理のステップなど、モデルを学習させる際の高レベルのエンドツーエンド手順を表します。 ブループリントのグラフィック表現へのアクセスについてお読みください。
スマートダウンサンプリングとは何ですか?
スマートダウンサンプリングは、マジョリティークラスのサイズを減らすことで、データセット全体のサイズを小さくする方法です。これにより、精度を犠牲にせずにモデルを短時間で構築できます。
EDA1およびEDA2とは何ですか?
探索的データ解析、つまりEDAは、DataRobotでデータセットを解析してその主要な特性のサマリーを作成するためのアプローチです。 これは、2つのフェーズで構成されます。 EDA1は、データのアップロード完了後、プロジェクトの状態を説明し、最大500MBのデータに基づくサマリー統計を提供します。 EDA2では、DataRobotは、データセット全体(ホールドアウトを除く)を使用して、ターゲット列に追加計算を行い、サマリー統計およびACEスコアを再計算します。
リーダーボードのアスタリスクは何を意味しますか?
リーダーボードのアスタリスクは、スコアが、モデルのトレーニングデータの スタックされた予測から計算されていることを示します。
リーダーボードの雪の結晶アイコンは何を意味しますか?
モデルの横にあるスノーフレークは、モデルが フローズン実行の結果であることを示します。 つまり、DataRobotでは、モデル初期の小さなサンプルサイズベースの実行から、パラメーター設定を「凍結」します。 より小さなサンプルに基づくパラメーター設定であっても、同じデータのより大きなサンプルに対して機能する傾向があるため、DataRobotは初期段階の実験をうまく活用しています。
交差検定とは何ですか?
交差検定は、モデルのパフォーマンスを評価するための 分割手法です。 これは、50,000行未満のデータセットに対して自動的に実行され、より大きなデータセットに対して、リーダーボードから手動で開始できます。
モードとサンプルサイズは何を意味しますか?
複数の モデリングモードのオプションがあります(選択されたモードは、実行のサンプルサイズを決定します)。 オートパイロットは、DataRobotの「適者生存」モデリングモードです。指定されたターゲット特徴量に最適な予測モデルを自動的に選択し、サンプルサイズをかつてないほど大きくしながら実行します。
リポジトリに表示されるサンプルサイズがオートパイロットの標準サイズではないのはなぜですか?
リポジトリからモデルを追加するときに使用できるサンプルサイズは、データセットのサイズによって異なります。 デフォルトでは、オートパイロットの最終ステージ、64%または500MBのデータのいずれか小さい方になります。 つまり、これは検定を行わない場合の最大 トレーニングサイズです。
モデリングにガードレールはありますか?
DataRobotは、MLのベストプラクティスを確保し、DataRobotモデルの信頼性を高めるためのガードレールを提供します。 一部の例では、本質的なデータ 品質評価、 ターゲットリーケージ特徴量を削除した特徴量セット、および自動 データドリフト追跡を含みます。
欠損値はどのように処理されますか?
DataRobotでは、欠損値の処理はモデルや値のタイプに応じて異なります。 欠損として認識および処理される 特定のパターンだけでなく、 偽装欠損値の処理があります。
モデルの構築¶
DataRobotは特徴量の変換をサポートしていますか?
AutoMLでは、DataRobotは、タイプ「日付」として認識された特徴量に対して 特徴量の自動変換を実行し、これらの新しい特徴量をモデリングデータセットに追加します。 さらに、 手動変換を作成して、特徴量のタイプを変更できます。 画像データセットの場合、 トレーニング時の画像オーグメンテーションプロセスにより、新規トレーニング画像を作成します。 時系列特徴量の派生プロセスでは、新規モデリングデータセットを作成します。 特徴量探索は、複数のデータセットから新規特徴量を検出して生成し、データセットを統合します。 または、AIカタログの Spark SQLクエリーを使用して、単一データセットから新規データセットを準備するか、または複数のデータセットをアンサンブルします。 変換された特徴量は、データページに情報アイコンでマークされます。
使用する最適化指標を選択できますか?
最適化指標は、モデルのスコアリング方法を定義します。 DataRobotは、データに最適な指標を 包括的な選択肢から選択するだけでなく、別の指標も計算します。 EDA1が完了後、 選択の変更を高度なオプション > 追加タブから実行できます。 EDA2が完了後、別の計算指標に基づいて、リーダーボードのリストを再表示できます。
プロジェクトのタイプを変更できますか?
ターゲット特徴量を入力すると、DataRobotは、トレーニングデータセットを自動的に分析し、プロジェクトタイプ(ターゲットにカテゴリーがある場合は分類、ターゲットが数値の場合は連続値)を決定し、ターゲット特徴量の分布を表示します。 プロジェクトが連続値として分類され、多クラスに変換できる場合、プロジェクトを分類プロジェクトに変更すると、DataRobotは値を連続値ではなくクラスとして解釈します。
データセットから行や列を削除するにはどうすればよいですか?
デフォルトでは、DataRobotは、データを20%のホールドアウト(テスト)パーティションと80%の交差検定(トレーニングと検定)パーティションに分割し、さらに5つのサブパーティションに分割します。 これらの値は、データをロードし、高度なオプション > パーティショニングタブからターゲットを選択した後に変更できます。 これらから、方法、データパーティションのサイズ、交差検定のパーティション数、およびパーティションの作成 方法を設定できます。
データタブの緑色の「有用性」バーは何を表していますか?
The Importance green bars, based on "Alternating Conditional Expectations" (ACE) scores, show the degree to which a feature is correlated with the target. 有用性には、値と正規化値の2つの要素があり、データセット内の各特徴量に対して個別に計算されます。
DataRobotは自然言語処理(NLP)に対応していますか?
データでテキストフィールドが検出されると、DataRobotは、言語を自動的に検出し、適切な前処理を適用します。 これには、高度なトークン化、データクリーニング(ストップワード削除、ステミングなど)、およびベクトル化方法が含まれます。 DataRobotは、n-gram行列(単語の詰め込み、文字の詰め込み)分析だけでなく、CBOWおよびSkip-Gramの両方の学習方法でWord2VecおよびFastTextなどの単語埋め込み手法をサポートしています。 その他の機能には、Naive Bayes SVMとコサイン類似度分析が含まれます。 視覚化のために、テキスト分析用のクラスごとのワードクラウドがあります。 適用済み言語前処理のステップは、 モデルブループリントで確認できます。
同じデータでプロジェクトを再スタートするにはどうすればよいですか?
データが、AIカタログに保存されている場合は、そのデータセットから、プロジェクトを 作成および再作成できます。 データまたはデータと設定(プロジェクトを複製する場合など)のみを使用して、プロジェクトを再作成するには、プロジェクト管理センターの アクションメニューを使用します。
UIを使用する必要がありますか? それともプログラムで操作できますか?
DataRobotは、UIとREST APIの両方を提供します。 UIとREST APIは、ほぼ一致する機能を提供します。 さらに、 PythonおよびRクライアントは、フルAPIでできるサブセットを提供します。
DataRobotはパートナーとの連携を提供していますか?
Snowflakeとの連携により、Snowflakeで計算を実行しながら、DataRobotで特徴量探索プロジェクトを実行することで、データの移動を最小限に抑えることができます。
予測サーバーとモデリングサーバーの違いは何ですか?
モデリングサーバーは、UIおよびRクライアントやPythonクライアントから実行されたすべての作成およびモデル分析を強化します。 予測サーバーは、デプロイ済みモデルの予測の作成および予測リクエストの処理にのみ使用されます。
予測サーバーとモデリングサーバーの違いは何ですか?
モデリングサーバーは、UIおよびRクライアントやPythonクライアントから実行されたすべての作成およびモデル分析を強化します。 モデリングワーカーのリソースは、 リソースモニタでレポートされます。 予測サーバーは、デプロイ済みモデルの予測の作成および予測リクエストの処理にのみ使用されます。
モデルのインサイト¶
モデルのパフォーマンスを直接比較するにはどうすればよいですか?
モデルのパフォーマンスを比較する多くの方法があります。 いくつかのスターターポイントは、以下のとおりです。
- リーダーボードを見て、 検定、交差検定、ホールドアウトのスコアを比較します。
- 学習曲線は、指定のモデルでデータセットのサイズを大きくすることに意味があるかどうかを判断する際に役立ちます。 結果は、どのモデルを検定またはホールドアウトパーティションでトレーニングするとよいかを特定するのに役立ちます。
- 速度と精度は、実行時間と予測精度間のトレードオフの指標で、複数のモデルを比較します。 予測レイテンシーが、モデルデプロイにとって重要な場合、これは最も効果的なモデルを見つけるのに役立ちます。
- モデル比較では、モデルのペアを選択し、さまざまなインサイト(リフトチャート、収益曲線、ROC曲線)を比較できます。
DataRobotでは、推奨モデルはどのように選択されますか?
オートパイロットモデリングプロセスの一部として、アンサンブルモデル以外の最も精度の高いモデルが特定され、デプロイ用に準備されます。 オートパイロットは、デプロイ用に単一のモデルを推奨および準備しますが、任意のリーダーボードモデルに対してオートパイロットの推奨およびデプロイの準備段階を開始できます。
最も精度の高いモデルを常に使用するとは限らないのはなぜですか?
複数の理由が考えられますが、最も一般的な2つの理由は、以下のとおりです。
- 予測レイテンシー:これは、予測が実行される速度を意味します。 モデルの一部のビジネスアプリケーションでは、新規データに対して、非常に高速な予測が必要になります。 最も精度の高いモデルは、アンサンブルモデルである場合が多く、予測の作成速度が遅くなります。
- 組織の準備 一部の組織は、解釈可能性の理由が認識された線形モデルおよび/または決定木を好みます。 さらに、特定タイプのモデルを、他のモデルよりも優先するコンプライアンス上の理由がある場合があります。
推奨モデルにテキストインサイトがないのはなぜですか?
DataRobotでテキストモデルが構築されないよくある理由の1つは、モデル構築時に、テキストマイニングにおいて一般的な手法である1文字「単語」 の削除が行われるためです。 この問題が発生した場合は、 モデルログを確認し、 文書化された回避策を検討してください。
モデルリフトとは何ですか?
リフトは、 累積ゲインプロットで表される45度の線(またはベースラインモデル)に対するモデルで、正数(ポジティブ)として正しく分類されたポイントの比率です。 累積チャートは、上位予測の特定の%について、ベースラインモデルに対してポジティブクラスを識別する上で、選択したモデルがどれだけ効果的かを示します。
ROC曲線とは何ですか?
ROC曲線タブには、選択したモデルに関連する分類、パフォーマンス、および統計情報を、確率スケール上の任意のポイントで調べるための豊富なツールが用意されています。 ドキュメントでは、予測しきい値、マシューズ相関係数(MCC)だけでなく、ROC曲線、累積ゲイン、および収益曲線チャートの解釈について説明します。
モデルのハイパーパラメーターをチューニングできますか?
モデルハイパーパラメーターは、特定モデルの 高度なチューニングタブでチューニングできます。 ここから、DataRobotでの選択を上書きして、モデルのパラメーターを手動で設定できます。 ただし、 特徴量探索を使用して自動化された特徴量エンジニアリングを実行するなど、特徴量エンジニアリングに「チューニング」時間を費やす方が良いかどうかを検討してください。
特徴量の有用性(木型アルゴリズム)は特徴量のインパクトとどう違うのですか?
特徴量のインパクトは、どの特徴量がモデルの決定を左右しているかを大まかに示します。 これは、他の特徴量の行を変更せずに特定の特徴量の行を置き換え、モデルの予測パフォーマンスに対するPermutationの影響を測定することによって計算されます。 特徴量の有用性(木型アルゴリズム)は、各特徴量がモデルにどれだけの利益をもたらすか、主要特徴量の相対的な有用性を示します。 これは、ツリー/フォレストモデルのみで利用可能です(Gradient Boosted Trees Classifierやランダムフォレストなど)。
係数を生成したモデルを見つけるにはどうすればよいでしょうか?
係数を生成するモデルは、リーダーボード上でベータ()タグで識別できます。 それらのモデルを使用すると、手順の検証やDataRobot以外での予測に必要な 係数のエクスポートや変換パラメーターのエクスポートができます。 ブループリントに係数があり、ベータタグでマークされていない場合、係数が正確ではありません(例:丸められている可能性があります)。
「テキストマイニング」と「ワードクラウド」の違いは何ですか?
テキストマイニングと ワードクラウドのインサイトは、さまざまな形式で、テキストの有用性を示します。 テキストマイニングでは、テキスト係数の効果(数値)と方向(positive=赤またはnegative=青)が、棒グラフ形式で示されます。 ワードクラウドは、テキストサイズと色を使用して、これらの係数の正規化されたバージョンをクラウド形式で表示します。
データセットにない変数が一部のインサイトに含まれているのはなぜですか?
DataRobotは、 自動変換および派生する特徴量(比率および差分など)など、さまざまなデータ前処理を実行します。 モデルを構築する場合、元の特徴量と派生した特徴量の両方を含むすべての有用な特徴量を使用します。
データセットに部分依存の値がないのに、特徴量ごとの作用で部分依存の欠損値が表示されるのはなぜですか?
部分依存(PD)は、特徴量ごとの作用の一部として報告されます。 これは、予測値が、選択した特徴量のさまざまな値に、どの程度依存するかを示しています。 予測値は、選択した特徴量だけでなく、すべての特徴量の影響を受けます。そのため、PDは、予測値が、他の特徴量の異なる値に対して、どのように変化するかを測定する必要があります。 計算を行う際、DataRobotは、選択した特徴量に対して 計算された値の1つとして「欠損」を追加して、値がない場合に予測にどのような影響が生じるかを示します。 最終的な結果には他の値が与えられ、トレーニングデータの分布に従った予測に対する各値の平均効果となります。
特徴量ごとの作用の計算にかかる時間はどのように判断すればよいですか?
特に、アンサンブルが関与する場合、特徴量ごとの作用の計算に長い時間がかかる場合があります。 実行時間の大まかな推定として、 モデル情報タブを使用して、モデルが1000行をスコアリングするのにかかる時間を秒単位で確認します。 この数値に、0.5~1.0時間を掛けます。 すべての特徴量ごとの作用サブジョブを、同時処理するのに十分なワーカーを割り当てない場合、実際の実行時間が長くなる場合があることに注意してください。
特徴量のインパクトがモデルによって異なるのはなぜですか?
オートパイロットでは、さまざまなレベルの複雑さを捉える幅広いモデルを構築し、各モデルには、その複雑さに対処する上での長所と短所があります。 ただし、特徴量のインパクトが大きく異なることはあってはなりません。そのため、特徴量の順序は変化しますが、全体的な推論は影響を受けません。 例:
- 非線形の関係性または交互作用を検出できないモデルは、特徴量を1つの方法で使用しますが、これらの関係性を検出できるモデルは、特徴量を別の方法で使用します。 結果は、モデルごとに特徴量のインパクトが異なります。
- 2つの特徴量の相関性が高い場合、正規化線形モデルは、そのうちの1つだけを使用する傾向があり、ツリーベースのメソッドでは、その両方が異なる分割で使用される傾向があります。 線形モデルでは、これらの特徴量の一方の特徴量の有用性が高くなり、他方の特徴量の有用性が低くなりますが、ツリーベースのモデルでは、特徴量の有用性はどちらも中央近くになります。