ClassificationSolutionVersion : Global
Die ClassificationSolutionVersion -API ist ein skriptfähiges Objekt, das in den Filialen Predictive Intelligence verwendet wird.
Diese(s) Die API erfordert das Plugin Predictive Intelligence (com.glide.platform_ml) und wird im Namespace sn_ml bereitgestellt.
Diese API wird zum Arbeiten mit Lösungsversionen basierend auf ClassificationSolution-API- Objekten im ClassificationSolution-Speicherverwendet.
Das System erstellt bei jedem Training einer Lösungsdefinition eine Lösungsversion. Die meisten Versionen werden während des geplanten Lösungstrainings erstellt.
ClassificationSolutionVersion – getPredictionPerformance(Object Options)
Berechnet die Genauigkeit und Abdeckung der Lösung.
Um diese Methode zu verwenden, müssen Sie zuerst Einstellungen mit der Methode „setPredictionSettings()“ erstellen.
| Name | Typ | Beschreibung |
|---|---|---|
| Optionen | Objekt | Wählt eine Metrik aus, die innerhalb einer Datumsspanne abgerufen werden soll. Weitere Informationen finden Sie unter Zielmetriken konfigurieren. |
| Optionen.abDatum | Zeichenfolge | Optional. Startdatum, ab dem Metriken im Systemdatums-/-zeitformat abgerufen werden sollen. |
| Optionen.Metrikname | Zeichenfolge | Name der Metrik Gültige Werte:
|
| Optionen.zuDatum | Zeichenfolge | Optional. Enddatum, ab dem Metriken abgerufen werden sollen. Format: Systemdatums-/-zeitformat. |
| Typ | Beschreibung |
|---|---|
| Objekt | Analysierbares JavaScript-Objekt, das die Ergebnisse für die Eingabemetrik enthält. |
| Objekt.Metrikname | Name der als Eingabe ausgewählten Metrik. Datentyp: Zeichenfolge |
| Objekt.Metrikwert | Wert der ausgewählten Metrik. Datentyp: Zeichenfolge |
| Objekt.AnzahlBerücksichtigterDatensätze | Anzahl der Datensätze in der Tabelle „Vorhersageergebnisse“ [ml_predictor_results], die für Berechnungen berücksichtigt werden. Datentyp: Zeichenfolge |
Das folgende Beispiel zeigt, wie Sie einen Genauigkeitswert aus der aktiven Version einer Lösung abrufen.
// Get precision value
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getPredictionPerformance({"metricName": "precision"})), null, 2));
Ausgabe:
{
"metricName": "precision",
"metricValue": "70.10",
"numberOfPredictionsConsidered": "10"
}
ClassificationSolutionVersion – getPredictionSettings()
Ruft die geschätzte Genauigkeit, die geschätzte Abdeckung und die geschätzten Rückrufwerte aus der Tabelle „ML-Lösungen“ [ml_solution] und Datensätze aus der Tabelle „Klassenkonfidenz“ [ml_class] ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Gibt Vorhersageeinstellungen für jede Klasse zurück. Die Daten umfassen Genauigkeits-, Abdeckungs-, Rückruf- und Verteilungswerte aller Klassen, die im trainierten Modell aus der Tabelle „ML-Lösungen“ [ml_solution] enthalten sind. Einzelheiten hierzu finden Sie unter Komponenten des Vorhersagemodells. |
| <Object>.<class name> | Trainingsstatistikdaten aus der Tabelle „Klassenkonfidenz“ [ml_class] Weitere Informationen finden Sie unter Zielmetriken konfigurieren. Datentyp: Objekt |
| <Object>.<class name> .Genauigkeit | Geschätzte Genauigkeitsmetrik der Lösung für diese Klasse. Datentyp: Zeichenfolge (numerischer Wert) |
| <Object>.<class name> .Abdeckung | Geschätzte Lösungsabdeckungsmetrik für diese Klasse. Datentyp: Zeichenfolge (numerischer Wert) |
| <Object>.<class name> .Rückruf | Geschätzte Lösungsrückrufmetrik für diese Klasse. Datentyp: Zeichenfolge (numerischer Wert) |
Das folgende Beispiel zeigt, wie Sie die Vorhersageeinstellungen einer aktiven Lösungsversion abrufen.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getPredictionSettings()), null, 2));
Ausgabe:
{
"solutionSettings": {
"precision": "61.69",
"coverage": "66.75",
"recall": "57.54"
},
"classSettings": {
"Approvals": {
"precision": "100",
"coverage": "0",
"recall": "0"
},
"Authentication": {
"precision": "38.71",
"coverage": "98.44",
"recall": "56.25"
},
"Automation": {
"precision": "100",
"coverage": "0",
"recall": "0"
}, ...
ClassificationSolutionVersion – getProperties()
Ruft Lösungsobjekteigenschaften ab und Versionsnummer.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Inhalt der Details zu Datensatz und ClassificationSolution -Version. Die Ergebnisse variieren je nach Einrichtung der Objekteigenschaften. |
| <Object>.Algorithmuskonfiguration | Methode zum Codieren der Lösung. Datentyp: Objekt |
| <Object>.algorithmKonfiguration.algorithm | Name des Codierungsalgorithmus zum Trainieren dieser Lösung. Mögliche Werte:
Datentyp: Zeichenfolge |
| <Object>.algorithmConfig.targetClassRecall | Klassenrückrufparameter, um das Training einer Lösung so zu steuern, dass eine bestimmte Klasse beeinflusst wird. Der Rückrufwert ist eine Zahl zwischen 0 und 100, die einen Prozentsatz darstellt. Datentyp: Zeichenfolge |
| <Object>.datasetProperties | Listet die Eigenschaften des DatasetDefinition()- Objekts auf, das der Lösung zugeordnet ist. Datentyp: Objekt |
| <Object>.datensatzEigenschaften.tabellenname | Name der Tabelle für den Datensatz. Beispiel: „tableName“ : „Incident“. Datentyp: Zeichenfolge |
| <Object>.datasetProperties.fieldNames | Liste der Feldnamen aus der angegebenen Tabelle als Zeichenfolgen. Beispiel: „fieldNames“ : ["short_description", "priority"]. Datentyp: Array |
| <Object>.datasetProperties.fieldNames.fieldDetails | Liste von JavaScript-Objekten, die Feldeigenschaften angeben. Datentyp: Array von Objekten
|
| <Object>.datasetProperties.fieldNames.fieldDetails.<object>.name | Name des Felds, das die Art der Informationen definiert, auf die dieser Datensatz beschränkt werden soll Datentyp: Zeichenfolge |
| <Object>.datasetProperties.fieldDetails.<object>.type | Feldtyp für maschinelles Lernen. Datentyp: Zeichenfolge |
| <Object>.datasetProperties.fieldDetails.encodedQuery | Codierte Abfragezeichenfolge im Standard-Glide-Format. Siehe Codierte Abfragezeichenfolgen. Datentyp: Zeichenfolge |
| <Object>.Domänenname | Domänenname, der diesem Datensatz zugeordnet ist. Siehe Domain Separation und Predictive Intelligence. Datentyp: Zeichenfolge |
| <Object>.Encoder | Encoder-Objekt, das dieser Lösung zugewiesen ist. Siehe Encoder: Encoder (Objektkonfiguration). Datentyp: Objekt |
| <Object>.groupByFieldName | Feldname, nach dem Datensätze vom System gruppiert werden, um Klassifizierungslösungen zu erstellen. Datentyp: Zeichenfolge |
| <Object>.eingabeFeldNamen | Liste der Eingabefeldnamen als Zeichenfolgen. Das Modell verwendet diese Felder, um Vorhersagen zu treffen. Datentyp: Zeichenfolge |
| <Object>.istAktiv | Kennzeichnung, die angibt, ob diese Version aktiv ist. Gültige Werte:
Datentyp: Zeichenfolge |
| <Object>.label | Gibt die Vorhersageaufgabe an. Datentyp: Zeichenfolge |
| <Object>.name | Vom System zugewiesener Name Datentyp: Zeichenfolge |
| <Object>.predictedFieldName | Gibt ein Feld an, das für die Vorhersagbarkeit trainiert werden soll. Datentyp: Zeichenfolge |
| <Object>.processingLanguage | Verarbeitungssprache im zweibuchstabigen ISO 639-1-Sprachcodeformat. Datentyp: Zeichenfolge |
| <Object>.scope | Objektbereich. Derzeit ist globalder einzige gültige Wert.Datentyp: Zeichenfolge |
| <Object>.Stoppwörter | Optional. Voreingestellte Liste von Zeichenfolgen, die das System basierend auf der Einstellung der Eigenschaft language automatisch generiert. Einzelheiten hierzu finden Sie unter Anwenderdefinierte Stoppwortliste erstellen. Datentyp: Array |
| <Object>.trainingFrequency | Die Häufigkeit, mit der das Modell neu trainiert werden soll. Mögliche Werte:
Datentyp: Zeichenfolge |
| <Object>.versionsnummer | Versionsnummer von ClassificationSolution -Objekt. Datentyp: Zeichenfolge |
Im folgenden Beispiel werden Eigenschaften der aktiven Objektversion im Store abgerufen.
// Get properties
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getProperties()), null, 2));
Ausgabe:
*** Script: {
"datasetProperties": {
"encodedQuery": "activeANYTHING^EQ",
"fieldNames": [
"short_description",
"category"
],
"tableName": "incident"
},
"domainName": "global",
"inputFieldNames": [
"short_description"
],
"isActive": "true",
"label": "Incident Categorization_Trainer",
"name": "ml_incident_categorization",
"predictedFieldName": "category",
"processingLanguage": "en",
"stopwords": [
"Default English Stopwords"
],
"versionNumber": "1"
}
ClassificationSolutionVersion – getStatus(Boolean IncludesDetails)
Ruft den Status des Schulungsabschlusses ab.
| Name | Typ | Beschreibung |
|---|---|---|
| IncludeDetails | Boolean | Kennzeichnung, die angibt, ob der Status detailszurückgegeben werden soll. Gültige Werte:
Standardwert: False |
| Typ | Beschreibung |
|---|---|
| Objekt | JavaScript-Objekt, das Informationen zum Schulungsstatus für enthält ein ClassificationSolution- Objekt. |
| <Object>.Status | Abschlussstatus des Trainings. Wenn der Trainingsauftrag einen Terminalstatus erreicht, verlässt er diesen Zustand nicht. Bei einem Status im Terminal-Bereich wird die Eigenschaft hasJobEnded auf truefestgelegt.Mögliche Werte:
Datentyp: Zeichenfolge |
| <Object>.hatAuftragBeendet | Kennzeichnung, die angibt, ob das Training abgeschlossen ist. Gültige Werte:
Datentyp: Boolescher Wert als Zeichenfolge |
| <Object>.percentComplete | Schulungsfortschritt abgeschlossen. Wenn der Prozentsatz der Fertigstellung kleiner als 100 ist, befindet sich der Auftrag möglicherweise in einem Terminalstatus. Zum Beispiel, wenn das Training abläuft. Datentyp: Zahl als Zeichenfolge Bereich: 0 bis 100 |
| <Object>.details | Objekt mit einer Liste zusätzlicher Schulungsdetails. Datentyp: Objekt |
Das folgende Beispiel zeigt ein erfolgreiches Ergebnis mit abgeschlossenem Training.
// Get status
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getStatus(true), null, 2)));
Ausgabe:
{
"state":"solution_complete",
"percentComplete":"100",
"hasJobEnded":"true",
"details":{"stepLabel":"Solution Complete"} // This information is only returned if getStatus(true);
}
Das folgende Beispiel zeigt ein nicht erfolgreiches Ergebnis mit abgeschlossenem Training.
// Get status
var solutionName = 'ml_x_snc_global_global_classification_solution';
var mlSolution = sn_ml.ClassificationSolutionStore.get(solutionName);
var trainingStatus = mlSolution.getLatestVersion().getStatus();
gs.print(JSON.stringify(JSON.parse(trainingStatus), null, 2));
Ausgabe:
{
"state":"solution_error",
"percentComplete":"100",
"hasJobEnded":"true"
}
ClassificationSolutionVersion – getTrainingStatistik ()
Ruft alle Trainingsstatistiken für eine bestimmte Lösung ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | JavaScript-Objekt mit Statistiken für jede im Training enthaltene Klasse und Werten für jede Klasse, die vom Training ausgeschlossen wurde. Einzelheiten hierzu finden Sie unter Komponenten des Vorhersagemodells. |
| <Object>.includedClasses | Objekt, das Genauigkeits-, Abdeckungs-, Rückruf- und Verteilungswerte für jede Klasse im trainierten Modell enthält. Datentyp: Objekt
|
| <Object>.includedClasses.<class name> .distribution | Wert der Ergebniswahrscheinlichkeitsverteilung für diese Klasse. Datentyp: Zeichenfolge |
| <Object>.includedClasses.<class name> .Statistiken | Liste von Objekten, die Trainingsstatistikdaten bereitstellen Weitere Informationen finden Sie unter Zielmetriken konfigurieren. Datentyp: Array von Objekten
|
| <Object>.includedClasses.<class name> .statistiken.abdeckung | Geschätzte Lösungsabdeckungsmetrik für diese Klasse. Datentyp: Zeichenfolge (numerischer Wert) |
| <Object>.includedClasses.<class name> .statistiken.genauigkeit | Geschätzte Genauigkeitsmetrik der Lösung für diese Klasse. Datentyp: Zeichenfolge (numerischer Wert) |
| <Object>.includedClasses.<class name> .statistiken.rückruf | Geschätzte Lösungsrückrufmetrik für diese Klasse. Datentyp: Zeichenfolge (numerischer Wert) |
| <Object>.includedClasses.<class name> .Statistiken.ausgewählt | Kennzeichnung, die angibt, ob diese Klasse Datensätze enthält, die im Lösungstraining enthalten sind. Gültige Werte:
Datentyp: Zeichenfolge (boolescher Wert) Standardwert: false |
| <Object>.ausgeschlosseneKlassen | Verteilung und Zeilenanzahl aller vom Training ausgeschlossenen Klassen. Datentyp: Objekt |
| <Object>.ausgeschlosseneKlassen<class name> .distribution | Wert der Ergebniswahrscheinlichkeitsverteilung für diese Klasse. Datentyp: Zeichenfolge |
| <Object>.ausgeschlosseneKlassen<class name> .rowCount | Anzahl der vom Training ausgeschlossenen Zeilen. Datentyp: Zeichenfolge (numerischer Wert) |
Das folgende Beispiel zeigt, wie Trainingsstatistiken aus der aktiven Lösung abgerufen werden.
// Get training stats
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getTrainingStatistics()), null, 2));
Ausgabe:
{
"includedClasses": {
"Approvals": {
"distribution": "0.43",
"statistics": [
{
"precision": "100",
"coverage": "0",
"recall": "0",
"selected": "true"
}
]
},
"Authentication": {
"distribution": "4.3",
"statistics": [
{
"precision": "39.33",
"coverage": "95.31",
"recall": "54.69",
"selected": "false"
},
{
"precision": "100",
"coverage": "0",
"recall": "0",
"selected": "false"
},
...
}
...
"excludedClasses": {
"ACE": {
"distribution": "0.11",
"rowCount": "9"
},
"AHA": {
"distribution": "0.01",
"rowCount": "1"
},
...
}
ClassificationSolutionVersion – getVersionNumber()
Ruft die Versionsnummer von ab ein Lösungsobjekt.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Versionsnummer. |
Das folgende Beispiel zeigt, wie Sie eine Versionsnummer abrufen.
// Get version number
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print("Version number: "+JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getVersionNumber()), null, 2));
Ausgabe:
Version number: 1
ClassificationSolutionVersion -vorhersage (Objekteingabe, Objektoptionen)
Ruft die Eingabedaten für eine Vorhersage ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Eingabe | Objekt | GlideRecord oder ein Array von JSON-Objekten, die Feldnamen und Werte als Schlüssel-Wert-Paare enthalten. |
| Optionen | Objekt | Optionale Werte zum Filtern von Vorhersageergebnissen. |
| Optionen.apply_threshold | Boolean | Kennzeichnung, die angibt, ob der Schwellenwert für die Lösung überprüft und auf den Ergebnissatz angewendet werden soll. Gültige Werte:
Standardwert: True |
| Optionen.top_n | Nummer | Wenn angegeben, werden die besten Ergebnisse bis zur angegebenen Anzahl von Vorhersagen zurückgegeben. |
| Typ | Beschreibung |
|---|---|
| Objekt | JSON-Objekt, das die nach sys_id oder record_number sortierten Vorhersageergebnisse enthält. |
| <Object>.<identifier> | Liste von Objekten mit Details für jedes Vorhersageergebnis. Datentyp: Array von Objekten
|
| <Object>.<identifier> .<object>.confidence | Wert der Konfidenz, die der Vorhersage zugeordnet ist. Beispiel: 53,84. Datentyp: Zahl |
| <Object>.<identifier> .<object>.predictedSysId | Die sys_id des vorhergesagten Werts. Ergebnisse können aus jeder Tabelle stammen, in der Informationen vorhergesagt werden. Datentyp: Zeichenfolge |
| <Object>.<identifier> .<object>.predictedValue | Wert, der das Vorhersageergebnis darstellt. Datentyp: Zeichenfolge |
| <Object>.<identifier> .<object>.threshold | Wert des konfigurierten Schwellenwerts, der der Vorhersage zugeordnet ist. Datentyp: Zahl |
Das folgende Beispiel zeigt, wie Vorhersageergebnisse für einepredict ()- Methode angezeigt werden, die einen GlideRecord nach sys_id als Eingabe akzeptiert und optionale Parameter einschließt, um die Top-3-Ergebnisse zu beschränken und den Schwellenwert auszuschließen.
var mlSolution = sn_ml.ClassificationSolutionStore.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));
Ausgabe:
{
"<sys_id/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": ""
}
]
}
Das folgende Beispiel zeigt, wie Vorhersageergebnisse für einepredict ()- Methode angezeigt werden, die ein Array von Feldnamen als Schlüssel-Wert-Paare für die Eingabe akzeptiert und optionale Parameter einschließt, um die Top-3-Ergebnisse zu beschränken und den Schwellenwert auszuschließen.
var mlSolution = sn_ml.ClassificationSolutionStore.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));
Ausgabe:
{
"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": ""
}
]
}
ClassificationSolutionVersion – setPredictionSettings(Object Options)
Legt Genauigkeits-, Abdeckungs- oder Rückrufwerte auf Lösungs- oder Klassenebene fest.
| Name | Typ | Beschreibung |
|---|---|---|
| Optionen | Objekt | Konfigurationswerte der Metrik. Informationen zu diesen Funktionen finden Sie unter Zielmetriken konfigurieren. |
| Optionen.Metrikname | Zeichenfolge | Name der festzulegenden Metrik. Gültige Werte:
|
| Optionen.Metrikwert | Zeichenfolge | Numerischer Wert, der der Metrik zugewiesen werden soll. |
| Optionen.Klassenname | Zeichenfolge | Optional. Name der Klasse, auf die Ergebnisse beschränkt werden sollen. Verwenden Sie die getTrainingStatistik() -Methode, um eine vollständige Liste der Klassen für eine Lösung abzurufen. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie eine Genauigkeitsmetrik für eine Klasse namens Clone Issuesauf 89,5 festgelegt wird.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
var input = {"metricName" : "precision", "metricValue" : "89.5", "className" : "Clone Issues"};
mlSolution.getActiveVersion().setTrainingStatistics(input);