ClassificationSolutionVersion – Global
Die ClassificationSolutionVersion API ist ein skriptfähiges Objekt, das in verwendet wird Predictive Intelligence Speichert.
Diese(s) API erfordert Predictive Intelligence Plugin (com.glide.platform_ml) und wird in bereitgestellt sn_ml Namespace.
Diese API wird für die Arbeit mit Lösungsversionen basierend auf verwendet ClassificationSolution-API Objekte in ClassificationSolution Store .
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(Objektoptionen)
Berechnet die Genauigkeit und Abdeckung der Lösung.
Um diese Methode zu verwenden, müssen Sie zuerst Einstellungen mit erstellen SetPredictionSettings() Methode.
| Name | Typ | Beschreibung |
|---|---|---|
| Optionen | Objekt | Wählt eine Metrik aus, die innerhalb eines Datumsbereichs abgerufen werden soll. Weitere Informationen finden Sie unter Zielmetriken werden konfiguriert . |
| options.fromDate | Zeichenfolge | Optional. Startdatum, ab dem Metriken im Systemdatums-/Uhrzeitformat abgerufen werden sollen. |
| Optionen.metricName | Zeichenfolge | Name der Metrik Gültige Werte:
|
| Optionen.bis heute | Zeichenfolge | Optional. Enddatum, ab dem Metriken abgerufen werden sollen. Formular: Format für Systemdatum/Uhrzeit. |
| Typ | Beschreibung |
|---|---|
| Objekt | Analysierbares JavaScript-Objekt, das die Ergebnisse für die Eingabemetrik enthält. |
| Objekt.metricName | Name der als Eingabe ausgewählten Metrik. Datentyp: Zeichenfolge |
| Objekt.Metrikwert | Wert der ausgewählten Metrik. Datentyp: Zeichenfolge |
| Objekt.Nummernvon Datensätzen berücksichtigt | 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 ein Genauigkeitswert aus der aktiven Version einer Lösung abgerufen wird.
// 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, 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. Weitere Informationen finden Sie unter Komponenten des Vorhersagemodells . |
| <Object>.<class name> | Trainingsstatistikdaten aus der Tabelle „Klassenkonfidenz“ [ml_class]. Weitere Informationen finden Sie unter Zielmetriken werden konfiguriert . Datentyp: Objekt |
| <Object>.<class name>.Genauigkeit | Geschätzte Metrik der Lösungsgenauigkeit für diese Klasse. Datentyp: Zeichenfolge (numerischer Wert) |
| <Object>.<class name>.Abdeckung | Metrik für geschätzte Lösungsabdeckung 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 Vorhersageeinstellungen einer aktiven Lösungsversion abgerufen werden.
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 des Datensatzes und KlassifizierungLösung Versionsdetails. Die Ergebnisse variieren je nach Setup der Objekteigenschaft. |
| <Object>.AlgorithmConfig | Methode zum Codieren der Lösung. Datentyp: Objekt |
| <Object>.AlgorithmConfig.Algorithmus | Name des Codierungsalgorithmus für das Trainieren dieser Lösung. Mögliche Werte:
Datentyp: Zeichenfolge |
| <Object>.AlgorithmConfig.targetClassRückruf | Klassenrückrufparameter, um das Training einer Lösung so zu steuern, dass eine bestimmte Klasse verzerrt wird. Der Rückrufwert ist eine Zahl zwischen 0 und 100, die einen Prozentsatz darstellt. Datentyp: Zeichenfolge |
| <Object>.DatasetEigenschaften | Listet die Eigenschaften von auf Datendefinition() Objekt, das der Lösung zugeordnet ist. Datentyp: Objekt |
| <Object>.DatasetProperties.tableName | Name der Tabelle für den Datensatz. Beispiel: „Tabellenname“: „Incident“ . Datentyp: Zeichenfolge |
| <Object>.DatenbasisEigenschaften.Feldnamen | Liste der Feldnamen aus der angegebenen Tabelle als Zeichenfolgen. Beispiel: „Feldnamen“: [„short_description“, „Priorität“] . Datentyp: Array |
| <Object>.DatenbasisEigenschaften.Feldnamen.Felddetails | Liste der JavaScript-Objekte, die Feldeigenschaften angeben. Datentyp: Array von Objekten
|
| <Object>.DatenbasisEigenschaften.Feldnamen.Felddetails. <object>.Name | Name des Felds, das den Typ der Informationen definiert, auf die dieser Datensatz beschränkt werden soll. Datentyp: Zeichenfolge |
| <Object>.DatenbasisEigenschaften.Felddetails. <object>.Typ | 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 Domänentrennung und Predictive Intelligence. Datentyp: Zeichenfolge |
| <Object>.Encoder | Encoderobjekt, das dieser Lösung zugewiesen ist. Siehe Encoder – Encoder (Objektkonfiguration). Datentyp: Objekt |
| <Object>.GroupByFieldName | Feldname, nach dem das System Datensätze gruppiert, um Klassifizierungslösungen zu erstellen. Datentyp: Zeichenfolge |
| <Object>.InputFieldNames | Liste der Eingabefeldnamen als Zeichenfolgen. Das Modell verwendet diese Felder, um Vorhersagen zu treffen. Datentyp: Zeichenfolge |
| <Object>.Isaktiv | Kennzeichnung, die angibt, ob diese Version aktiv ist. Gültige Werte:
Datentyp: Zeichenfolge |
| <Object>.Bezeichnung | Gibt die Vorhersageaufgabe an. Datentyp: Zeichenfolge |
| <Object>.Name | Vom System zugewiesener Name. Datentyp: Zeichenfolge |
| <Object>.PredictedFieldName | Gibt ein Feld an, das zur Vorhersagbarkeit trainiert werden soll. Datentyp: Zeichenfolge |
| <Object>.ProcessingLanguage | Sprache wird im zweistelligen ISO 639-1-Sprachcodeformat verarbeitet. Datentyp: Zeichenfolge |
| <Object>.Umfang | Objektbereich. Derzeit ist der einzige gültige Wert Global .Datentyp: Zeichenfolge |
| <Object>.Stoppwörter | Optional. Voreingestellte Liste von Zeichenfolgen, die das System automatisch basierend auf generiert languageEigenschaftseinstellung. Weitere Informationen finden Sie unter Erstellen Sie eine anwenderdefinierte Stoppwortliste . Datentyp: Array |
| <Object>.TrainingHäufigkeit | Die Häufigkeit, mit der das Modell neu trainiert werden soll. Mögliche Werte:
Datentyp: Zeichenfolge |
| <Object>.VersionNumber | Versionsnummer von KlassifizierungLösung Objekt. Datentyp: Zeichenfolge |
Das folgende Beispiel ruft Eigenschaften der aktiven Objektversion im Store ab.
// 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(boolesche includeDetails)
Ruft den Abschlussstatus des Trainings ab.
| Name | Typ | Beschreibung |
|---|---|---|
| EinbeziehenDetails | Boolean | Kennzeichnung, die angibt, ob der Status zurückgegeben werden soll details. Gültige Werte:
Standardwert: False |
| Typ | Beschreibung |
|---|---|
| Objekt | JavaScript-Objekt mit Schulungsstatusinformationen fürA KlassifizierungLösung Objekt. |
| <Object>.status | Abschlussstatus des Trainings. Wenn der Schulungsauftrag einen Terminalstatus erreicht, verlässt der Auftrag diesen Status nicht. Wenn der Status Terminal ist, wird die hasJobEndedEigenschaft ist auf festgelegt Wahr .Mögliche Werte:
Datentyp: Zeichenfolge |
| <Object>.HasJobEnded | Kennzeichnung, die angibt, ob das Training abgeschlossen ist. Gültige Werte:
Datentyp: Boolescher Wert als Zeichenfolge |
| <Object>.Prozent abgeschlossen | Abschluss des Trainings in Prozent. Wenn der Fertigstellungsprozentsatz kleiner als 100 ist, befindet sich der Auftrag möglicherweise in einem Terminalstatus. Zum Beispiel, wenn das Training eine Zeitüberschreitung hat. 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 – getTrainingStatistics()
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 vom Training ausgeschlossene Klasse. Weitere Informationen finden Sie unter Komponenten des Vorhersagemodells . |
| <Object>.IncludedClasses | Objekt mit Genauigkeits-, Abdeckungs-, Rückruf- und Verteilungswerten jeder Klasse im trainierten Modell. Datentyp: Objekt
|
| <Object>.IncludedClasses.<class name>.Distribution | Wert der Ergebniswahrscheinlichkeitsverteilung für diese Klasse. Datentyp: Zeichenfolge |
| <Object>.IncludedClasses.<class name>.statistics | Liste von Objekten, die Trainingsstatistikdaten bereitstellen. Weitere Informationen finden Sie unter Zielmetriken werden konfiguriert . Datentyp: Array von Objekten
|
| <Object>.IncludedClasses.<class name>.statistics.Coverage | Metrik für geschätzte Lösungsabdeckung für diese Klasse. Datentyp: Zeichenfolge (numerischer Wert) |
| <Object>.IncludedClasses.<class name>.statistics.Precision | Geschätzte Metrik der Lösungsgenauigkeit für diese Klasse. Datentyp: Zeichenfolge (numerischer Wert) |
| <Object>.IncludedClasses.<class name>.statistics.Recall | Geschätzte Lösungsrückrufmetrik für diese Klasse. Datentyp: Zeichenfolge (numerischer Wert) |
| <Object>.IncludedKlassen.<class name>.statistics.selected | 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>.Exklusive Klassen | Verteilung und Zeilenanzahl aller vom Training ausgeschlossenen Klassen. Datentyp: Objekt |
| <Object>.ExcludedKlassen.<class name>.Verteilung | Wert der Ergebniswahrscheinlichkeitsverteilung für diese Klasse. Datentyp: Zeichenfolge |
| <Object>.ExcludedClasses.<class name>.ROWCOUNT | Anzahl der vom Training ausgeschlossenen Zeilen. Datentyp: Zeichenfolge (numerischer Wert) |
Das folgende Beispiel zeigt, wie Schulungsstatistiken 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 eine Versionsnummer abgerufen wird.
// 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 – Predict (Objekteingabe, Objektoptionen)
Ruft die Eingabedaten für eine Vorhersage ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Eingabe | Objekt | GlideRecord Oder Array von JSON-Objekten, die Feldnamen und Werte als Schlüssel-Wert-Paare enthalten. |
| Optionen | Objekt | Optionale Werte zum Filtern von Vorhersageergebnissen. |
| Options.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 | Anzahl | Wenn angegeben, werden die Top-Ergebnisse bis zur angegebenen Anzahl von Vorhersagen zurückgegeben. |
| Typ | Beschreibung |
|---|---|
| Objekt | JSON-Objekt, das die Vorhersageergebnisse enthält, sortiert nach sys_ID oder Record_number. |
| <Object>.<identifier> | Liste von Objekten mit Details für jedes Vorhersageergebnis. Datentyp: Array von Objekten
|
| <Object>.<identifier>. <object>.Konfidenz | 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, für die Informationen vorhergesagt werden. Datentyp: Zeichenfolge |
| <Object>.<identifier>. <object>.PredictedValue | Wert, der das Vorhersageergebnis darstellt. Datentyp: Zeichenfolge |
| <Object>.<identifier>. <object>.Schwellenwert | Wert des konfigurierten Schwellenwerts, der der Vorhersage zugeordnet ist. Datentyp: Zahl |
Das folgende Beispiel zeigt, wie Vorhersageergebnisse für angezeigt werden Vorhersagen() Methode, die einen GlideRecord nach sys_ID für die Eingabe verwendet und optionale Parameter enthält, um auf die drei wichtigsten 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 angezeigt werden Vorhersagen() Methode, die ein Array von Feldnamen als Schlüssel-Wert-Paare für die Eingabe verwendet und optionale Parameter enthält, um auf die drei wichtigsten 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(Objektoptionen)
Legt Genauigkeits-, Abdeckungs- oder Rückrufwerte auf Lösungs- oder Klassenebene fest.
| Name | Typ | Beschreibung |
|---|---|---|
| Optionen | Objekt | Metrikkonfigurationswerte. Informationen zu diesen Funktionen finden Sie unter Zielmetriken werden konfiguriert . |
| Optionen.metricName | Zeichenfolge | Name der festzulegenden Metrik. Gültige Werte:
|
| Optionen.metricWert | Zeichenfolge | Numerischer Wert, der der Metrik zugewiesen werden soll. |
| Optionen.className | Zeichenfolge | Optional. Name der Klasse, auf die Ergebnisse beschränkt werden sollen. Verwenden Sie GetTrainingStatistics() Methode zum Abrufen einer vollständigen Liste von Klassen für eine Lösung. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie eine Genauigkeitsmetrik für eine Klasse mit dem Namen auf 89,5 festgelegt wird Klonprobleme .
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);