係数(前処理)¶
係数タブは、ユーザーが特定モデルを精緻化および最適化する際に役立つ情報を視覚的に表示します。連続値モデルを使用している場合、係数タブは、最も有益性の高い30の特徴量の視覚的表現を提供します。これらの特徴量は、(デフォルトで)最終予測の有益性の高い順で表示されます。positive効果のある特徴量は赤色で表示され、negative効果のある特徴量は青色に表示されます。このタブには、サポート対象のモデルについて、選択されたモデルでDataRobotが予測を生成する際に使用するパラメーターと係数をエクスポートするためのリンクもあります。(エクスポートされる係数には、上位30の係数ではなく、全ての係数が含まれます。)
係数タブは、限られたモデルに対してのみ利用可能であることに注意してください。なぜなら、複雑なモデルの係数を短い解析形式で導き出すことは必ずしも可能ではないからです。
係数チャートは、モデル結果の評価に役立てるため、下記を判断します。
- そのモデルでの予測形成にどの特徴量が選択されたのか
- 各特徴量の重要性はどの程度なのか
- どの特徴量がプラスやマイナスの影響を与えるのか
ヒント
リーダーボード > 係数とインサイト > 各特徴量の効果のチャートには同じタイプの情報が表示されます。個々のモデルを調査しながら係数情報を表示するには係数タブを使用します。プロジェクト内の全ての該当モデルについて係数情報へのアクセスやその比較を行うには、各特徴量の効果チャートを使用します。
以下に説明するように、時系列プロジェクトには、予測距離に基づいて表示をフィルターする追加のオプションがあります。
係数チャート出力のさらに詳しい検討方法については、下記を参照してください。
係数チャートの使用¶
係数タブをクリックすると、係数チャートが開きます。利用可能なアクションには次が含まれます。
-
ソート条件ドロップダウンをクリックし、特徴量の係数または特徴量名のいずれかのソート条件を設定します。
- 特徴量の係数:最終的予測への影響の大きいものから小さいものへ(降順)並べ替えます。
- 特徴量名:特徴量をアルファベット順に並べ替えます。
-
エクスポートボタンをクリックすると表示されるポップアップ画面から、チャートPNGもしくは特徴量係数を含むCSVファイル、またはその両方をZIPファイル形式でダウンロードすることができます。
ヒント
モデルで格付表(GAMおよびGA2Mなど)を作成できる場合、CSVのダウンロードオプションは使用できません。代わりに、格付表タブを使用します。(これらのモデルは、リーダーボード上で格付表アイコンによって識別されます。)
-
メインモデルで2ステージのモデリングプロセス(頻度-強度Elastic Netなど)を使用する場合、ドロップダウンを使用してステージを選択できます。選択したステージに対応するパラメーターがグラフ化されます。
前処理とパラメータービュー¶
係数を事前データ処理情報とともにエクスポートすると、選択したモデルの予測モデルを再生成するために必要なデータを取得できます。リンクをクリックすると、サポート対象のモデルの入力データ用にモデルパラメーター(適用される特徴量の変換の係数および値)のテーブルが生成されます。係数タブが表示されているすべてのモデルに係数をエクスポートすることが可能ですが、このタブが表示されているすべてのモデルには前処理情報をエクスポートできないものがあります。その後、モデルのパラメーター、変換、および係数情報を含むCSVテーブルがDataRobotによって構築されます。DataRobotモデルの検証のために結果を手動でレプリケーションする場合など、前処理情報と係数を使用する多くの理由があります。
備考
この機能は、DataRobotバージョン2.8以前で作成されたモデルでは使用できません。
出力の生成¶
DataRobotは前処理情報とともに係数を自動生成します。生成された係数と事前データ処理情報は、サポート対象のいずれかのモデリングモードを使用するときに、サポート対象モデルすべてでエクスポートが可能です。
ヒント
対相互作用を使用する一般化加法モデル(GA2M)は一般的に保険業界で使用されていますが、エクスポート用に別の格付表が生成されます。詳細については、エクスポートおよびGA2Mのエクスポート出力の解釈のセクションを参照してください。
この機能を使用するには以下の手順に従います。
- リーダーボードの検索機能で「bi」を検索して、係数/前処理情報が使用可能な全てのモデルを一覧表示します。
- モデルパラメーターを表示するモデルを選択して展開します。
-
係数タブをクリックし、重要度の最も高いものから30の特徴量の視覚的表現を表示させます。エクスポートボタンをクリックして、使用可能なエクスポートオプションから.csvを選択します
-
ボックスに表示されたパラメーター情報を確認します。CSV形式でコンテンツを保存するには、ダウンロードボタンをクリックし、保存場所を選択します。
- (テキストのみのものか、数値特徴量やカテゴリー特徴量も同時に含んでいるかに関係なく)データにテキスト特徴量が含まれる場合、テキスト特徴量を伴う係数/前処理情報の使用のセクションに進んでください。
以下で、エクスポート出力の詳細な説明、およびその解釈の仕方に関する情報を参照してください。
さらに詳しい情報¶
以下のセクションでは以下に関する情報を説明します。
- 時系列プロジェクトの予測距離を設定します。
- 係数チャートを使用して作業を行うその他の方法。
- 係数/前処理エクスポートを使用する理由。
- サポートされているモデルタイプ。
- 出力の解釈。
- テキスト特徴量を伴う係数/事前データ処理情報の使用。
予測距離に基づくチャート表示¶
複数の予測距離で時系列モデリングデータセットを構築するとき、DataRobotでは多くの追加特徴量が作成されるので、すべての予測距離のパラメーターを同時に表示するとビューが非常に見にくくなります。ビューをシンプルにして読みやすくするには、予測距離セレクターを使用して単一の距離の係数を表示します。下矢印をクリックしてダイアログを展開するか、距離オプションの右矢印と左矢印をクリックして、距離を設定します。
さらに、パフォーマンスクラスター化および類似クラスター化モデルが構築された複数系列モデリングのチャートでは、各クラスターで見つかった系列の数を示すクラスター情報が表示されます(最大20クラスター)。この情報は係数および透過パラメーターから記述が可能で、DataRobot以外でのユーザーがコード化したインサイトの生成をサポートできます。たとえば、この情報を使用して、特定のクラスターの系列だけを含む新しいデータセットを作成して、XGBモデルを使用してほとんどの結果を再生成できます。その他の非クラスター複数系列モデルの場合、表示は上記の説明と同じです。
クラスターごとの情報がUIに大量に表示されるような多くの系列を含むデータセットをサポートするには、CSVへのエクスポートオプションを使用します。エクスポートすると、関連付けられたクラスターにすべての系列IDが完全にマップされます。
係数チャートの理解¶
係数チャートを開き、ランクごとに並べ替えた状態で、下記について検討します。
-
モデルに非常に強い影響を与える特徴量を注意深く見て、モデルが応答に依存していないことを確認します。ターゲットリーケージを防ぐため、それらの特徴量をモデルから除外することを検討します。
-
特徴量の中に、DataRobotにより生成された数あるモデルのうちの一つだけに含まれている特徴量がないか確認します。あれば、それは特に重要な特徴でないかもしれません。特徴量セットからそれを除外することで、モデル構築や将来予測の最適化が促されることがあります。
-
データセットとモデルの両方をよく調べ、あるモデル内で特にプラス効果を及ぼしている特徴量や、別のモデル内で特にマイナス効果を及ぼしている特徴量があれば、それらを吟味します。
-
モデルで検討する特徴量の数を減らします。こうすることで、他の各特徴量の相対的な重要度が変更する場合があります。特徴量セットの項目を減らしながら、各特徴量の重要度がどのように変化するか比較しながら作業を行うとよいでしょう。
エクスポートする理由¶
DataRobotが使用する係数を表示およびエクスポートして、予測を生成すると便利、あるいは必要な場合があります。この機能は、下記の作業を行う必要がある際に適しています。
-
規制上の制約を観察する
-
DataRobotを使用せずに予測ソリューションを展開するこのような状況は、DataRobotの使用が禁止されている環境、またはDataRobotの使用が可能でない環境において見られることがあります(銀行やビデオゲームなどのオフラインデプロイなど)。
-
係数を調節し、モデル構築を制御する
-
パラメーター精度を手動で計算して、変換プロセスを点検する必要なしに、パラメーター精度を素早く検証する
ユースケース例:モデルインサイトの強化
係数/事前データ処理情報は、乳がん患者の生存率のモデルを作成する際に有用です。パラメーターを基に、下記を把握できるかもしれません:
- 類似のリスクとしてどの年齢層と、どの年齢層をグループ化するか
- 類似のリスクとしてどの腫瘍の大きさと、どの腫瘍の大きさをグループ化するか、またリスクが突然増加するのはどの時点か
ユースケース例:規制上の開示
韓国の規制当局は、銀行が使用するすべてのモデルの係数とデータ前処理ステップを要求します。銀行は、DataRobotを使用して係数の出力を提出できます。
モデル構築のためDataRobotで行われる(およびモデルブループリント内で説明される)手順を再現するには、使用される数式を把握する必要があります。係数タブからのエクスポートには、モデルがどのように機能するのか詳細を説明する係数および変換の説明が含まれます。
ユースケース例:テキストを基にしたインサイト
DataRobotでは、テキスト列を含むデータセットを使用できるので、特定のテキスト前処理パラメーターのダウンロードが可能です。この機能は、例えば、DataRobotモデルによって選択されたダイレクトマーケティング顧客に合わせてマーケティングキャンペーンのメッセージを調節する目的などに使用するとよいでしょう。テキスト前処理では、モデリングプロセスで使用した派生した特徴量を調査して、選択した顧客に関する直感的な理解を得ることができます。
サポート対象のモデルタイプ¶
係数/前処理エクスポート機能は、DataRobotの線形モデルをサポートしています。このモデルは、簡単でポータブルなパラメーターテーブルで簡単に記述できます。そのようなパラメーターテーブルを使用すると、特定のイベントを予測する際に年齢が最も重要な特徴量であることなどを理解できます。複雑な非線形モデルはDataRobotのその他の組み込みツールを使用して調査できます。特徴量のインパクト、特徴量ごとの予実または特徴量ごとの作用、および予測の説明の各タブから利用できます。
DataRobotは、正則化あり及び正則化なしのGLMのエクスポート機能を提供します。以下に例を示します。
- Generalized Linear Model
- Elastic-Net Classifier
- Elastic-Net Regressor
- Regularized Logistic Regression
DataRobotは、下記の変数変換(下記で詳しく説明します)をサポートしています。
- 数値の補完
- 定数スプライン
- 多項式およびログ変換
- 標準化
- ワンホットエンコーディング
- ビニング
- トークン出現の行列
一般的に、複雑な独自の前処理技法はエクスポートできません。たとえば、補完はエクスポートできますが、多項式スプラインをエクスポートすることはできません。以下の例では、両方のモデルは同じモデルタイプですが、2番目のモデルでは一様化線形モデル処理が使用されています。 これは、前処理の理由によりエクスポートできません。
DataRobotでは、Eureqaモデルの数式をエクスポートできますが、現在、係数のエクスポートはサポートしていません。
エクスポート出力の解釈¶
係数/前処理出力からの抜粋を以下に示します。
1 Intercept: 5.13039673557
2 Loss distribution: Tweedie Deviance
3 Link function: log
4
5 Feature Name Type Derived Feature Transform1 Value1 Transform2 Value2 Coefficient
6 a NUM STANDARDIZED_a Missing imputation 59.5000 Standardize (56.078125,31.3878483092) 0.3347
7 b NUM STANDARDIZED_b Missing imputation 24.0000 Standardize (24.71875,15.9133088463) 0.2421
この例では、切片、損失分布およびリンク関数パラメーターは、特定の特徴量ではなくモデル全般を記述します。表内の各行は、1つの特徴量と、DataRobotがそれに対して適用する変換を記述します。例えば、以下のようにサンプルを読むことができます。
- 1.「a」(行#6)という名前の付いた特徴を取り、欠損している値を59.5という数字に置き換えます。
- 標準化された変換数式の平均(56.078125)および標準偏差(31.3878483092)を値に適用します。
- 結果(派生した特徴量)を「STANDARDIZE_a」という列に書き込みます。
- 特徴量「b」に対しても同様の手順を行います。
このモデルから生成された予測は、以下の公式で計算されます。ここで、inverse_link_function
は指数関数(対数の逆数)です。標準化された_a
および_b
は、それぞれの係数(モデル出力)で乗算された後、切片値に加算されます。
resulting prediction = inverse_link_function( (STANDARDIZE_a * 0.3347) + (STANDARDIZE_b * 0.2421) + 5.13)
メインモデルで2ステージモデリングプロセス(頻度-強度Elastic Netなど)を使用する場合、2つの追加の列(Frequency_Coefficient
とSeverity_Coefficient
)に各ステージの係数が示されます。
テキスト特徴量を伴う係数/前処理情報¶
データセットに含まれるテキストは、テキスト処理により、DataRobotモデルで使用可能な形式に変換することができます。DataRobotでは、トークン出現の行列(「bag of words」または「文書索引語行列」とも呼ばれます)変換が使用されます。係数/前処理出力を生成するとき、テキスト前処理パラメーターが他のパラメーターとともにエクスポートされます。
テキスト前処理が行われる際、DataRoboは、変換名を接頭辞に付ける形で、使用したパラメーターをヘッダ部分に表示します。新たなテキスト行からデータセット列を作成する際、これらの「指示」が必要となります。変換名として考えられる値(逆文書頻度(IDF) 加重を伴うか否かにかかわらず)は、次の通りです。
- word-gram出現の行列[tfidf]
- word-gramの行列[tfidf]
- char-gram出現の行列[tfidf]
- char-gramカウントの行列[tfidf]
パラメーターエクスポートを作成するときにDataRobotで使用されるパラメーター(key-valueフィールド)を以下の表に示します。これらの値はファイルの最上部に表示されます。
パラメーター名 | 値 | 説明 |
---|---|---|
トークナイザー | 名前 | トークン化手順を実行するのに使用される外部ライブラリを指定します(例、scikit-learnに基づくトークナイザー)。 |
二値分類 | TrueまたはFalse | Trueの場合、ターム頻度をバイナリ値に変換します。Falseの場合、変換は行われません。 |
sublinear_tf | TrueまたはFalse | Trueの場合、変換1 + log(tf)をターム頻度に適用します。Falseの場合、ターム頻度カウントは修正されません。 |
use_idf | TrueまたはFalse | Trueの場合、IDF加重をタームに適用します。Falseの場合、加重要素は変更されません。 |
norm | L1、L2、またはNone | L1またはL2の場合、L1またはL2基準を用いたrow-wise正規化を適用します。 |
パラメーターテーブルの各行は、トークンを表します。パラメーターテーブルにリストされている係数を使用して新規データで予測を生成するには、最初に文書索引語行列を作成する必要があります(行列は抽出された特徴量です)。
テキストから特徴量を作成するには
-
新規データセット行内の各トークンの出現数(ターム頻度、
)を数えます。バイナリがTrueの場合、各トークンに対する値は0(存在しない)または1(存在する)です。バイナリがFalseの場合、出現は実際のトークンカウント数です。 -
sublinear_tf
がtrueの場合、1 + log(tf)
の変換をトークンカウントに適用します。 -
use_idf
がtrueの場合、トークンにIDF加重を適用します。変換に対するIDF加重は、エクスポートの値フィールドで確認できます。例えば、タプル(心臓, 0.01)内で乗数0.01を使用します。 -
正規化が使用された場合には、適切な基準を使用し、結果の特徴量ベクタを正規化します。
データセット用にテキスト特徴量を抽出した時点で、線形モデルの係数を使用し、予測を生成することができます。
前処理の詳細¶
以下のセクションは、パラメーター表から予測を再現する際にDataRobotで使用されるルーチンの説明です。
数値の補完¶
欠損の補完は、数字による特徴量の欠損値を数字(値)で補完します。
値:数値 値の例:3.1415926
標準化¶
標準化は、平均を除去して、単位分散へとスケーリングすることで、特徴量を標準化します:
x' = \(x - 平均\) / スケール
値:(中央値、スケール) 値の例:(0.124072727273, 0.733724343942)
定数スプライン¶
定数スプラインは、数値型特徴量を部分的に一定のスプラインベース展開に変換します。派生した特徴量は、元の値x
が間隔内にある場合、1.0に等しくなります:
a < x <= b
さらに、元の特徴量内のN/Aは、value
が "(NA用初期設定)"マーカーで終わる場合、派生した特徴量内で1.0を設定します。
値:(a, b] 値の例:(-inf, 8.5], (8.5, 12.5], (12.5, inf)
多項式およびログ変換¶
最良の変換により、数式が元の特徴量に適用されます。
数式に log
が含まれる場合、負の数字は、他の正の数字の中央値に置き換えられます。
値:元の特徴量上で動作する数式。値の例:log(a)^2, foo^3
備考
ターゲットが対数変換されている場合、またはモデルで対数リンク(Gamma、Poisson、またはTweedie回帰など)が使用されている場合、係数は均等目盛ではなく対数目盛です。
ワンホットエンコーディング¶
カテゴリー特徴量のワンホット(すなわちダミー変数)変換。
-
value
が文字列の場合、派生した特徴量は、元の特徴量が値に等しいときは常に、1.0を含みます。 -
value
が「欠損値」の場合、派生した特徴量は、元の特徴量がN/Aのときは、1.0を含みます。 -
value
が「その他の分類」の場合、派生した特徴量は、元の特徴量が上記のいずれにも該当しないときは、1.0を含みます。
値:文字列または Missing value
またはOther categories
値の例:「MA」、欠損値
ビニング¶
ビニングは、数字による特徴量を非均一ビンに変換します。
各ビンの境界線は、value
内で指定された2つの数字により定義されます。派生した特徴量は、元の値x
が間隔内にある場合、1.0に等しくなります:
a < x <= b
値:(a, b] 値の例:(-inf, 12.5], (12.5, 25], (25, inf)
トークン出現の行列¶
生テキストフィールドを文書ターム行列に変換します。
値:トークンまたは(トークン、加重) 値の例:appleまたは逆文書頻度加重により(apple, 0.1)