係数(前処理)¶
サポートされているモデル(線形回帰およびロジスティツク回帰)では、係数タブには、最も有用な30個の特徴量の相対的な影響が、(デフォルトでは)最終的な予測への影響が大きい順に並べ替えて表示されます。 positive効果のある特徴量は赤色で表示され、negative効果のある特徴量は青色に表示されます。 選択したモデルで予測を生成するためにDataRobotで使われる パラメーターと係数をエクスポートできます。
係数チャートは、モデル結果の評価に役立てるため、下記を判断します。
- そのモデルでの予測形成にどの特徴量が選択されたのか?
- 各特徴量の重要性はどの程度なのか?
- どの特徴量がプラスやマイナスの影響を与えるのか?
係数タブは、限られたモデルに対してのみ利用可能であることに注意してください。なぜなら、複雑なモデルの係数を短い解析形式で導き出すことは必ずしも可能ではないからです。
ヒント
リーダーボード > 係数およびインサイト > 特徴量の影響チャートは、同一タイプの情報を表示します。 個々のモデルを調査しながら係数情報を表示するには係数タブを使用します。プロジェクト内の全ての該当モデルについて係数情報へのアクセスやその比較を行うには、各特徴量の係数チャートを使用します。
以下に説明するように、時系列プロジェクトには、予測距離に基づいて表示をフィルターする追加のオプションがあります。
係数チャート出力のさらに詳しい検討方法については、下記を参照してください。
係数チャートの使用¶
係数タブを操作するには:
-
ソート条件ドロップダウンをクリックし、特徴量の係数または特徴量名のいずれかのソート条件を設定します。
- 特徴量の係数:最終的予測への影響の大きいものから小さいものへ(降順)並べ替えます。
- 特徴量名:特徴量をアルファベット順に並べ替えます。
-
エクスポートボタンをクリックすると表示されるポップアップ画面から、チャートPNGもしくは特徴量係数を含むCSVファイル、またはその両方をZIPファイル形式でダウンロードすることができます。
ヒント
モデルで格付表(GAMおよびGA2Mなど)を作成できる場合、CSVのダウンロードオプションは使用できません。 代わりに、格付表タブを使用します。 (これらのモデルは、リーダーボード上で格付表アイコンによって識別されます。)
-
メインモデルで2ステージのモデリングプロセス(頻度-強度Elastic Netなど)を使用する場合、ドロップダウンを使用してステージを選択できます。 選択したステージに対応するパラメーターがグラフ化されます。
前処理とパラメータービュー¶
前処理情報とともに係数をエクスポートすると、選択したモデルの予測を再現するために必要なデータが得られます。 リンクをクリックすると、サポート対象のモデルの入力データ用にモデルパラメーター(適用される特徴量変換の係数および値)のテーブルが生成されます。 係数タブに表示されるすべてのモデルの係数をエクスポートすることが可能ですが、タブに表示されるすべてのモデルには前処理情報をエクスポートできないものがあります。 その後、モデルのパラメーター、変換、および係数情報を含むCSVテーブルがDataRobotによって構築されます。 DataRobotモデルの検証の結果を手動でレプリケーションする場合など、前処理情報と係数を使用する多くの理由があります。
出力の生成¶
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のエクスポート機能を提供します。以下に例を示します。
- 一般化線形モデル
- ElasticNet Classifier
- ElasticNet Regressor
- Regularized Logistic Regression
DataRobotは、下記の変数変換(下記で詳しく説明します)をサポートしています。
- 数値の補完
- Constant splines
- 多項式およびログ変換
- 標準化
- One-hot encoding
- ビニング
- トークン出現の行列
一般的に、複雑な独自の前処理技法はエクスポートできません。 たとえば、補完はエクスポートできますが、多項式スプラインをエクスポートすることはできません。 以下の例では、両方のモデルは同じモデルタイプですが、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がそれに対して適用する変換を記述します。 たとえば、以下のようにサンプルを読むことができます。
- 「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」または「文書索引語行列」とも呼ばれます)変換が使用されます。
詳細:ワードクラウドの係数値
表示される係数値は、線形モデル係数の再スケーリングです。 つまり、DataRobotは行をモデル化し、そのすべてのngramをminimum in the negative box = -1
係数とmaximum in the positive box = 1
係数と一致するように変更します。 その場合、係数値はこれらの観測値のパーセンテージになります。
係数/前処理出力を生成するとき、テキスト前処理パラメーターが他のパラメーターとともにエクスポートされます。
テキスト処理が行われる際、DataRobotは、変換名を接頭辞に付ける形で、使用したパラメーターをヘッダ部分に表示します。 新たなテキスト行からデータセット列を作成する際、これらの「指示」が必要となります。 変換名として考えられる値(逆文書頻度(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ノルムを使用して行ごとの正規化を適用します。 |
パラメーターテーブルの各行は、トークンを表します。 パラメーターテーブルにリストされている係数を使用して新規データで予測を生成するには、最初に文書索引語行列を作成する必要があります(行列は抽出された特徴量です)。
テキストから特徴量を作成するには:
-
新規データセット行内の各トークンの出現数(単語頻度、
)を数えます。 バイナリがTrueの場合、各トークンに対する値は0(存在しない)または1(存在する)です。 バイナリがFalseの場合、出現は実際のトークンカウント数です。 -
sublinear_tf
がtrueの場合、1 + log(tf)
の変換をトークンカウントに適用します。 -
use_idf
がtrueの場合、トークンにIDF加重を適用します。 変換に対するIDF加重は、エクスポートの値フィールドで確認できます。 たとえば、タプル(心臓, 0.01)内で乗数0.01を使用します。 -
正規化が使用された場合には、適切な基準を使用し、結果の特徴量ベクターを正規化します。
データセット用にテキスト特徴量を抽出した時点で、線形モデルの係数を使用し、予測を生成することができます。
前処理の詳細¶
以下のセクションは、パラメーター表から予測を再現する際にDataRobotで使用されるルーチンの説明です。
数値の補完¶
欠損の補完は、数字による特徴量の欠損値を数字(値)で補完します。
値:数値 変数の例:3.1415926
標準化¶
標準化は、平均とスケーリングを除去することにより、特徴量を単位変数へ標準化します。
x' = (x - mean) / scale
値:(中央値、スケール) 変数の例:(0.124072727273, 0.733724343942)
Constant splines¶
定数スプラインは、数値型特徴量を部分的に一定のスプラインベース展開に変換します。 派生した特徴量は、元の値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回帰など)が使用されている場合、係数は均等目盛ではなく対数目盛です。
One-hot encoding¶
カテゴリー特徴量のワンホット(すなわちダミー変数)変換。
-
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)
トークン出現の行列¶
生テキストフィールドを文書ターム行列に変換します。
値:tokenまたは(token、weight) 値の例:appleまたは、逆文書頻度 加重(apple, 0.1)