ClassificationSolution – Global

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 8 Minuten Lesedauer
  • Die ClassificationSolution -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.

    Der Flow vom Setup der Lösung bis zum Training lautet wie folgt:
    1. Erstellen Sie einen Datensatz mit der DatasetDefinition- API.
    2. Optional. Erstellen Sie einen Encoder mit der Encoder -API.
    3. Verwenden Sie den Konstruktor, um ein Klassifizierungslösungsobjekt zu erstellen.
    4. Fügen Sie das Lösungsobjekt dem Klassifizierungslösungsspeicher mit der Methode ClassificationSolutionStore – add() hinzu.
    5. Trainieren Sie die Lösung mit der Methode „submitTrainingJob() “. Dadurch wird eine Version des Objekts erstellt, die Sie mit der ClassificationSolutionVersion -API verwalten können.
    6. Rufen Sie Vorhersagen mit der Methode ClassificationSolutionVersion – prediction() ab.
    Hinweis:
    Diese API führt mit vollständigen Berechtigungen aus. Um den Benutzerzugriff einzuschränken, fügen Sie einen Zugriffskontrollmechanismus in das Skript ein.

    Richtlinien zur Verwendung finden Sie unter ML-APIsverwenden.

    ClassificationSolution – ClassificationSolution(Object config)

    Erstellt eine Klassifizierungslösung.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Konfiguration Objekt JavaScript-Objekt, das Konfigurationseigenschaften des enthält Lösung.
    {
      "algorithmConfig": {Object},
      "dataset": {Object},
      "domainName": "String",
      "encoder": {Object},
      "groupByFieldName": "String", 
      "inputFieldNames": [Array],
      "label": "String",
      "minRowCount": "String",
      "predictedFieldName": "String",
      "processingLanguage": "String",
      "stopwords": [Array],
      "trainingFrequency": "String"
    }
    config.algorithmConfig Objekt JavaScript-Objekt, das Eigenschaften der Algorithmuskonfiguration enthält.
    'algorithmConfig' : {
      "algorithm": "String",
      "targetClassRecall": "String"
    }
    config.algorithmConfig.algorithm Zeichenfolge Methode zum Codieren Ihrer Lösung.
    Mögliche Werte:
    • xgboost: XGBoost-Codierung zur Optimierung des Trainings.
    • logisticRegression: Methode, die das logistische Regressionsmodell für kategoriale Ziele wie Nominal oder Ordinal verwendet.
    config.algorithmConfig.targetClassRecall Zeichenfolge Wendet einen Klassenrückrufparameter an, um das Training einer Lösung so zu steuern, dass eine bestimmte Klasse beeinflusst wird. Format ist <ClassName:RecallValue> “, wobei der Rückrufwert eine Zahl zwischen 0 und 100 ist, die einen Prozentsatz darstellt. Beispiel: Um diesen Lösungsparameter für alle Datensätze, die Sie in der E-Mail-Klasse trainieren, auf eine Genauigkeit von 90 % festzulegen und anzuwenden, wird der Wert auf „E-Mail:90“festgelegt.
    config.dataset Objekt Nameder Datensatzdefinition.
    config.domainName Zeichenfolge Optional. Domänenname, der diesem Datensatz zugeordnet ist. Siehe Domänentrennung und Predictive Intelligence.

    Standard: Aktuelle Domäne, z. B. „global“.

    config.encoder Objekt Optional. Trainiertes Encoder-Objekt, das dieser Lösung zugewiesen werden soll. Siehe Encoder: Encoder(Object config).
    config.groupByFieldName Zeichenfolge Optional. Feldname, nach dem das System Datensätze gruppiert, um Klassifizierungslösungen zu erstellen. Weitere Informationen zur Verwendung finden Sie unter „group by“ für die Klassifizierungverwenden.
    config.inputFieldNames Array Liste der Eingabefeldnamen als Zeichenfolgen. Das Modell verwendet die folgenden Felder, um Vorhersagen zu treffen.
    config.label Zeichenfolge Identifiziert die Vorhersageaufgabe.
    config.minRowCount Zeichenfolge Optional. Mindestanzahl von Datensätzen, die im Datensatz für das Training erforderlich sind.

    Standard: 10.000

    config.predictedFieldName Zeichenfolge Identifiziert ein Feld, das für die Vorhersagbarkeit trainiert werden soll.
    config.processingLanguage Zeichenfolge Optional. Verarbeitungssprache im aus zwei Buchstaben bestehenden ISO 639-1-Sprachcodeformat.

    Standard: „en“

    config.stoppwords Array Optional. Voreingestellte Liste von Zeichenfolgen, die das System basierend auf der Eigenschaftseinstellung language automatisch generiert. Weitere Informationen finden Sie unter Benutzerdefinierte Stoppwortlisten erstellen.

    Standard: Englische Stoppwörter

    config.trainingHäufigkeit Zeichenfolge Die Häufigkeit, mit der das Modell neu trainiert werden soll.
    Mögliche Werte:
    • jeden_30_Tage
    • alle_60_Tage
    • all_90_days
    • all_120_days
    • all_180_days
    • run_once
    Standard: run_once

    Das folgende Beispiel zeigt, wie Sie ein Objekt erstellen und dem hinzufügen ClassificationSolution Store.

    var myData = new sn_ml.DatasetDefinition(
      { 
         'tableName' : 'incident', 
         'fieldNames' : ['category', 'short_description', 'priority'],
         'fieldDetails' : [
           {
             'name' : 'category',
             'type' : 'nominal'
           },
           {
             'name' : 'short_description',
             'type' : 'text'
           }], 
         'encodedQuery' : 'activeANYTHING'
      });
    
    var mySolution = new sn_ml.ClassificationSolution({
      'label': "my solution definition",
      'dataset' : myData,
      'predictedFieldName' : 'category',
      'inputFieldNames': ['short_description']
    });
    
    var myClassificationName = sn_ml.ClassificationSolutionStore.add(mySolution);

    ClassificationSolution – cancelTrainingJob()

    Bricht einen Auftrag für ein Lösungsobjekt , das zum Trainieren übermittelt wurde.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie ein vorhandener Trainingsauftrag abgebrochen wird.

    var mySolution = sn_ml.ClassificationSolutionStore.get('ml_sn_global_global_classification');
    
    mySolution.cancelTrainingJob();

    ClassificationSolution – getActiveVersion()

    Ruft den aktiven ab ClassificationSolutionVersion- Objekt.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    Objekt Aktives ClassificationSolutionVersion- Objekt.

    Das folgende Beispiel zeigt, wie Sie eine aktive KlassifizierungLösung Version aus dem Store abrufen und ihren Trainingsstatus zurückgeben.

    var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getStatus()), null, 2));

    Ausgabe:

    {
      "state": "solution_complete",
      "percentComplete": "100",
      "hasJobEnded": "true"
    }

    ClassificationSolution – getAllVersions()

    Ruft alle Versionen von ab eine Klassifizierungslösung.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 7. Ergebnisse
    Typ Beschreibung
    Array Vorhandene Versionen eines Lösungsobjekts. Siehe auch ClassificationSolutionVersion -API.

    Das folgende Beispiel zeigt, wie alle ClassificationSolution -Versionsobjekte abgerufen und die Lösungsversionsmethoden getVersionNumber() und getStatus() für sie aufgerufen werden.

    var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
    
    var mlSolutionVersions = mlSolution.getAllVersions();
    
    for (i = 0; i < mlSolutionVersions.length; i++) {
    gs.print("Version " + mlSolutionVersions[i].getVersionNumber() + " Status: " + mlSolutionVersions[i].getStatus() +"\n");
    };

    Ausgabe:

    Version 3 Status: {"state":"solution_complete","percentComplete":"100","hasJobEnded":"true"}
    
    Version 2 Status: {"state":"solution_complete","percentComplete":"100","hasJobEnded":"true"}
    
    Version 1 Status: {"state":"solution_cancelled","percentComplete":"0","hasJobEnded":"true"}

    ClassificationSolution – getLatestVersion()

    Ruft die neueste Version von ab eine Lösung.

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 9. Ergebnisse
    Typ Beschreibung
    Objekt ClassificationSolutionVersion Objekt, das der neuesten Version von entspricht eine ClassificationSolution().

    Das folgende Beispiel zeigt, wie Sie die neueste Version einer Lösung abrufen und ihren Trainingsstatus zurückgeben.

    var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getLatestVersion().getStatus()), null, 2));

    Ausgabe:

    {
      "state": "solution_complete",
      "percentComplete": "100",
      "hasJobEnded": "true"
    }

    ClassificationSolution – getName()

    Ruft den Namen des Objekts ab, das für die Interaktion mit dem Speicher verwendet werden soll.

    Tabelle : 10. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 11. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Name des Lösungsobjekts.

    Das folgende Beispiel zeigt, wie KlassifizierungLösung Datensatzinformationen aktualisiert und der Name des Objekts gedruckt wird.

    // Update solution
    var myIncidentData = new sn_ml.DatasetDefinition({
       'tableName' : 'incident',
       'fieldNames' : ['category', 'short_description', 'priority'],
       'encodedQuery' : 'activeANYTHING'
    });
    
    var eligibleFields = JSON.parse(myIncidentData.getEligibleFields('classification'));
    
    var myClassification = new sn_ml.ClassificationSolution({
       'label': "my classification solution",
       'dataset' : myIncidentData,
       'inputFieldNames': eligibleFields['eligibleInputFieldNames'],
       'predictedFieldName': 'category'
    });
    
    // update solution
    sn_ml.ClassificationSolutionStore.update('ml_x_snc_global_global_my_solution_definition_4', myClassification);
    
    // print solution name
    gs.print('Solution Name: '+myClassification.getName());

    Ausgabe:

    Solution Name: ml_x_snc_global_global_my_solution_definition_4

    ClassificationSolution – getProperties()

    Ruft Eigenschaften des Lösungsobjekts aban.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 13. Ergebnisse
    Typ Beschreibung
    Objekt Inhalt der Datensatz- und ClassificationSolution()- Objektdetails im ClassificationSolutionStore.
    {
      "algorithmConfig": {
        "algorithm": "String",
        "targetClassRecall": "String"
      },
      "datasetProperties": {Object},
      "domainName": "String",
      "encoder": {Object},
      "groupByFieldName": "String", 
      "inputFieldNames": [Array],
      "label": "String",
      "name": "String",
      "predictedFieldName": "String",
      "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "trainingFrequency": "String"
    }
    <Object>.algorithmConfig Methode zum Codieren der Lösung.

    Datentyp: Objekt.

    <Object>.algorithmConfig.algorithm Name des Codierungsalgorithmus zum Trainieren dieser Lösung.
    Mögliche Werte:
    • xgboost: XGBoost-Codierung zur Optimierung des Trainings.
    • logisticRegression: Methode, die das logistische Regressionsmodell für kategoriale Ziele wie Nominal oder Ordinal verwendet.

    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.

    {
      "encodedQuery": "String",
      "fieldDetails": [Array],
      "fieldNames": [Array],
      "tableName": "String"
    }

    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.
    [
      {
        "name": "String",
        "type": "String"
      }
    ]

    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>.Bezeichnung Identifiziert die Vorhersageaufgabe.
    {
      "label": "my first prediction"
    }

    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:
    • jeden_30_Tage
    • alle_60_Tage
    • all_90_days
    • all_120_days
    • all_180_days
    • run_once
    Standard: run_once

    Datentyp: Zeichenfolge.

    Im folgenden Beispiel werden Eigenschaften eines Lösungsobjekts im Store abgerufen.

    var mySolution = sn_ml.ClassificationSolutionStore.get('ml_sn_global_global_classification_solution');
    
    gs.print(JSON.stringify(JSON.parse(mySolution.getProperties()), null, 2));
    Ausgabe:
    *** Script: {
      "datasetProperties": {
        "tableName": "incident",
        "fieldNames": [
          "category",
          "short_description",
          "priority",
          "assignment_group.name"
        ],
        "fieldDetails": [
          {
            "name": "category",
            "type": "nominal"
          },
          {
            "name": "short_description",
            "type": "text"
          }
        ]
      },
      "domainName": "global",
      "inputFieldNames": [
        "short_description"
      ],
      "label": "my solution definition",
      "name": "ml_x_snc_global_global_my_solution_definition_26",
      "predictedFieldName": "category",
      "processingLanguage": "en",
      "scope": "global",
      "stopwords": [
        "Default English Stopwords"
      ],
      "trainingFrequency": "run_once"
    }

    ClassificationSolution – getVersion(String version)

    Ruft eine Lösung ab nach angegebener Versionsnummer.

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    Version Zeichenfolge Vorhandene Versionsnummer einer Lösung.
    Tabelle : 15. Ergebnisse
    Typ Beschreibung
    Objekt Angegebene Version des ClassificationSolution()- Objekts, für das Sie ClassificationSolutionVersion -API-Methoden aufrufen können.

    Das folgende Beispiel zeigt, wie der Trainingsstatus einer Lösung anhand der Versionsnummer abgerufen wird.

    var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getVersion('1').getStatus()), null, 2));

    Ausgabe:

    {
      "state": "solution_complete",
      "percentComplete": "100",
      "hasJobEnded": "true"
    }

    ClassificationSolution – setActiveVersion(String version)

    Aktiviert eine angegebene Version einer Lösung im Store.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    Version Zeichenfolge Name der zu aktivierenden ClassificationSolution()- Objektversion.

    Durch die Aktivierung dieser Version werden alle anderen Versionen deaktiviert.

    Tabelle : 17. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie eine Lösungsversion im Store aktiviert wird.

    sn_ml.ClassificationSolution.setActiveVersion("ml_incident_categorization");

    ClassificationSolution – submitTrainingJob()

    Sendet einen Trainingsauftrag.

    Hinweis:
    Bevor Sie diese Methode ausführen, müssen Sie dem Speicher zuerst eine Lösung mit der Methode ClassificationSolutionStore – add() hinzufügen.
    Tabelle : 18. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 19. Ergebnisse
    Typ Beschreibung
    Objekt ClassificationSolutionVersion Objekt, das ClassificationSolution dem trainierten entspricht.

    Das folgende Beispiel zeigt, wie Sie einen Datensatz erstellen, auf eine Lösung anwenden, die Lösung einem Speicher hinzufügen und den Trainingsauftrag übermitteln.

    // Create a dataset 
    var myData = new sn_ml.DatasetDefinition({
    
      'tableName' : 'incident',
      'fieldNames' : ['assignment_group', 'short_description', 'description'],
      'encodedQuery' : 'activeANYTHING'
    
    });
    
    // Create a solution 
    var mySolution = new sn_ml.ClassificationSolution({
    
      'label': "my solution definition",
      'dataset' : myData,
      'predictedFieldName' : 'assignment_group',
      'inputFieldNames':['short_description']
    
    });
    
    // Add the solution to the store to later be able to retrieve it.
    var my_unique_name = sn_ml.ClassificationSolutionStore.add(mySolution);
    
    // Train the solution - this is a long running job 
    var myClassifierVersion = mySolution.submitTrainingJob();