RegressionSolutionVersion - グローバル

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:16分
  • RegressionSolutionVersion API は、予測インテリジェンス ストアで使用されるスクリプト可能なオブジェクトです。

    この API には 予測インテリジェンス プラグイン (com.glide.platform_ml) が必要です。この API は sn_ml 名前空間内で提供されます。

    この API は、RegressionSolution ストア内の RegressionSolution API オブジェクトに基づくソリューション バージョンを操作する場合に使用します。

    ソリューション定義をトレーニングするたびに、ソリューションのバージョンが作成されます。ほとんどのバージョンは、スケジュール設定済みのソリューショントレーニング中に作成されます。

    この API のメソッドは、次の ClassificationSolution メソッドを使用してアクセスできます。

    RegressionSolutionVersion - getProperties()

    ソリューションオブジェクトプロパティを取得します バージョン番号

    表 : 1. パラメーター
    名前 タイプ 説明
    なし
    表 : 2. 返される内容
    タイプ 説明
    オブジェクト データセットのコンテンツと RegressionSolution のバージョンの詳細。結果はオブジェクトプロパティのセットアップによって異なります。
    {
      "datasetProperties": {Object},
      "domainName": "String",
      "encoder": {Object},  
      "inputFieldNames": [Array],
      "isActive": Boolean,
      "label": "String",
      "name": "String",
      "predictedFieldName": "String",
      "predictedInterval": [Array],
      "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "versionNumber": "Number"
    }
    <Object>.datasetProperties

    ソリューションに関連付けられた DatasetDefinition() オブジェクトのプロパティを一覧表示します。

    {
      "encodedQuery": "String",
      "fieldDetails": [Array],
      "fieldNames": [Array],
      "tableName": "String"
    }
    <Object>.datasetProperties.tableName データセットのテーブルの名前。例:"tableName" : "Incident"

    データタイプ:文字列。

    <Object>.datasetProperties.fieldNames 指定されたテーブルからの文字列としてのフィールド名のリスト。例:"fieldNames" : ["short_description", "priority"]

    データタイプ:アレイ。

    <Object>.datasetProperties.fieldNames.fieldDetails フィールドプロパティを指定する JavaScript オブジェクトのリスト。
    [
      {
        "name": "String",
        "type": "String"
      }
    ]

    データタイプ:アレイ。

    <Object>.datasetProperties.fieldNames.fieldDetails.<object>.name このデータセットを制限する情報のタイプを定義するフィールドの名前。

    データタイプ:文字列。

    <Object>.datasetProperties.fieldDetails.<object>.type 機械学習フィールドタイプ。

    データタイプ:文字列。

    <Object>.datasetProperties.fieldDetails.encodedQuery 標準の Glide 形式のエンコードされたクエリ文字列。「 エンコードされたクエリ文字列」を参照してください。

    データタイプ:文字列。

    <Object>.domainName このデータセットに関連付けられたドメイン名。「ドメインセパレーション」および予測インテリジェンス「」を参照してください。

    データタイプ:文字列。

    <Object>.encoder このソリューションに割り当てられるエンコーダーオブジェクト。Encoder - Encoder(オブジェクト config)」を参照してください。

    データタイプ:オブジェクト。

    <Object>.inputFieldNames 文字列としての入力フィールド名のリスト。モデルは、次のフィールドを使用して予測を行います。

    データタイプ:文字列。

    <Object>.isActive このバージョンがアクティブかどうかを示すフラグ。
    有効な値:
    • true:バージョンはアクティブです。
    • false:バージョンはアクティブではありません。

    データタイプ:文字列

    <Object>.label 予測タスクを識別します。
    {
      "label": "my first prediction"
    }

    データタイプ:文字列。

    <Object>.name システムによって割り当てられた名前。

    データタイプ:文字列。

    <Object>.predictedFieldName 予測可能性についてトレーニングするフィールドを識別します。

    データタイプ:文字列。

    <Object>.predictedInterval 予測の信頼性レベルを指定する値の範囲。

    データタイプ:アレイ

    <Object>.processingLanguage 2 文字の ISO 639-1 言語コード形式の処理言語。

    データタイプ:文字列。

    <Object>.scope オブジェクトスコープ。現在、有効な値は global のみです。

    データタイプ:文字列

    <Object>.stopwords オプション。language プロパティ設定に基づいて自動的に生成される文字列のプリセットリスト。詳しくは、 カスタムストップワードリストの作成を参照してください。

    データタイプ:アレイ。

    <Object>.versionNumber のバージョン番号 RegressionSolution オブジェクト。

    次の例では、ストア内のアクティブなオブジェクトバージョンのプロパティを取得します。

    // Get properties
    var mlSolution = sn_ml.RegressionSolutionStore.get('ml_incident_categorization');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getProperties()), null, 2));

    出力:

    {
      "datasetProperties": {
        "encodedQuery": "",
        "fieldNames": [
          "short_description",
          "sourcedc",
          "targetdc",
          "dbsize",
          "duration"
        ],
        "tableName": "cloudinfratext"
      },
      "domainName": "global",
      "encoderProperties": {
        "datasetsProperties": [],
        "name": "wc_regression"
      },
      "inputFieldNames": [
        "short_description",
        "sourcedc",
        "targetdc",
        "dbsize"
      ],
      "isActive": "true",
      "label": "Regression Test for DB Restore",
      "name": "ml_x_snc_global_global_regression",
      "predictedFieldName": "duration",
      "processingLanguage": "en",
      "stopwords": [
        "Default English Stopwords"
      ],
      "versionNumber": "1"
    }

    RegressionSolutionVersion - getStatus(ブーリアン includeDetails)

    トレーニング完了ステータスを取得します。

    表 : 3. パラメーター
    名前 タイプ 説明
    includeDetails ブーリアン ステータス details を返すかどうかを示すフラグ。
    有効な値:
    • true:追加の詳細を返します。
    • false:追加の詳細を返しません。

    デフォルト:False

    表 : 4. 返される内容
    タイプ 説明
    オブジェクト RegressionSolution オブジェクト のトレーニングステータス情報を含む JavaScript オブジェクト
    {
      "state": "String",
      "percentComplete": "Number as a String",
      "hasJobEnded": "Boolean value as a String",
      "details": {Object}
    }
    <Object>.state トレーニング完了ステータス。トレーニングジョブがターミナルステータスに達した場合、ジョブはそのステータスを終了しません。ステータスがターミナルの場合、hasJobEnded プロパティは true に設定されます。
    可能な値:
    • fetching_files_for_training
    • preparing_data
    • 再試行
    • solution_cancelled (terminal)
    • solution_complete (terminal)
    • solution_error (terminal)
    • solution_incomplete
    • training_request_received
    • training_request_timed_out (terminal)
    • training_solution
    • Uploading_solution
    • waiting_for_training

    データタイプ:文字列

    <Object>.hasJobEnded トレーニングが完了したかどうかを示すフラグ。
    有効な値:
    • true:トレーニングは完了しました。
    • false:トレーニングは完了していません。

    データタイプ:文字列としてのブール値

    <Object>.percentComplete トレーニング完了率。完了率が 100 未満の場合、ジョブはターミナルステータスである可能性があります。たとえば、トレーニングがタイムアウトした場合などです。

    データタイプ:文字列としての数値

    範囲: 0 から 100

    <Object>.details 追加のトレーニングの詳細のリストを含むオブジェクト。

    データタイプ:オブジェクト

    次の例は、トレーニングが完了して成功した結果を示しています。

    // Get status
    var mlSolution = sn_ml.RegressionSolutionStore.get('ml_incident_categorization');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getStatus(true), null, 2)));

    出力:

    {
     "state":"solution_complete",
     "percentComplete":"100",
     "hasJobEnded":"true",
     "details":{"stepLabel":"Solution Complete"} // This information is only returned if getStatus(true);
    }

    次の例は、トレーニングが完了して失敗した結果を示しています。

    // Get status
    var solutionName = 'ml_x_snc_global_global_regression_solution';
    var mlSolution = sn_ml.RegressionSolutionStore.get(solutionName);
    var trainingStatus = mlSolution.getLatestVersion().getStatus();
    
    gs.print(JSON.stringify(JSON.parse(trainingStatus), null, 2));

    出力:

    {
     "state":"solution_error",
     "percentComplete":"100",
     "hasJobEnded":"true"
    }

    ClassificationSolutionVersion - getVersionNumber()

    ソリューションオブジェクトのバージョン番号を取得します

    表 : 5. パラメーター
    名前 タイプ 説明
    なし
    表 : 6. 返される内容
    タイプ 説明
    文字列 バージョン番号。

    次の例は、バージョン番号を取得する方法を示しています。

    // Get version number
    var mlSolution = sn_ml.RegressionSolutionStore.get('ml_incident_categorization');
    
    gs.print("Version number: "+JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getVersionNumber()), null, 2));

    出力:

    Version number: 1

    RegressionSolutionVersion - predict(オブジェクト input, オブジェクト options)

    予測の入力データを取得します。

    表 : 7. パラメーター
    名前 タイプ 説明
    入力 オブジェクト GlideRecord または、キーと値のペアとしてフィールド名と値を含む JSON オブジェクトのアレイ。
    オプション オブジェクト 予測結果をフィルタリングするためのオプションの値。
    {
      "apply_threshold": Boolean,
      "top_n": Number
    }
    options.apply_threshold ブーリアン ソリューションのしきい値をチェックして結果セットに適用するかどうかを示すフラグ。
    有効な値:
    • true:信頼性がしきい値より大きい結果を返します。
    • false:すべての結果を返します。

    デフォルト:true

    options.top_n 番号 指定されている場合、指定された予測の数までの上位の結果を返します
    表 : 8. 返される内容
    タイプ 説明
    オブジェクト sys_id または record_number でソートされた予測結果を含む JSON オブジェクト。
    {
        <identifier>: [Array]
    }
    <Object>.<識別子> 各予測結果の詳細を含むオブジェクトのリスト。

    データタイプ:オブジェクトのアレイ

    <identifier>: [
      {
        "confidence": Number,
        "predictedSysId": "String",
        "predictedValue": "String", 
        "threshold": Number
      }
    ]
    <Object>.<識別子>.<object>.confidence 予測に関連付けられた信頼性の値。例:53.84。

    データタイプ:数値

    <Object>.<識別子>.<object>.predictedSysId 予測値の sys_id。結果は、情報が予測されている任意のテーブルから取得できます。

    データタイプ:文字列

    <Object>.<識別子>.<object>.predictedValue 予測結果を表す値。

    データタイプ:文字列

    <Object>.<識別子>.<object>.threshold 予測に関連付けられた構成済みのしきい値の値。

    データタイプ:数値

    次の例は、predict() メソッドの予測結果を表示する方法を示しています。このメソッドは、 sys_id 別の GlideRecord を入力として受け取り、オプションのパラメーターを含めて、上位 3 つの結果に制限してしきい値を除外します。

    var mlSolution = sn_ml.RegressionSolutionStore.get('ml_incident_categorization');
    
    // single GlideRecord input
    var input = new GlideRecord("incident");
    input.get("<sys_id>");
    
    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;
    
    var results = mlSolution.getVersion(1).predict(input, options);
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));
    {
            "<sys_id/now_GR>": [
        {
          "confidence": 62.10782320780268,
          "threshold": 20.36,
          "predictedValue": "Clone Issues",
          "predictedSysId": ""
        },
        {
          "confidence": 6.945237375770391,
          "threshold": 16.63,
          "predictedValue": "Instance Administration",
          "predictedSysId": ""
        },
        {
          "confidence": 5.321061076300759,
          "threshold": 23.7,
          "predictedValue": "Administration",
          "predictedSysId": ""
        }
      ]
    }

    次の例は、predict() メソッドの予測結果を表示する方法を示しています。このメソッドは、 キーと値のペアを入力のフィールド名のアレイとして受け取り、オプションのパラメーターを含めて、上位 3 つの結果に制限してしきい値を除外します。

    var mlSolution = sn_ml.RegressionSolutionStore.get('ml_incident_categorization');
    // key-value pairs input
    var input = [{"short_description":"my email is not working"}, {short_description:"need help with password"}];
    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;
    var results = mlSolution.predict(input, options);
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));
    {
      "1": [
        {
          "confidence": 37.5023032262591,
          "threshold": 10.72,
          "predictedValue": "Authentication",
          "predictedSysId": ""
        },
        {
          "confidence": 24.439964862166583,
          "threshold": 23.7,
          "predictedValue": "Administration",
          "predictedSysId": ""
        },
        {
          "confidence": 11.736320486031047,
          "threshold": 100,
          "predictedValue": "Security",
          "predictedSysId": ""
        }
      ],
      "2": [
        {
          "confidence": 99,
          "threshold": 17.77,
          "predictedValue": "Email",
          "predictedSysId": ""
        },
        {
          "confidence": 3.182137005157543,
          "threshold": 10.72,
          "predictedValue": "Authentication",
          "predictedSysId": ""
        },
        {
          "confidence": 2.8773826570713514,
          "threshold": -1,
          "predictedValue": "Email (I/f)",
          "predictedSysId": ""
        }
      ]
    }