Skip to content

アプリケーション内で をクリックすると、お使いのDataRobotバージョンに関する全プラットフォームドキュメントにアクセスできます。

モデリングプロセス

このセクションでは、DataRobotの初期モデル構築プロセスの理解に役立つ情報を紹介します。

DataRobotは、データ品質の問題の自動検出(場合によっては修正)を行う完全なデータ品質評価も実行します。 ワークフローの概要については、基本的なモデリングプロセスセクションも参照してください。

モデリングモード

モデリングモードの正確なアクションおよびオプションは使用するデータに応じて異なります。 モードの動作の標準的な説明に加えて、以下のセクションでは状況により異なるモデリング動作について説明します。

DataRobotは、ツリーベースのモデル、ディープラーニングモデル、Support Vector machine(SVM)、Generalized Linear Model、異常検知モデル、テキストマイニングモデルなどをサポートしています。 以下に具体例を示します。

  • TensorFlow
  • XGBoost
  • LightGBM
  • Elastic Net、Ridge回帰、またはLasso回帰(テキスト対応)
  • Nystroem Kernel SVM
  • ランダムフォレスト
  • GA2M
  • 単一列テキストモデル(ワードクラウド用)
  • Rulefit

小さなデータセット

AutoMLのオートパイロットでは、データセットに含まれる行数に応じてサンプル割合実行が変更されます。 次の表が基準を示します。

行数 実行するパーセンテージ
2000行未満 最終オートパイロットステージのみ(64%)
2001~3999行 最終の2つのオートパイロットステージ(32%および64%)
4000行以上 オートパイロットの全てのステージ(16%、32%、および64%)

クイックオートパイロット

Quick Autopilot is the default modeling mode, which has been optimized to ensure, typically, availability of more accurate models without sacrificing variety of tested options. その結果、リファレンスモデルは実行されません。

When used, DataRobot runs supported models on a sample size based on the calculation 0.5 * max training size. A "typical" dataset uses a 64% sample size (or 500MB of data, whichever is smaller). With this shortened version of the full Autopilot, DataRobot selects models to run based on a variety of criteria, including target and performance metric, but as its name suggests, chooses only models with relative short training runtimes to support quicker experimentation. The specific number of Quick models run varies by project and target type (e.g., some blueprints are only available for a specific target/target distribution). The Average blender, when enabled, is created from the top two models.

2ステージモデル

データセットによっては、2ステージのモデリングプロセスになります。これらのプロジェクトでは、他では使用できない追加モデル(頻度-強度モデル)が作成されます。 この2ステージプロセスの作成、およびその結果の追加のモデルタイプは、ターゲットがゼロ過剰(データセットの50%以上の行にターゲット特徴量に対して0の値がある場合)の連続値プロジェクトで発生します。 これらの手法が最も頻繁に適用されるのは、保険のモデリングと運用の損益モデリング(保険請求、損失の深刻度を考慮した差し押さえ頻度のモデル化、マイレージポイント交換アクティビティ)です。

対象モデル(以下を参照)では、以下のタブでステージに関連する情報を表示できます。

  • 係数タブでは、線形モデルに対して選択したステージに対応するパラメーターがグラフ化されます。 さらに、係数をエクスポートすると、2つの追加の列(Frequency_CoefficientおよびSeverity_Coefficient)に各ステージの係数が表示されます。
  • 高度なチューニングタブでは、選択したステージに対応するパラメーターがグラフ化されます。

さらに、オートパイロットの一部として頻度/強度手法をサポートするいくつかのモデルが実行されます。追加のモデルは、リポジトリで使用できます。 ステージングで使用できるモデルは以下のモデルで、モデル名の初めに「Frequency-Cost」または「Frequency-Severity」が付いています。

  • XGBoost*
  • LightGBM*
  • 一般化加法モデル
  • Elastic Net

* これらのモデルでは係数を使用できません

ユースケース例:保険

Zachは、頻度(保険加入者が請求を行う頻度)と強度(請求の費用)に基づいて保険請求モデルを構築しています。 Zachは、来年の潜在的な保険加入者の請求額の支払いを予測しようとしています。 一般的に、ほとんどの加入者は事故に遭わないので請求を行いません。 したがって、各行が1人の保険加入者(ターゲットは請求支払い)を表すデータセットでは、ほとんどの行のターゲット列は$0になります。Zachのデータセットには、ゼロ過剰のターゲットがあります。 トレーニングデータで表されるほとんどの保険加入者のターゲット値は0ドルです。 このプロジェクトでは、DataRobotはいくつかの頻度-費用モデルと頻度-強度モデルを構築します。

データサマリー情報

以下の情報は、ターゲット特徴量を選択し、モデリング処理を開始したことを前提としています。

