MLPredictor – Global (veraltet)

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 9 Minuten Lesedauer
  • Die MLPredictor- API bietet Dienstprogrammmethoden für Predictive Intelligence -Vorhersagen.

    Hinweis:
    Diese API ist veraltet und soll in einem zukünftigen Release entfernt werden. Die neuesten Richtlinien finden Sie unter ML-APIs verwenden.

    Die MLPredictor- API erfordert das Plugin Predictive Intelligence (com.glide.platform_ml) und wird im Namespace sn_ml bereitgestellt.

    Diese Klasse enthält alle Methoden, um Vorhersage-Ergebnisse aus Eingabedaten abzurufen.

    MLPredictor – MLPredictor()

    Instanziiert ein neues MLPredictor-Objekt.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine

    Im folgenden Beispiel wird veranschaulicht, wie ein MLPredictor-Objekt in einer Business Rule verwendet wird, um die endgültigen Werte nach einer Vorhersage aufzuzeichnen.

    function executeRule(current, previous /*null when async*/) {
    	var predictor = new MLPredictor();
    	predictor.recordFinalValuesInPredictionResults(current, "On close");
    
    }(current, previous);

    MLPredictor – gelten für Prediction(GlideRecord now_GR, Array-Lösungen)

    Legt vorhergesagte Werte aus einem Array von angegebenen Lösungen für einen angegebenen Datensatz fest.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    now_GR GlideRecord Der Datensatz, auf den das Array der vorhergesagten Lösungen angewendet werden soll.
    solutions Array Angegebene Lösungsobjekte, die GlideRecord zugeordnet sind.
    Tabelle : 3. Rückgaben
    Typ Beschreibung
    void

    Das folgende Beispiel zeigt die Verwendung der applyPredition()-Methode in einer Business Rule.

    (function executeRule(current, previous /*null when async*/) {
        var mlPredictor = new MLPredictor();
        //Get the list of active solutions for the glide record table
        var solutions = mlPredictor.findActiveSolutionsForRecord(current);
        //Run prediction and apply predicted value to the record
        mlPredictor.applyPrediction(current, solution);
    
    })(current, previous);

    MLPredictor – anwenden mit PredictionForSolution(GlideRecord now_GR, Objektlösung)

    Wendet einen vorhergesagten Wert aus einer angegebenen Klassifizierungslösung auf den angegebenen GlideRecord an.

    Rufen Sie für jede Lösung im GlideRecord diese Methode auf, um die Ergebnisse vorherzusagen und den Feldwert für den Incident auf diese Ergebnisse festzulegen.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    now_GR GlideRecord GlideRecord-Objekt, das Werte enthält, für die eine Vorhersage ausgeführt und die Ergebnisse angewendet werden sollen.
    solution Objekt Auszuführendes Klassifizierungslösungsobjekt.
    Tabelle : 5. Rückgaben
    Typ Beschreibung
    Boolean „Wahr“ bei erfolgreicher Vorhersage, andernfalls „Fehler“.

    Um diese Vorlage zu verwenden, kopieren Sie die Incident-basierte Vorhersage (Vorlage) Business Rule, machen Sie den neuen Datensatz „aktiv“ und befolgen Sie die kommentierten Anweisungen, um die solutionNames-Variable zu initialisieren.

    (function executeRule(current, previous /*null when async*/) {
    	var solutionNames = ["solution1", "solution2", ...];
    
    	/* For domain separation (MSP) use case */
    //	var solutionNames;
    //	if (current.sys_domain == "A")
    //		solutionNames = ["solution_A1", "solution_A2", ...];
    //	else if (current.sys_domain == "B")
    //		solutionNames = ["solution_B1", "solution_B2", ...];
    //	else
    //		...
    
    	var predictor = new MLPredictor();
    	var info = "";
    	solutionNames.forEach(function(solutionName) {
    		var solution = predictor.findActiveSolution(solutionName);
    		if (!solution)
    			return;
    
    		/* The next line of code does the prediction and updates the current record. */
    		predictor.applyPredictionForSolution(current, solution);
    
    		/* If no prediction is done, do not build the prediction info message. */
    		if (!predictor.applyPredictionForSolution(current, solution))
    			return;
    
    		/* If user doesn't have 'itil' role, we don't build prediction info message. */
    		if (!gs.hasRole('itil'))
    			return;
    
    		/* Building prediction info message */
    		var fieldName = solution.getPredictedField();
    		var fieldLabel = current.getElement(fieldName).getED().getLabel();
    		var predictedDisplayValue = current.getDisplayValue(fieldName);
    		var msg = gs.getMessage("Predicted {0} for {1}.", [predictedDisplayValue, fieldLabel]);
    		if (info.length > 0)
    			info += " ";
    		info += msg;
    	});
    	/* Print out prediction info message on screen. */
    	if (info.length > 0) {
    		var incidentUrl = "<a href='"+current.getLink()+"'>"+current.number+":</a>";
    		gs.addInfoMessage(incidentUrl + " " + info);
    	}
    })(current, previous);

    MLPredictor – findActiveSolution(String solutionName)

    Ruft das Lösungsobjekt ab.

    Diese Methode gibt nur dann die Lösungen zurück, wenn die ml_solution-Definition und -Lösung aktiv sind.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    solutionName Zeichenfolge Name des ml_solution-Datensatzes.
    Tabelle : 7. Rückgaben
    Typ Beschreibung
    Objekt Lösungsobjekt für den angegebenen solutionName, wenn die ml_solution-Definition und die Lösung aktiv sind, andernfalls null.

    Dieses Beispiel nimmt einen hartcodierten Wert und übergibt ihn an ein angegebenes Modell für maschinelles Lernen. Sie können die Ergebnis- und Konfidenzvariablen verwenden, um Werte oder andere Geschäftslogik festzulegen.

    var solutionName = 'ml_incident_assignment';
      var shortDescriptionValue = "Unable to connect!"
      var input = {
      short_description : shortDescriptionValue
      };
      var MLP = new MLPredictor();
      var solution = MLP.findActiveSolution(solutionName);
      var predictedOutcome = solution.predictText(input);
      var outcome = predictedOutcome.predictedValue();
      var confidence = predictedOutcome.confidence();
      gs.info("Predicted value: " + outcome)
      gs.info("Confidence: " + confidence)
            

    Ausgabe:

    DxC_ML:
            ******* Finished Prediction********* *** Script: Predicted value: Software *** Script:
            Confidence: 80.78079080096245

    MLPredictor – findenActiveSolutionsForRecord(GlideRecord now_GR)

    Ruft aktive Lösungen für eine Tabelle in einem angegebenen GlideRecord ab.

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    now_GR GlideRecord GlideRecord, aus dem aktive Lösungsobjekte gesammelt werden sollen.
    Tabelle : 9. Rückgaben
    Typ Beschreibung
    Array Array von aktiven Lösungsobjekten, die der Tabelle zugeordnet sind, für die der angegebene Datensatz bestimmt ist.

    Dieses Skript übergibt einen GlideRecord (wie zum Beispiel einen Incident), und verarbeitet alle Lösungen für den GlideRecord und gibt die Werte für jede zurück.

    /* This is only to get a hard-coded GR */
         var current = new GlideRecord('incident');
         current.get('965c9e5347c12200e0ef563dbb9a7156');
         var predictor = new MLPredictor();
         var solutions = predictor.findActiveSolutionsForRecord(current);
         solutions.forEach(function(solution) {
             var outcome = solution.predict(current);
             /* Use this to set the field to the predicted value in the GlideRecord */
             var fieldName = solution.getPredictedField();
             current[fieldName] = outcome.predictedValue();
             current.update();
    
             gs.info("Predicted value: " + outcome.predictedValue())
             gs.info("Confidence: " + outcome.confidence())
    });

    Ausgabe (Zuweisungsgruppen-Vorhersage):

    DxC_ML: ******* Finished Prediction*********
            *** Script: Predicted value: Software *** Script: Confidence:
            99.74530683715315

    Ausgabe (Kategorie-Vorhersage):

    DxC_ML:
            ******* Finished Prediction********* *** Script: Predicted value: Software *** Script:
            Confidence: 98.7172805135524

    MLPredictor – getPredictedValue(Object solution, Object outcome)

    Ruft den vorhergesagten Wert für eine angegebene Lösung basierend auf dem angegebenen Vorhersageergebnis ab.

    Tabelle : 10. Parameter
    Name Typ Beschreibung
    Lösung Objekt Lösung, aus der der vorhergesagte Wert abgerufen werden soll.
    outcome Objekt Vorhersage-Ergebnisergebnisse für die angegebene Lösung (var-Ergebnis = solution.predict(now_GR)).
    Tabelle : 11. Rückgaben
    Typ Beschreibung
    Zeichenfolge Vorhergesagter Wert für die angegebene Lösung basierend auf dem angegebenen Ergebnis der Vorhersage.
    NULL Gibt null zurück, wenn die Vorhersagekonfidenz die Schwellenwerte nicht erfüllt.

    MLPredictor – getPredictions(GlideRecord now_GR, Objektlösung, Objektoptionen)

    Ruft Vorhersagen für eine angegebene Lösung ab.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    now_GR GlideRecord GlideRecord, der vorhergesagt werden soll.
    solution Objekt Auszuführendes Lösungsobjekt.
    Optionen Objekt Optionales JSON-Objektschlüsselwertpaar mit den folgenden Eigenschaften:
    • options.top_n: Wenn angegeben, werden Ergebnisse bis zu der erwarteten Anzahl von Vorhersagen zurückgegeben, andernfalls wird der Standardwert aus der glide.platform_ml.max_num_predictions-Systemeigenschaft gelesen.
    • options.apply_threshold: Überprüft den Schwellenwert (Lösungsschwellenwert für Ähnlichkeit, Klassenebenen-Schwellenwert für Klassifizierung) für die Lösung und wendet sie auf die Ergebnismenge an. Der Standardwert ist „true“.
    Tabelle : 13. Ergebnisse
    Typ Beschreibung
    Array Array vorhergesagter Ergebnisobjekte

    Das folgende Beispiel ruft eine angegebene Lösung auf und führt darauf Vorhersagen aus.

    function printOutcomeArr(outcomeArr) {
    gs.print('################## Results ##################');
    for (var i=0; i<outcomeArr.length; i++) {
        var outcome = outcomeArr[i];
        gs.print((i+1) + ' : ' + outcome.predictedValue() + ', ' + outcome.predictedValueSysId() + ', ' + outcome.confidence());
    }
    }
    
    var solutionName = 'ml_x_snc_global_prop_flip_test';
    var predictor = new MLPredictor();
    var solution = predictor.findActiveSolution(solutionName);
    
    var now_GR = new GlideRecord('incident');
    now_GR.get('1c741bd70b2322007518478d83673af3');
    
    var options = {};
    options.top_n = '10';            // top_n is an integer between 1 and 1000
    options.apply_threshold = false; // Value can be set to true or false
    
    printOutcomeArr(predictor.getPredictions(now_GR, solution, options));

    MLPredictor – isClassificationSolution(Object solution)

    Gibt an, ob ein Lösungsobjekt ein Klassifizierungstyp ist.

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    Lösung Objekt Name der ML-Lösung.
    Tabelle : 15. Rückgaben
    Typ Beschreibung
    Boolean Gibt „wahr“ zurück, wenn die Eingabelösung ein Klassifizierungstyp ist, andernfalls „falsch“.
    var isClassificationSolution = this.isClassificationSolution(solution);
     
    	//classification solution each class has different threshold
    	//therefore needs to get all the results from ml engine
    	if (applyThreshold && isClassificationSolution) {
    		var maxClassificationTopN = 50;
    		outcomeArr = solution.predictTopN(now_GR, maxClassificationTopN);
    	}
    	else  {
    	outcomeArr = solution.predictTopN(now_GR, topN);
    	}
     
    	if (outcomeArr === null) {
    		//instead of returning null returning empty array
    		return [];
    	}

    MLPredictor – isSimilaritySolution(Object solution)

    Gibt an, ob ein Lösungsobjekt ein Ähnlichkeitstyp ist.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    Lösung Objekt Name der ML-Lösung; Beispiel: ml_incident_categorization.
    Tabelle : 17. Rückgaben
    Typ Beschreibung
    Boolean Gibt „wahr“ zurück, wenn die Eingabelösung ein Ähnlichkeitstyp ist, andernfalls „falsch“.

    MLPredictor – outcome.confidence()

    Ruft die Zuverlässigkeit des vorhergesagten Werts ab.

    Tabelle : 18. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 19. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Die geschätzte Genauigkeit der Vorhersage in Prozent. Zum Beispiel, 53.84615375762915.
    var MLP = new MLPredictor();
      var solution = MLP.findActiveSolution(solutionName);
      var predictedOutcome = solution.predictText(input);
      var outcome = predictedOutcome.predictedValue();
      var confidence = predictedOutcome.confidence();
      gs.info("Predicted value: " + outcome)
      gs.info("Confidence: " + confidence)

    MLPredictor – outcome.predictedValue()

    Ruft den vorhergesagten Wert aus dem MLPredictor-Ergebnisobjekt ab.

    Tabelle : 20. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 21. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Vorhergesagter Wert aus dem Ergebnisobjekt.
    var MLP = new MLPredictor();
      var solution = MLP.findActiveSolution(solutionName);
      var predictedOutcome = solution.predictText(input);
      var outcome = predictedOutcome.predictedValue();
      var confidence = predictedOutcome.confidence();
      gs.info("Predicted value: " + outcome)
      gs.info("Confidence: " + confidence)

    MLPredictor – outcome.predictedValueSysId()

    Ruft die sys_id des vorhergesagten Werts ab.

    Tabelle : 22. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 23. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Sys-ID des vorhergesagten Werts.
    function printOutcomeArr(outcomeArr) {
    gs.print('################## Results ##################');
    for (var i=0; i<outcomeArr.length; i++) {
        var outcome = outcomeArr[i];
        gs.print((i+1) + ' : ' + outcome.predictedValue() + ', ' + outcome.predictedValueSysId() + ', ' + outcome.confidence());
    }

    MLPredictor – recordFinalValuesInPredictionResults(GlideRecord now_GR, Zeichenfolgengrund)

    Legt die endgültigen Vorhersageergebniswerte mit einem optional angegebenen Grund auf einen angegebenen GlideRecord fest.

    Tabelle : 24. Parameter
    Name Typ Beschreibung
    now_GR GlideRecord GlideRecord, für den die endgültigen Vorhersageergebniswerte festgelegt werden sollen.
    Grund Zeichenfolge Optional. Grund für das Anwenden von Ergebnissen.
    Tabelle : 25. Rückgaben
    Typ Beschreibung
    void

    Im folgenden Beispiel wird die recordFinalValuesInPredictionResults()-Methode aufgerufen, wenn der Incident geschlossen ist.

    (function executeRule(current, previous /*null when async*/) {
    	var predictor = new MLPredictor();
    	predictor.recordFinalValuesInPredictionResults(current, "On close");
    
    })(current, previous);

    MLPredictor – solution.getCapability()

    Ruft die Fähigkeitsinformationen einer trainierten Lösung ab.

    Tabelle : 26. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 27. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Definitions-ID und Version der trainierten Lösung, ansonsten Fehlermeldung

    MLPredictor – solution.getName()

    Ruft den Namen der für die Vorhersage verwendeten Lösung ab.

    Tabelle : 28. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 29. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Der Name der Lösung, die für Vorhersagen verwendet werden soll; zum Beispiel ml_incident_categorization

    MLPredictor – solution.getPredictedField()

    Ruft den vorhergesagten Wert einer Lösung ab.

    Tabelle : 30. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 31. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Wert des vorhergesagten Ausgabefelds einer Lösung
    /* Get a hard-coded GR */
         var current = new GlideRecord('incident');
         current.get('965c9e5347c12200e0ef563dbb9a7156');
         var predictor = new MLPredictor();
         var solutions = predictor.findActiveSolutionsForRecord(current);
         solutions.forEach(function(solution) {
             var outcome = solution.predict(current);
             /* Use this to set the field to the predicted value in the GlideRecord */
    
             var fieldName = solution.getPredictedField();
             current[fieldName] = outcome.predictedValue();
             current.update();
             gs.info("Predicted value: " + outcome.predictedValue())
             gs.info("Confidence: " + outcome.confidence())
    });

    MLPredictor – solution.getThreshold(String className)

    Ruft den Lösungsschwellenwert ab.

    Der Schwellenwert stellt einen Prozentsatz dar, der die minimale Vorhersagegenauigkeit widerspiegelt.

    Tabelle : 32. Parameter
    Name Typ Beschreibung
    className Zeichenfolge Ein angegebener kategorialer Wert des Lösungsausgabefelds
    Tabelle : 33. Ergebnisse
    Typ Beschreibung
    Nummer Wert des Schwellenwerts, dargestellt als Prozentsatz zwischen 0 und 100.

    MLPredictor – solution.getVersion()

    Ruft die Version der aktiven Lösung ab.

    Tabelle : 34. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 35. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Version der aktiven Lösung

    MLPredictor – solution.isActive()

    Bestimmt, ob die angegebene Lösung aktiv ist.

    Tabelle : 36. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 37. Ergebnisse
    Typ Beschreibung
    Boolean „True“, wenn die Lösung aktiv ist, andernfalls „false“

    MLPredictor – solution.predict(GlideRecord now_GR, Objektschwellenwert)

    Ruft Lösungsvorhersageergebnisse als Ergebnisobjekt ab.

    Tabelle : 38. Parameter
    Name Typ Beschreibung
    now_GR GlideRecord GlideRecord der Lösungseingabetabelle
    Schwellenwert Objekt Schwellenwert (Lösungsebenen-Schwellenwert für Ähnlichkeit, Klassenebenen-Schwellenwert für Klassifizierung)
    Tabelle : 39. Ergebnisse
    Typ Beschreibung
    Objekt Ergebnis der Vorhersage der angegebenen Lösung (var-Ergebnis = Lösung.Vorhersage(now_GR))
    solutions.forEach(function(solution) {
             var outcome = solution.predict(current);
             /* Use this to set the field to the predicted value in the GlideRecord
             var fieldName = solution.getPredictedField();
             current[fieldName] = outcome.predictedValue();
             current.update();
             */
             gs.info("Predicted value: " + outcome.predictedValue())
             gs.info("Confidence: " + outcome.confidence())
    });

    MLPredictor - solution.predictTopN(GlideRecord now_GR, Object topN)

    Gibt eine Liste von Ergebnisobjekten bis zur erwarteten Anzahl von Vorhersagen zurück. Maximale Anzahl von 1000 Vorhersagen.

    Tabelle : 40. Parameter
    Name Typ Beschreibung
    now_GR GlideRecord GlideRecord der Lösung
    topN Objekt Erwartete Anzahl von Vorhersagen, jede Zahl über 1000 gibt 1000 Ergebnisse zurück
    Tabelle : 41. Ergebnisse
    Typ Beschreibung
    Array Liste der Ergebnisobjekte in einem Array, einschließlich GlideRecord, Schwellenwert, System-ID und erwartete Anzahl von Vorhersagen (topN-Objekt)
    var isClassificationSolution = this.isClassificationSolution(solution);
     
    	//classification solution each class has different threshold
    	//therefore needs to get all the results from ml engine
    	if (applyThreshold && isClassificationSolution) {
    		var maxClassificationTopN = 50;
    		outcomeArr = solution.predictTopN(now_GR, maxClassificationTopN);
    	}
    	else  {
    		outcomeArr = solution.predictTopN(now_GR, topN);
    	}
     
    	if (outcomeArr === null) {
    		//instead of returning null returning empty array
    		return [];
    	}