ClassificationSolutionVersion – Global
Die ClassificationSolutionVersion -API ist ein skriptfähiges Objekt, das in Predictive Intelligence -Speichern verwendet wird.
Diese(s) Die API erfordert das Plugin Predictive Intelligence (com.glide.platform_ml) und wird im sn_ml- Namespace bereitgestellt.
Diese API wird zum Arbeiten mit Lösungsversionen verwendet, die auf ClassificationSolution-API -Objekten im ClassificationSolution-Speicherbasieren.
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 setPredictionSettings()- Methode erstellen.
| Name | Typ | Beschreibung |
|---|---|---|
| Optionen | Objekt | Wählt eine Metrik aus, die innerhalb einer Zeitspanne von Datumsangaben abgerufen werden soll. Weitere Informationen finden Sie unter Zielmetriken konfigurieren. |
| options.metricName | Name der Metrik Gültige Werte:
|
|
| options.fromDate | Optional. Startdatum, ab dem Metriken im Systemdatums-/-zeitformat abgerufen werden sollen. | |
| Optionen.bisDatum | Optional. Enddatum, ab dem Metriken im Systemdatum/-zeit-Format abgerufen werden sollen. |
| 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.numberOfRecordsConsidered | 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> | Array von Objekten, die Trainingsstatistikdaten aus der Tabelle „Klassenkonfidenz“ [ml_class] bereitstellen. Weitere Informationen finden Sie unter Zielmetriken konfigurieren. |
| <Object>.<class name> .Genauigkeit | Geschätzte Lösungsgenauigkeitsmetrik 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 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 Eigenschaften des Lösungsobjekts ab und Versionsnummer.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Inhalt der Datensatz- und ClassificationSolution -Versionsdetails. Die Ergebnisse variieren je nach Setup der Objekteigenschaften. |
| <Object>.algorithmConfig | Methode zum Codieren der Lösung. Datentyp: Objekt. |
| <Object>.algorithmConfig.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>.datasetEigenschaften | Listet die Eigenschaften des DatasetDefinition()- Objekts auf, das der Lösung zugeordnet ist.
Datentyp: Objekt. |
| <Object>.datasetProperties.tableName | 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 der JavaScript-Objekte, die Feldeigenschaften angeben.
Datentyp: Array. |
| <Object>.datasetProperties.fieldNames.fieldDetails.<object>.name | Name des Felds, das den Typ der Informationen definiert, auf die dieser Datensatz beschränkt werden soll. Datentyp: Zeichenfolge. |
| <Object>.datasetProperties.fieldDetails.<object>.type | ML-Feldtyp (maschinelles Lernen). Datentyp: Zeichenfolge. |
| <Object>.datasetProperties.fieldDetails.encodedQuery | Codierte Abfragezeichenfolge im Standard-Glide-Format. Weitere Informationen finden Sie unter Codierte Abfragezeichenfolgen. Datentyp: Zeichenfolge. |
| <Object>.domainName | Domänenname, der diesem Datensatz zugeordnet ist. Siehe Domänentrennung und Predictive Intelligence. Datentyp: Zeichenfolge. |
| <Object>.Encoder | Encoder-Objekt, das dieser Lösung zugewiesen ist. Siehe Encoder: Encoder(Object config). 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 die folgenden Felder, um Vorhersagen zu treffen. Datentyp: Zeichenfolge. |
| <Object>.ist Aktiv | Kennzeichnung, die angibt, ob diese Version aktiv ist. Gültige Werte:
Datentyp: Zeichenfolge |
| <Object>.Bezeichnung | Identifiziert die Vorhersageaufgabe.
Datentyp: Zeichenfolge. |
| <Object>.name | Vom System zugewiesener Name. Datentyp: Zeichenfolge. |
| <Object>.predictedFieldName | Identifiziert ein Feld, das für die Vorhersagbarkeit trainiert werden soll. Datentyp: Zeichenfolge. |
| <Object>.processingLanguage | Verarbeitungssprache im aus zwei Buchstaben bestehenden ISO 639-1-Sprachcodeformat. Datentyp: Zeichenfolge. |
| <Object>.Bereich | Objektumfang. Derzeit ist der einzige gültige Wert global.Datentyp: Zeichenfolge |
| <Object>.Stoppwörter | Optional. Voreingestellte Liste von Zeichenfolgen, die das System basierend auf der Eigenschaftseinstellung language automatisch generiert. Weitere Informationen finden Sie unter Benutzerdefinierte Stoppwortlisten erstellen. Datentyp: Array. |
| <Object>.trainingHäufigkeit | Die Häufigkeit, mit der das Modell neu trainiert werden soll. Mögliche Werte:
Datentyp: Zeichenfolge. |
| <Object>.Versionsnummer | Versionsnummer des 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 includeDetails)
Ruft den Abschlussstatus des Trainings 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 Trainingsstatus für enthält ein ClassificationSolution- Objekt. |
| <Object>an.Status | Abschlussstatus des Trainings. Wenn der Trainingsauftrag einen Endstatus erreicht, verlässt der Auftrag diesen Status nicht. Wenn der Status abgeschlossen ist, wird die Eigenschaft hasJobEnded auf truefestgelegt.Mögliche Werte:
Datentyp: Zeichenfolge |
| <Object>.hasJobEnded | Kennzeichnung, die angibt, ob das Training abgeschlossen ist. Gültige Werte:
Datentyp: Boolescher Wert als Zeichenfolge |
| <Object>.percentComplete | Zahl zwischen null und 100, die den Abschluss des Trainings in Prozent angibt. Wenn der Prozentsatz der Fertigstellung weniger als 100 beträgt, befindet sich die Aufgabe möglicherweise in einem Endstatus. Zum Beispiel, wenn beim Training eine Zeitüberschreitung auftritt. Datentyp: Zahl als Zeichenfolge |
| <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 gegebene 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. Weitere Informationen finden Sie unter Komponenten des Vorhersagemodells. |
| <Object>.includedClasses | Objekt, das die Werte für Genauigkeit, Abdeckung, Rückruf und Verteilung jeder Klasse im trainierten Modell enthält.
Datentyp: Objekt. |
| <Object>.includedClasses.<class name> .Verteilung | Wert der Ergebniswahrscheinlichkeitsverteilung für diese Klasse. Datentyp: Zeichenfolge |
| <Object>.includedClasses.<class name> .Statistiken | Liste der Objekte, die Trainingsstatistikdaten bereitstellen. Weitere Informationen finden Sie unter Zielmetriken konfigurieren.
Datentyp: Array |
| <Object>.includedClasses.<class name> .Statistiken.Genauigkeit | Geschätzte Lösungsgenauigkeitsmetrik für diese Klasse. Datentyp: Zeichenfolge (numerischer Wert) |
| <Object>.includedClasses.<class name> .Statistiken.Abdeckung | Geschätzte Lösungsabdeckungsmetrik 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:
Standardwert: false Datentyp: Zeichenfolge (boolescher Wert) |
| <Object>.ausgeschlosseneKlassen | Verteilung und Zeilenanzahl aller vom Training ausgeschlossenen Klassen.
Datentyp: Objekt. |
| <Object>.ausgeschlosseneKlassen.<class name> .Verteilung | Wert der Ergebniswahrscheinlichkeitsverteilung für diese Klasse. Datentyp: Zeichenfolge |
| <Object>.ausgeschlosseneKlassen.<class name> .rowAnzahl | 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 erhalten.
// 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 – prediction(Object input, Object options)
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. |
| options.apply_threshold | Boolean | Kennzeichnung, die angibt, ob der Schwellenwert für die Lösung überprüft und auf die Ergebnismenge angewendet werden soll. Gültige Werte:
Standardwert: True |
| options.top_n | Nummer | Wenn angegeben, werden die besten 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 |
| <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. Die 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 eine prediction ()- Methode angezeigt werden, die einen GlideRecord nach sys_id als Eingabe akzeptiert und optionale Parameter enthält, um die ersten drei 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 eine prediction ()- Methode angezeigt werden, die ein Array von Feldnamen als Schlüssel-Wert-Paare für die Eingabe verwendet und optionale Parameter enthält, um die ersten drei 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ösungsebene oder Klassenebene fest.
| Name | Typ | Beschreibung |
|---|---|---|
| Optionen | Objekt | Metrikkonfigurationswerte. Weitere Informationen zu diesen Funktionen finden Sie unter Zielmetriken konfigurieren. |
| options.metricName | Zeichenfolge | Name der festzulegenden Metrik. Gültige Werte:
|
| options.metricValue | Zeichenfolge | Numerischer Wert, der der Metrik zugewiesen werden soll. |
| options.className | Zeichenfolge | Optional. Name der Klasse, auf die die Ergebnisse beschränkt werden sollen. Verwenden Sie die Methode getTrainingStatistics(), um eine vollständige Liste von Klassen für eine Lösung abzurufen. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie eine Genauigkeitsmetrik für eine Klasse mit dem Namen 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);