ターゲット特徴量を選択し、モデリングを開始すると、データが分析され、この情報がプロジェクトデータデータページ)に表示されます。 データ特徴量は、ターゲット特徴量の予測にあたり、有用性の高いものから順番にリスト表示されます。 DataRobotは、各特徴量のデータ(特徴量)型も検出します。サポートされているデータ型は次のとおりです。

データページの追加情報に含まれる内容:

有用性

有用性バーは、特徴量がターゲットと相関している度合いを示します。 これらのバーは、「交替条件付き期待値」(ACE)スコアに基づいています。 ACEスコアは、ターゲットとの非線形関係性を検出できますが、単変量であるため、特徴量間の交互作用効果を検出できません。 有用性は、変数の情報内容を測定するアルゴリズムを使用して計算されます。計算はそれぞれの特徴量ごとに行われます。 有用性スコアは、2つのコンポーネント(ValueおよびNormalized Value)が含まれます。

  • Value: This shows the metric score you should expect (more or less) if you build a model using only that variable. 多クラスの場合、Valueは各クラスの二値有用性上位モデルからの加重平均として計算されます。 二値分類および連続値の場合、選択したプロジェクト指標を使用して検定セットで評価された有用性上位モデルからの予測です。
  • Normalized Value:正規化されたValue。1までのスコア(スコアが高いほど良い)。 0は、精度がトレーニングターゲットの平均を予測することと同じであることを意味します。 スコアが0未満の場合は、ACEモデルの予測がターゲットの平均モデルよりも劣っていること(過剰適合)を意味します。

これらのスコアは、その特徴量だけを使用してターゲットを予測するシンプルなモデルの予測能力の指標を示します。 (スコアは エクスポージャー によって調整されますが、これはエクスポージャーパラメーターを使用している場合のみ行われます。) スコアは、プロジェクトの精度指標を使用して測定されます。

Features are ranked from most important to least important. The length of the green bar next to each feature indicates its relative importance—the amount of green in the bar compared to the total length of the bar, which shows the maximum potential feature importance (and is proportional to the Normalized Value)—the more green in the bar, the more important the feature. 緑色のバーの上にマウスを置くと両方のスコアが表示されます。 これらの数値は、その特徴量だけを使用するモデルのプロジェクト指標(プロジェクトが実行されたときに選択された指標)に関するスコアを表しています。 リーダーボードで指標を変更してもツールチップに表示されるスコアには影響しません。

特徴量名をクリックして、データ値の詳細を表示します。 値はEDA1とEDA2との間で変化するが(たとえば、行がホールドアウトの一部であるために削除されるか、値が欠落しているなど)、チャートとオプションの意味は同じである。

Automated feature transformations

Feature engineering is a key part of the modeling process. After pressing Start, DataRobot performs automated feature engineering on the given dataset to create derived variables in order to enhance model accuracy. See the table below for a list of feature engineering tasks DataRobot may perform during modeling for each feature type:

特徴量タイプ Automated transformations
Numeric and categorical
  • Missing Imputation (Median, Arbitrary)
  • Standardization
  • Search for ratios
  • Search for differences
  • Ridit Transform
  • DataRobot Smart Binning using a second model
  • Principal Components Analysis
  • K-Means Clustering
  • One hot encoding
  • Ordinal encoding
  • Credibility intervals
  • Category counts
  • Variational Autoencoder
  • Custom Feature Engineering for Numerics
日付
  • Month-of-year
  • Day of week
  • Day of year
  • Day of month
  • Hour of day
  • Year
  • Month
  • Week
テキスト
  • Character / word ngrams
  • Pretrained tinyBERT featurizer
  • Stopword removal
  • Part of Speech Tagging / Removal
  • TF-IDF scaling (optional sublinear scaling and binormal separation scaling)
  • Hashing vectorizers for big data
  • SVD preprocessing
  • Cosine similarity between pairs of text columns (on datasets with 2+ text columns)
  • Support for multiple languages, including English, Japanese, French, Korean, Spanish, Chinese, and Portuguese
画像 DataRobot uses featurizers to turn images into numbers:
  • Resnet50
  • Xception
  • Squeezenet
  • Efficientnet
  • PreResnet
  • Darknet
  • MobileNet

    • DataRobot also allows you to fine-tune these featurizers.
地理空間 DataRobot uses several techniques to automatically derive spatially-lagged features from the input dataset:
  • Spatial Lag: A k-nearest neighbor approach to calculate mean neighborhood values of numeric features are varying spatial lags and neighborhood sizes.
  • Spatial Kernel: Characterizes spatial dependence structure using a spatial kernel neighborhood technique. This technique characterizes spatial dependence structure for all numerica variables using varying kernel sizes, weighing by distance
DataRobot also derives local autocorrelation features using local indicators of spatial association to capture hot and cold spot of spatial similarity within the context of the entire input dataset.
DataRobot derives features for the following geometric properties:
  • MultiPoints: Centroid
  • Lines/MultiLines: Centroid, Length, Minimum bounding rectangle area
  • Polygons/MultiPolygons: Centroid, Perimeter, Area, Minimum bounding rectangle area

