PredictabilityEstimate - グローバル

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:18分
  • PredictabilityEstimate API は、予測インテリジェンス ストアで使用されるスクリプト可能なオブジェクトです。このオブジェクトは、データセットのフィールドがどの程度予測可能か、またそのフィールドの予測にどの機能が役立つかという推定を提供します。

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

    予測可能性推定のセットアップからトレーニングまでのフローは次のとおりです。
    1. DatasetDefinition API を使用してデータセットを作成します。
    2. コンストラクターを使用して予測可能性推定オブジェクトを作成します。
    3. PredictabilityEstimateStore - add() メソッドを使用して、予測可能性推定オブジェクトを予測可能性推定ストアに追加します。
    4. submitTrainingJob() メソッドを使用して予測可能性推定をトレーニングします。これにより、PredictabilityEstimateVersion API を使用して管理できるオブジェクトのバージョンが作成されます。
    5. PredictabilityEstimateVersion – getResults() メソッドを使用して推定予測値を取得します。
    注:
    この API は全権限で実行します。ユーザーのアクセスを制限するには、スクリプトにアクセス制御メカニズムを含めます。

    使用上のガイドラインについては、「 ML API の使用」を参照してください。

    PredictabilityEstimate - PredictabilityEstimate(オブジェクト config)

    予測可能性推定を作成します。

    同じデータセットで新しい予測可能性推定を取得するには、このコンストラクターを使用し、一意の名前で新しい PredictabilityEstimate オブジェクトを作成します。

    表 : 1. パラメーター
    名前 タイプ 説明
    config オブジェクト の構成プロパティを含む JavaScript オブジェクト 予測可能性の推定。
    {
      "dataset": {Object},
      "domainName": "String",
      "inputFieldNames": [Array],
      "label": "String",
      "minRowCount": "String",
      "predictedFieldName": "String",
      "trainingFrequency": "String"
    }
    config.dataset オブジェクト DatasetDefinition 名。
    config.domainName 文字列 オプション。このデータセットに関連付けられたドメイン名。「ドメインセパレーション」および予測インテリジェンス「」を参照してください。

    デフォルト:現在のドメイン。例:"global"

    config.inputFieldNames アレイ 推定の際に考慮される入力フィールド候補 (文字列) のリスト。
    config.label 文字列 予測タスクを識別します。
    config.minRowCount 文字列 オプション。トレーニング用のデータセットに必要なレコードの最小数。

    デフォルト:10000

    config.predictedFieldName 文字列 予測可能性についてトレーニングするフィールドを識別します。
    config.trainingFrequency 文字列 オプション。 モデルを再トレーニングする頻度。
    可能な値:
    • every_30_days
    • every_60_days
    • every_90_days
    • every_120_days
    • every_180_days
    • run_once
    デフォルト:run_once

    次の例は、推定ジョブを作成して PredictabilityEstimate ストアに追加する方法を示しています。

    var myIncidentData = new sn_ml.DatasetDefinition({
      'tableName' : 'incident',
      'encodedQuery' : 'activeANYTHING'
    });
    
    var myEstimate = new sn_ml.PredictabilityEstimate({
      'label': "predictability estimate",
      'dataset' : myIncidentData,
      'inputFieldNames':['short_description'], 
      'predictedFieldName': 'category'
    });
    
    var myEstimateName = sn_ml.PredictabilityEstimateStore.add(myEstimate);

    PredictabilityEstimate - cancelTrainingJob()

    のジョブをキャンセルします。 予測可能性推定オブジェクト トレーニングのために送信された

    表 : 2. パラメーター
    名前 タイプ 説明
    なし
    表 : 3. 返される内容
    タイプ 説明
    なし

    次の例は、既存のトレーニングジョブをキャンセルする方法を示しています。

    var myEstimate = sn_ml.PredictabilityEstimateStore.get('ml_sn_global_global_predictability_estimate');
    
    myEstimate.cancelTrainingJob();

    PredictabilityEstimate - getActiveVersion()

    アクティブな PredictabilityEstimateVersion オブジェクト。

    表 : 4. パラメーター
    名前 タイプ 説明
    なし
    表 : 5. 返される内容
    タイプ 説明
    オブジェクト アクティブな PredictabilityEstimateVersion オブジェクト。

    次の例は、 PredictabilityEstimate ストアからアクティブなバージョンを取得し、そのトレーニング状態を返す

    var mlEstimate = sn_ml.PredictabilityEstimateStore.get('ml_x_snc_global_global_predictability_estimate');
    
    gs.print(JSON.stringify(JSON.parse(mlEstimate.getActiveVersion().getStatus()), null, 2));

    出力:

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

    PredictabilityEstimate - getAllVersions()

    のすべてのバージョンを取得します 予測可能性推定。

    表 : 6. パラメーター
    名前 タイプ 説明
    なし
    表 : 7. 返される内容
    タイプ 説明
    アレイ ソリューションオブジェクトの既存のバージョン。関連項目 PredictabilityEstimateVersion API。

    次の例は、すべての PredictabilityEstimate バージョンオブジェクトを取得し、それらに対して getVersionNumber()getStatus() の推定バージョンメソッドを呼び出す方法を示しています。

    var mlEstimate = sn_ml.PredictabilityEstimateStore.get('ml_x_snc_global_global_predictability_estimate');
    
    var mlEstimateVersions = mlEstimate.getAllVersions();
    
    for (i = 0; i < mlEstimateVersions.length; i++) {
    gs.print("Version " + mlEstimateVersions[i].getVersionNumber() + " Status: " + mlEstimateVersions[i].getStatus() +"\n");
    };

    出力:

    Version 3 Status: {"state":"predictability_estimate_complete","percentComplete":"100","hasJobEnded":"true"}
    
    Version 2 Status: {"state":"predictability_estimate_complete","percentComplete":"100","hasJobEnded":"true"}
    
    Version 1 Status: {"state":"predictability_estimate_cancelled","percentComplete":"0","hasJobEnded":"true"}

    PredictabilityEstimate - getLatestVersion()

    の最新バージョンを取得します 予測可能性推定。

    表 : 8. パラメーター
    名前 タイプ 説明
    なし
    表 : 9. 返される内容
    タイプ 説明
    オブジェクト PredictabilityEstimateVersion の最新バージョンに対応するオブジェクトPredictabilityEstimate()です。

    次の例は、予測可能性推定を取得して、そのトレーニングステータスを返す方法を示しています。

    var mlEstimate = sn_ml.PredictabilityEstimateStore.get('ml_x_snc_global_global_predictability_estimate');
    
    gs.print(JSON.stringify(JSON.parse(mlEstimate.getLatestVersion().getStatus()), null, 2));

    出力:

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

    PredictabilityEstimate - getName()

    ストアの操作に使用するオブジェクトの名前を取得します。

    表 : 10. パラメーター
    名前 タイプ 説明
    なし
    表 : 11. 返される内容
    タイプ 説明
    文字列 推定オブジェクトの名前。

    次の例は、 PredictabilityEstimate データセット情報を更新し、オブジェクトの名前を出力

    // Update estimate
    var myIncidentData = new sn_ml.DatasetDefinition({
       'tableName' : 'incident',
       'fieldNames' : ['category', 'short_description', 'priority'],
       'encodedQuery' : 'activeANYTHING'
    });
    
    var myEstimate = new sn_ml.PredictabilityEstimate({
       'label': "my estimate",
       'dataset' : myIncidentData,
       'inputFieldNames':['short_description'],
       'predictedFieldName': 'category'
    });
    
    // update estimate
    sn_ml.PredictabilityEstimateStore.update('ml_x_snc_global_global_my_definition_4', myEstimate);
    
    // print estimate name
    gs.print('Estimate Name: '+myEstimate.getName());

    出力:

    Estimate Name: ml_x_snc_global_global_my_definition_4

    PredictabilityEstimate - getProperties()

    予測可能性推定オブジェクトのプロパティを取得します。

    表 : 12. パラメーター
    名前 タイプ 説明
    なし
    表 : 13. 返される内容
    タイプ 説明
    オブジェクト PredictabilityEstimateStore 内のデータセットと PredictabilityEstimate() オブジェクトの詳細の内容。
    {
      "datasetProperties": {Object},
      "domainName": "String",
      "inputFieldNames": [Array],
      "label": "String",
      "name": "String",
      "predictedFieldName": "String",
      "scope": "String",
      "trainingFrequency": "String"
    }
    <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>.inputFieldNames 推定の際に考慮される入力フィールド候補 (文字列) のリスト。

    データタイプ:文字列。

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

    データタイプ:文字列。

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

    データタイプ:文字列。

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

    データタイプ:文字列。

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

    データタイプ:文字列

    <Object>.trainingFrequency モデルを再トレーニングする頻度。
    可能な値:
    • every_30_days
    • every_60_days
    • every_90_days
    • every_120_days
    • every_180_days
    • run_once
    デフォルト:run_once

    データタイプ:文字列。

    次の例では、ストア内の 予測可能性推定オブジェクト のプロパティを取得します。

    var mySolution = sn_ml.PredictabilityEstimateStore.get('ml_sn_global_global_predictability_estimate');
    
    gs.print(JSON.stringify(JSON.parse(mySolution.getProperties()), null, 2));
    出力:
    *** Script: {
      "datasetProperties": {
        "tableName": "incident",
        "fieldNames": [
          "category",
          "short_description",
          "priority",
          "assignment_group.name"
        ],
        "fieldDetails": [
          {
            "name": "category",
            "type": "nominal"
          },
          {
            "name": "short_description",
            "type": "text"
          }
        ]
      },
      "domainName": "global",
      "inputFieldNames": [
        "short_description"
      ],
      "label": "my estimate definition",
      "name": "ml_x_snc_global_global_my_definition_26",
      "predictedFieldName": "category",
      "processingLanguage": "en",
      "scope": "global",
      "stopwords": [
        "Default English Stopwords"
      ],
      "trainingFrequency": "run_once"
    }

    PredictabilityEstimate - getVersion(文字列 version)

    指定されたバージョン番号を使用します。予測可能性推定を取得します。

    表 : 14. パラメーター
    名前 タイプ 説明
    version 文字列 ソリューションの既存のバージョン番号 予測可能性推定。
    表 : 15. 返される内容
    タイプ 説明
    オブジェクト PredictabilityEstimateVersion API メソッドを呼び出せる PredictabilityEstimate() オブジェクトの指定されたバージョン。

    予測可能性推定をバージョン番号ごとに次の例は、バージョン番号別にソリューションのトレーニングステータス

    var mlEstimate = sn_ml.PredictabilityEstimateStore.get('ml_x_snc_global_global_predictability_estimate');
    
    gs.print(JSON.stringify(JSON.parse(mlEstimate.getVersion('1').getStatus()), null, 2));

    出力:

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

    PredictabilityEstimate - setActiveVersion(文字列 version)

    ストア内の指定されたバージョンの予測可能性推定をアクティブ化します。

    表 : 16. パラメーター
    名前 タイプ 説明
    version 文字列 アクティブ化する PredictabilityEstimate() オブジェクトのバージョンの名前。

    このバージョンをアクティブ化すると、他のバージョンが非アクティブになります。

    表 : 17. 返される内容
    タイプ 説明
    なし

    次の例は、ストア内の予測可能性推定バージョンを有効にする方法を示しています。

    sn_ml.PredictabilityEstimate.setActiveVersion("ml_x_snc_global_global_my_estimate_definition");

    PredictabilityEstimate - submitTrainingJob()

    トレーニングジョブを送信します。

    注:
    このメソッドを実行する前に、まず PredictabilityEstimateStore - add() メソッドを使用して、ストアに予測可能性推定を追加する必要があります。
    表 : 18. パラメーター
    名前 タイプ 説明
    なし
    表 : 19. 返される内容
    タイプ 説明
    オブジェクト PredictabilityEstimateVersion に対応するオブジェクト 予測可能性の見積もり トレーニング対象

    予測可能性推定を次の例は、データセットを作成してソリューションに適用しをストアに追加して、トレーニングジョブを送信する方法を示しています。に追加します

    // Create a dataset 
    var myData = new sn_ml.DatasetDefinition({
    
      'tableName' : 'incident',
      'fieldNames' : ['assignment_group', 'short_description', 'description'],
      'encodedQuery' : 'activeANYTHING'
    
    });
    
    // Create an estimate 
    var myEstimate = new sn_ml.PredictabilityEstimate({
    
      'label': "my estimate definition",
      'dataset' : myData,
      'predictedFieldName' : 'assignment_group',
      'inputFieldNames':['short_description']
    
    });
    
    // Add the estimate to the store to later be able to retrieve it.
    var my_unique_name = sn_ml.PredictabilityEstimateStore.add(myEstimate);
    
    // Train the estimate - this is a long running job 
    var myEstimateVersion = myEstimate.submitTrainingJob();