モデルのレビューと改良
最初のバージョンのモデル トレーニングが終了したら、その結果得られたモデル メトリクスを分析し、必要な結果が得られるまで新しいバージョンの実験を設定します。
実験バージョンを実行すると、 [モデル] タブに移動し、結果のモデル メトリクスの分析を開始できます。[データ] タブに戻ると、 [スキーマ ビュー] と [データ ビュー] にアクセスできます。より詳細な分析は、 [比較] タブと [分析] タブで実行できます。
すべてのメトリクスが [モデル メトリクス] テーブルに入力され、上位モデルの横にトロフィー アイコンが表示されると、トレーニングの最初のバージョンが終了したことがわかります。
v1 からのモデルの分析
[モデル] タブに戻ります。モデル メトリクス テーブルでは、最上位のモデルにトロフィー アイコンが付けられます。これは、F1 スコアに基づくパフォーマンス最上位のモデルであることを意味します。
パフォーマンス最上位の v1 モデルを示す [モデル メトリクス] テーブル

[モデル] タブに戻ります。モデル メトリクス テーブルでは、最上位のモデルにトロフィー アイコンが付けられます。これは、F1 スコアに基づくパフォーマンス最上位のモデルであることを意味します。
F1 列ヘッダーをクリックして、高いものから低いものへ、パフォーマンス順でモデルを並べ替えます。パフォーマンスの低いアルゴリズムを除外するか、最も優れたアルゴリズムのみに焦点を当てて次のトレーニングを反復することで、より高速に結果を得ることができます。これについては、後のセクションで v3 を構成する際に説明します。
データ漏洩の特定
ページの右側にある [モデルの洞察] チャートを確認します。これらのチャートは、各特徴量の相対的な重要度とモデルのパフォーマンスを示しています。
Permutation Importance チャートと、 [実験構成] ペインの特徴量リストから、モデルのこの最初の反復が DaysSinceLastService 特徴量に非常に大きく依存していることがわかります。他のすべての特徴量は、それと比較するとほとんど重要ではありません。
データ漏洩を示す、 [モデル] タブの [Permutation Importance] チャート

この不均衡と、F1 パフォーマンスのスコアが極めて高いモデルは、何らかの不具合の兆候と捉える必要があります。この場合、データ収集時に、サブスクリプションをキャンセルした顧客の最後のサービス チケットからの日数のカウントを停止するロジックが定義されていませんでした。その結果、最後のサービス チケットからの日数が多い (数年前にキャンセルした顧客) ことを、Churned 項目の yes の値と関連付けることをモデルは学習しました。
実際のシナリオでは、モデルは予測するまでの情報にしかアクセスできず、この項目に含まれる日数はその測定ポイントを過ぎてから収集されたものなので、これはデータ漏洩の一例となります。この問題はターゲット漏洩と呼ばれ、データ漏洩の一種です。データ漏洩に関する詳細については、データ漏洩を参照してください
「漏洩」特徴量である DaysSinceLastService は、モデルの結果に歪みを与えるため、実験構成から削除する必要があります。実際のユース ケースでは、モデルを作成する前にデータの品質とロジックを十分に調査して、モデルの結果が適切にトレーニングされるようにする必要があることにも注意してください。
この問題については、v2 を構成する際に説明します。
バージョン 2 の構成と実行
データ漏洩に対処するために新しいバージョンを構成しましょう。
次の手順を実行します。
-
[構成を見る] をクリックして、実験構成パネルを展開します。
-
[新しいバージョン] をクリックします。
-
パネルの [特徴量] で、DaysSinceLastService チェックボックスをオフにします。
-
[Run v2] (v2 を実行) をクリックします。
v2 の DaysSinceLastService を削除します

v2 からのモデルの分析
2 番目のバージョンの実験が終了したら、 [モデル メトリクス] テーブルで、パフォーマンス最上位の v2 モデル (トロフィー アイコンが付いている) の横のチェックボックスをクリックします。これにより、そのモデルのメトリクスでページが更新されます。
トレーニングとホールドアウトのメトリクスを比較する
追加のメトリクスを表示し、クロス検証トレーニングとホールドアウトのメトリクスを比較できます。
次の手順を実行します。
-
実験で、 [比較]タブに切り替えます。
組み込み型分析が開きます。インタラクティブなインターフェイスを使用すると、比較モデル分析をさらに深く掘り下げて、新たなインサイトを発見できます。
-
分析の右側にある [シート] パネルで、 [Details] シートに切り替えます。
-
Model Metrics テーブルを確認します。F1 などのモデル スコアリング メトリクスやその他の情報が表示されます。
-
トレーニングのバージョン 1 はターゲット漏洩の影響を受けていたため、v2 のみに焦点を当てます。シートの右側にある Version フィルター パネルを使用して、値 1 を選択します。
-
Columns to show セクションでは、フィルター パネルを使用してテーブル内の列を追加および削除します。
-
ドロップダウン リスト ボックスで、追加のメトリクスを追加します。各メトリクスのトレーニング スコアは、Train で終わる値として表示されます。いくつかのトレーニング メトリクスをテーブルに追加します。
クロス検証トレーニングからの F1 メトリクスが表示され、ホールドアウト メトリクスと比較できるようになりました。
ホールドアウトスコアと比較するためのトレーニング スコアの追加と表示