テキスト特徴量とカテゴリー特徴量の比較

DataRobotでは、人間の知識を介在させて、以下のようにテキスト特徴量とカテゴリー特徴量を区別しています。

  1. ユニーク数の行の数が列サイズの5%未満であるか、ユニーク数の行の数が60行未満である場合、列はカテゴリーと分類されます。

  2. DataRobotでは、Pythonの言語識別子であるlangidを使用して言語を検出します。 言語が検出されない場合は、列がカテゴリーとして分類されます。

  3. 言語は、「日本語・中国語・韓国語」と「英語およびその他の言語(「英語+」)」に分類されます。 次のチェック項目のうち少なくとも3つに合格した場合、特徴量はテキストとして分類されます。

    英語+

    • (Number of unique lines / total number of lines > 0.3)またはnumber of unique lines > 1000
    • 1行あたりの平均スペース数が1.5以上である。
    • 10%以上の行に4語以上の単語がある。
    • 最長の行に6語以上の単語がある。

    日本語・中国語・韓国語

    • (Number of unique lines / total number of lines > 0.3)またはnumber of unique lines > 1000
    • 平均的な行の長さが4文字以上である。
    • 10%以上の行に7文字以上の文字がある。
    • 最長の行に12文字以上の文字がある。

手動特徴量の変換では、自動割り当てをオーバーライドできますが、エラーが発生する可能性があるため、DataRobotでは変換プロセス中に注意が表示されます。

個の値が欠損しています

DataRobotでは、欠損値の処理はモデルや値のタイプに応じて異なります。 DataRobotで欠損値として認識および処理される例を以下に示します。

すべての特徴量に関する特殊なNaN値

  • null, NULL
  • na, NA, n/a, #N/A, N/A, #NA, #N/A N/A
  • 1.#IND, -1.#IND
  • NaN, nan, -NaN, -nan
  • 1.#QNAN, -1.#QNAN
  • ?
  • .
  • Inf, INF, inf, -Inf, -INF, -inf
  • None
  • One or more whitespace characters and empty cells are also treated as missing values.

以下のメモは、DataRobotでの値の処理について示します。

備考

The missing value imputation method is fixed during training time. Either the median or arbitrary value set during training will be provided at prediction time.

  • いくつかのモデルでは欠損値がネイティブに処理されるので、特別な処理は必要ありません。

  • 線形モデル(線形回帰やSVMなど)の場合、処理はケースに応じて異なります。

    • 中央値補完法:欠損していないトレーニングデータの中央値を使用して、欠損値が補完されます。 この処理により、ランダムに欠損しているデータが効果的に処理されます。
    • 欠損値フラグ:欠損値のある各特徴量に二値分類の「欠損値フラグ」が追加され、モデルで欠損値のパターンが体系的に認識され、モデルから学習されます。 この処理により、パターンに基づいた欠損データが効果的に処理されます。
  • ツリーベースのモデルでは、平均値ではなく任意の値(-9999など)で転嫁されます。 この方法では、可能な限り正確な結果を素早く得ることができます。

  • 全てのモデルのカテゴリー型特徴量では、欠損値はカテゴリーの別のレベルとして取り扱われます。

数値列

EDA時に特徴量の型が値に割り当てられます。 数値列では、値に3つのタイプがあります。

  1. 数値:整数または浮動小数点付きの数。
  2. 特殊なNaN値(上記の表を参照):数値ではありませんが、NaNを表すものとして認識されます。
  3. その他の全ての値:文字列やテキストデータなど。

特定の列が数値かどうかを決定する際にDataRobotで使用される規則、および予測時の列の処理方法を示します。

  • 厳密な数値:列に数値と特殊なNaN値しかない場合、列は数値として扱われます。 予測時に、同じNaN値は欠損値として受け入れられて予測が作成されます。 その他の値が存在する場合、エラーが発生します。

  • 許容される数値:列に数値、特殊なNaN値、およびその他の値(1つだけ)がある場合、その他の値は欠損値として扱われ、列は数値として処理されます。 予測時に、その他の全ての値は欠損値として扱われます(最初の値と異なるかどうかは関係ありません)。

  • カテゴリー:EDAの際、列に2つ以上のその他の値(数値以外とNaN以外)が見つかった場合、特徴量は数値ではなくカテゴリーとして処理されます。

  • EDAサンプリングの間にその他の値が処理されず、特徴量が数値として認識された場合、トレーニングの前(EDAの後)に、その列の完全なデータセットが"参照"されます。 完全なデータセットにその他の値が検出された場合、列は許容される数値として処理されます。 それ以外の場合は、厳密な数値として処理されます。


更新しました January 11, 2023
Back to top