RegressionSolutionVersion - グローバル
RegressionSolutionVersion API は、予測インテリジェンスストアで使用されるスクリプト可能オブジェクトです。
この API には 予測インテリジェンス プラグイン (com.glide.platform_ml) が必要で、 sn_ml 名前空間内で提供されます。
RegressionSolution ストア内の RegressionSolution API オブジェクトに基づくソリューションバージョンを操作する場合は、この API を使用します。
ソリューション定義をトレーニングするたびに、ソリューションバージョンが作成されます。ほとんどのバージョンは、スケジュールされたソリューショントレーニング中に作成されます。
RegressionSolutionVersion - getProperties()
ソリューションオブジェクトプロパティを取得します およびバージョン番号。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| オブジェクト | データセットと RegressionSolution バージョンの詳細の内容。結果は、オブジェクトプロパティの設定によって異なります。 |
| <Object>.datasetProperties | ソリューションに関連付けられている DatasetDefinition() オブジェクトのプロパティを一覧表示します。 |
| <Object>.datasetProperties.tableName | データセットのテーブルの名前。たとえば、「 tableName」:「インシデント」です。 データタイプ:文字列。 |
| <Object>.datasetProperties.fieldNames | 指定されたテーブルのフィールド名を文字列としてリストします。例:"fieldNames" : ["short_description", "priority"]。 データタイプ:アレイ。 |
| <Object>.datasetProperties.fieldNames.fieldDetails | フィールドのプロパティを指定する JavaScript オブジェクトのリスト。
データタイプ:アレイ。 |
| <Object>.datasetProperties.fieldNames.fieldDetails.<object>.名前 | このデータセットを制限する情報のタイプを定義するフィールドの名前。 データタイプ:文字列。 |
| <Object>.datasetProperties.fieldDetails.<object>.タイプ | 機械学習フィールドタイプ。 データタイプ:文字列。 |
| <Object>.datasetProperties.fieldDetails.encodedQuery | 標準の Glide 形式でエンコードされたクエリ文字列。「 エンコードされたクエリ文字列」を参照してください。 データタイプ:文字列。 |
| <Object>.domainName | このデータセットに関連付けられたドメイン名。「 ドメインセパレーション」および 予測インテリジェンスを参照してください。 データタイプ:文字列。 |
| <Object>.encoder | このソリューションにアサインされたエンコーダーオブジェクト。。「エンコーダー - エンコーダー (オブジェクト構成)」を参照してください。 データタイプ:オブジェクト。 |
| <Object>.inputFieldNames | 文字列としての入力フィールド名のリスト。モデルは、これらのフィールドを使用して予測を行います。 データタイプ:文字列。 |
| <Object>.isActive | このバージョンがアクティブかどうかを示すフラグ。 有効な値:
データタイプ:文字列 |
| <Object>.label | 予測タスクを識別します。
データタイプ:文字列。 |
| <Object>.name | システムによって割り当てられた名前。 データタイプ:文字列。 |
| <Object>.predictedFieldName | 予測可能性のためにトレーニングするフィールドを識別します。 データタイプ:文字列。 |
| <Object>.predictedInterval | 予測の信頼性レベルを指定する値の範囲。 データタイプ:アレイ |
| <Object>.processingLanguage | 2 文字の ISO 639-1 言語コード形式の処理言語。 データタイプ:文字列。 |
| <Object>.scope | オブジェクトスコープ。現時点で有効な値は グローバル値のみです。データタイプ:文字列 |
| <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)
トレーニング完了ステータスを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| includeDetails | ブーリアン | ステータスを details にするかどうかを示すフラグ。 有効な値:
デフォルト値:False |
| タイプ | 説明 |
|---|---|
| オブジェクト | のトレーニングステータス情報を含む JavaScript オブジェクトRegressionSolution オブジェクト。 |
| <Object>.state | トレーニング完了ステータス。トレーニングジョブがターミナルステータスに達しても、ジョブはそのステータスを終了しません。ステータスが [ターミナル] の場合、 hasJobEnded プロパティは true に設定されます。可能な値:
データタイプ:文字列 |
| <Object>.hasJobEnded | トレーニングが完了したかどうかを示すフラグ。 有効な値:
データタイプ:文字列としてのブール値 |
| <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"
}
RegressionSolutionVersion:getVersionNumber()
のバージョン番号を取得します ソリューションオブジェクト。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | バージョン番号。 |
次の例は、バージョン番号を取得する方法を示しています。
// 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 | オブジェクト | GlideRecord または、フィールド名と値をキーと値のペアとして含む JSON オブジェクトのアレイ。 |
| オプション | オブジェクト | 予測結果をフィルタリングするためのオプションの値。 |
| options.apply_threshold | ブーリアン | ソリューションのしきい値を確認し、結果セットに適用するかどうかを示すフラグ。 有効な値:
デフォルト:True |
| options.top_n | 数値 | 指定した場合、指定された数の予測まで、上位の結果を返します。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | sys_idまたはrecord_numberでソートされた予測結果を含む JSON オブジェクト。 |
| <Object>.<identifier> | 各予測結果の詳細を含むオブジェクトのリスト。 データタイプ:オブジェクトのアレイ
|
| <Object>.<identifier>.<object>.信頼性 | 予測に関連付けられた信頼度の値。例:53.84。 データタイプ:数値 |
| <Object>.<identifier>.<object>.predictedSysId | 予測値のsys_id。結果は、情報が予測されている任意のテーブルから取得できます。 データタイプ:文字列 |
| <Object>.<identifier>.<object>.予測値 | 予測結果を表す値。 データタイプ:文字列 |
| <Object>.<identifier>.<object>.しきい値 | 予測に関連付けられた構成済みのしきい値の値。 データタイプ:数値 |
次の例は、入力に GlideRecord をsys_id別に取得し、上位 3 件の結果に制限し、しきい値を除外するオプションのパラメーターを含む predict() メソッドの予測結果を表示する方法を示しています。
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": ""
}
]
}
次の例は、フィールド名のアレイを入力のキーと値のペアとして受け取り、上位 3 つの結果に制限し、しきい値を除外するオプションのパラメーターを含む predict() メソッドの予測結果を表示する方法を示しています。
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": ""
}
]
}