モデルの説明可能性

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:4分
  • モデルの説明可能性を使用して、モデルの予測に対する各入力フィールドの重要性を分析します。提供されたスクリプトを実行して、機能重要度のグラフィカル分析を含むワークフロー分類モデルを作成します。

    始める前に

    • このメソッドでは、ソリューション定義フォームの代わりにワークフロー分類ソリューション API を使用して、説明可能性が追加されたモデルを作成およびトレーニングします。ワークフロー分類モデルのコンポーネントの詳細については、「 分類ソリューションの作成とトレーニング」を参照してください。
    • 必要なロール:ml_admin または admin

    このタスクについて

    モデルの説明可能性は、トレーニング中にモデルの予測に影響を与える主要な特徴を特定するのに役立ちます。

    注:
    既存のモデルに説明可能性を追加することはできません。この方法では、スクリプトを使用して新しいワークフロー分類モデルを作成し、トレーニングします。分類ソリューションの作成をスクリプティングする方法の詳細については、「 ClassificationSolution - Global」を参照してください。

    手順で提供されるスクリプトは、説明可能性が true に設定されたモデルを作成してトレーニングします。新しいモデルのソリューションフォームに、[ 機能の重要性 (Feature Importance )] というラベルの付いた追加のタブが表示されます。このタブには、予測に対する各入力の相対的な寄与度のグラフが表示されます。ソリューションフォームで、[機能の重要性] タブが強調表示されています。[出力 (予測)] フィールドで値 [グローバル] が選択され、グラフの例が表示されます。

    手順

    1. 移動先 すべて > システム定義 > スクリプト - バックグラウンド.
    2. 計画されたモデルに従って、次のスクリプトのクエリフィルターとテーブル、フィールド、および変数の値を編集し、スクリプトを実行します。
      // Define a dataset
                          var myIncidentData = new sn_ml.DatasetDefinition({
                          'tableName': 'incident',
                          'fieldNames': ['category', 'short_description', 'sys_updated_by', 'assignment_group', 'description', 'priority'],
                          'encodedQuery': 'activeANYTHING'
                          });
                          
                          // Define a classification solution definition with explainability field
                          var mySolution = new sn_ml.ClassificationSolution({
                          'label': 'model explainability',
                          'dataset': myIncidentData,
                          'predictedFieldName': 'category',
                          'inputFieldNames': ['short_description', 'priority'],
                          //setting the explainability field to true.
                          'explainability': true,
                          });
                          
                          // Add solution to ClassificationSolutionStore
                          var my_unique_name = sn_ml.ClassificationSolutionStore.add(mySolution)
                          
                          // Submit training job
                          var solutionVersion = mySolution.submitTrainingJob();
                      
      注:
      このスクリプトのクエリフィルターとテーブル、フィールド、および変数名を独自の値に置き換えます。
    3. ML ソリューション [ml_solution] テーブルに移動し、 その [アクティブ ] フィールドの値を選択して新しいソリューションを開きます。
    4. ソリューションフォームで、[ 機能の重要性 ] タブを見つけて開きます。
      [機能の重要性] にドロップダウンリストが表示されます。

      [機能の重要性] タブで、出力フィールドに使用可能なクラスの範囲を含むドロップダウンリスト。

      • このドロップダウンリストのラベルは出力 (予測) フィールドの名前であるため、ラベルは各モデルに固有です。
      • ドロップダウンリストの値は、出力フィールドに使用可能な出力クラスと [ グローバル ] オプションを加えたものです。
      リストオプション説明
      グローバル すべての予測でモデルがどのように動作するかの概要を示し、各入力機能の全体的な影響を示します。

      [ グローバル ] を選択すると、すべての出力クラス全体の予測に対する入力フィールドの重要度を示すグラフが開きます。

      出力クラスの値 選択したクラスに対するモデルの動作のみに焦点を当て、入力特徴量がクラスごとに予測にどのように寄与するかを示します。

      可能な出力クラスの 1 つを選択して、そのクラスの予測に対する入力フィールドの重要度を示すグラフを開きます。

    5. ドロップダウンリストから値を選択して、グラフィカル分析を開始します。
      Y 軸は入力フィールドを示し、x 軸は各入力の数値的な重要度を示します。グラフのラベルには、ドロップダウンリストで選択したクラスが反映されます。[機能の重要性] タブで、可能な出力クラスの 1 つが選択されています。このクラスの予測に対する入力フィールドの重要性を示すグラフの例が表示されます。
      バーにカーソルを合わせると、各入力の重要度をパーセンテージで表示できます。

    タスクの結果

    正の重要度の値は、入力フィールドがモデルの予測スコアを増加することを意味します。負の値は、入力フィールドによって予測スコアが低下することを意味します。

    次のタスク

    重要度スコアの低い入力フィールドを削除することを検討してください。変更後にモデルを再トレーニングします。