重要度の低い特徴量の特定
次に、Permutation Importance が低い特徴量があるかどうかを確認します。予測精度を向上させるには、モデルにほとんど影響を与えない、またはまったく影響を与えない特徴量を削除する必要があります。
次の手順を実行します。
-
実験で、 [モデル]タブに戻ります。
-
Permutation Importance チャートを確認します。下の 4 つの特徴量 (StartMonth、DeviceType、CustomerTenure、Territory) は、他の特徴量に比べてモデルに与える影響がはるかに小さくなります。このユース ケースには価値がほとんどなく、統計的ノイズと見なすことができます。
v3 では、これらの特徴量を削除して、モデルのスコアが改善するかどうかを確認できます。
パフォーマンス最上位の v2 モデルが選択された [モデル] タブ。[Permutation Importance] チャートは、モデルにほとんど影響を与えない、またはまったく影響を与えない特徴量があることを示しています。

パフォーマンスが低いアルゴリズムを特定する
[モデル メトリクス] テーブルを確認して、v3 トレーニングからアルゴリズムを削除できるかどうかを確認することもできます。モデルを改良するときにパフォーマンスの低いアルゴリズムを削除することで、その後の反復でトレーニングをより高速に実行できるようになります。
-
実験で、 [モデル]タブに戻ります。
-
[モデル メトリクス] テーブルで、 [バージョン] フィルターを使用して、v2 のモデルのみを表示します。
-
各 [アルゴリズム] の [F1] スコアを確認します。特定のアルゴリズムが他のアルゴリズムよりも大幅に低いスコアのモデルを作成している場合、次のバージョンからそのアルゴリズムを削除できます。
バージョン 3 の設定と実行
次の手順を実行します。
-
[構成を見る] をクリックして、実験構成パネルを展開します。
-
[新しいバージョン] をクリックします。
-
パネルの [特徴量] で、StartMonth、DeviceType、CustomerTenure、Territory のチェックボックスをオフにします。
-
必要に応じて、 [アルゴリズム] を展開し、 [ガウシアン ナイーブ ベイズ] および [ロジスティック回帰] のチェックボックスをオフにします。
-
[Run v3] をクリックします。
v3 からのモデルの分析
v3 を実行した後、 [モデル メトリクス] テーブルから [バージョン] フィルターをクリアできます。v3 からパフォーマンス最上位のモデルを選択します。
すべてのバージョンのモデルを簡単に比較してみましょう。
最初のバージョンのトレーニングでは最高のスコアが獲得できましたが、これらのメトリクスはデータ漏洩の問題に起因する、非常に誇張された非現実的なパフォーマンスの予測でした。v3 では、パフォーマンス最上位モデルの F1 スコアはパフォーマンス最上位 v2 モデルのスコアから上昇しました。
3 つのバージョンにまたがるモデルの F1 スコアを並べ替えた [モデル メトリクス] テーブル。重要度の低い特徴量を削除した後、v3 では F1 スコアが向上しました。

前述のように、モデル スコアをより詳細に比較するには、 [比較] タブに切り替えます。
特定のモデルに焦点を当てる
モデル分析のどの時点でも、個々のモデルの詳細な分析を実行できます。インタラクティブな Qlik Sense エクスペリエンスを使用して、予測精度、特徴量重要度、特徴量の分布を調べます。
次の手順を実行します。
-
パフォーマンス最上位の v3 モデルを選択した状態で、 [分析] タブをクリックします。
組み込み型分析が開きます。
-
Model Overview シートを使用すると、モデルの予測精度を分析できます。選択機能によって分析が強化されます。特徴量または予測値をクリックして選択します。組み込み型分析のデータは、データをフィルタリングするために調整されます。特定の特徴量値と範囲をドリルダウンして、特徴量の影響と予測精度がどのように変化するかを確認できます。
-
他のシートに切り替えると、予測精度、特徴量分布、影響分布 (SHAP) のビジュアライゼーションを表示できます。この分析コンテンツは、次のことに役立ちます。
-
データの傾向に影響を与える主要な要因を明らかにする。
-
特定の特徴量やコホートが予測値と予測精度にどのように影響しているかを特定する。
-
データ内の外れ値を特定する。
-
ML 実験の [分析] タブ

次のステップ
現実のシナリオでは、特定のユース ケースに最適なモデルを作成するために、モデルを展開する前にこういった改良のステップを何度も繰り返すことが重要です。
このチュートリアルでは、モデルの展開に関する次のセクションに移動します。