ClassificationSolution : Global

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

    Der Lösungs-Setup-zu-Schulungs-Flow sieht wie folgt aus:
    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 hinzu, indem Sie die Methode ClassificationSolutionStore - add() verwenden.
    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. Vorhersagen mit der Methode „ ClassificationSolutionVersion –predict() “ abrufen.
    Hinweis:
    Diese API wird von mit vollständigen Rechten ausgeführt. Um den Benutzerzugriff einzuschränken, fügen Sie einen Zugriffssteuerungsmechanismus 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 mit Konfigurationseigenschaften für 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 Algorithmuskonfigurationseigenschaften enthält.
    'algorithmConfig' : {
      "algorithm": "String",
      "targetClassRecall": "String"
    }
    config.algorithmConfig.algorithm Zeichenfolge Methode zur Codierung Ihrer Lösung.
    Mögliche Werte:
    • xgboost: XGBoost-Codierung zur Optimierung des Trainings.
    • logisticRegression: Methode, die das logistische Regressionsmodell für kategorische Ziele wie nominell oder ordinal verwendet.
    config.algorithmConfig.targetClassRecall Zeichenfolge Wendet einen Klassenrückruf-Parameter 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. Um diesen Lösungsparameter beispielsweise für alle Datensätze, die Sie in der Klasse E-Mail 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 Domain Separation 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 (Objektkonfiguration).
    config.groupByFieldName Zeichenfolge Optional. Feldname, nach dem Datensätze vom System gruppiert werden, um Klassifizierungslösungen zu erstellen. Informationen zur Verwendung finden Sie unter Group by für Klassifizierungverwenden.
    config.inputFieldNames Array Liste der Eingabefeldnamen als Zeichenfolgen. Das Modell verwendet diese Felder, um Vorhersagen zu treffen.
    config.label Zeichenfolge Gibt die Vorhersageaufgabe an.
    config.minRowCount Zeichenfolge Optional. Mindestanzahl von Datensätzen, die im Datensatz für das Training erforderlich sind.

    Standard: 10.000

    config.predictedFieldName Zeichenfolge Gibt ein Feld an, das für die Vorhersagbarkeit trainiert werden soll.
    config.processingLanguage Zeichenfolge Optional. Verarbeitungssprache im zweibuchstabigen ISO 639-1-Sprachcodeformat.

    Standard: „en“

    config.stoppwords Array 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.

    Standard: Englische Stoppwörter

    config.trainingFrequency Zeichenfolge Die Häufigkeit, mit der das Modell neu trainiert werden soll.
    Mögliche Werte:
    • jeden_30_Tage
    • jeden_60_Tage
    • jeden_90_Tage
    • jeden_120_Tage
    • jeden_180_Tage
    • run_once
    Standard: run_once

    Das folgende Beispiel zeigt, wie Sie ein Objekt erstellen und zu hinzufügen Klassifizierungslösungsspeicher.

    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()

    Storniert 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 Sie einen vorhandenen Trainingsauftrag abbrechen.

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

    ClassificationSolution – getActiveVersion()

    Ruft das aktive 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 Klassifizierungslösung Version aus dem Store abrufen und ihren Schulungsstatus 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 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 Sie alle ClassificationSolution -Versionsobjekte abrufen und die Lösungsversionsmethoden getVersionNumber() und getStatus() dafür aufrufen.

    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 aktuelle Version von ab eine Lösung.

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

    Das folgende Beispiel zeigt, wie Sie die aktuelle 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 Store 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 Klassifizierungslö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 Lösungsobjekteigenschaften ab.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 13. Ergebnisse
    Typ Beschreibung
    Objekt Inhalt der Details des Datensatzes und des ClassificationSolution()- Objekts 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>.Algorithmuskonfiguration Methode zum Codieren der Lösung.

    Datentyp: Objekt.

    <Object>.algorithmKonfiguration.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 kategorische Ziele wie nominell 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>.datasetProperties

    Listet die Eigenschaften des DatasetDefinition()- Objekts auf, das der Lösung zugeordnet ist.

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

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

    Datentyp: Array.

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

    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:
    • jeden_30_Tage
    • jeden_60_Tage
    • jeden_90_Tage
    • jeden_120_Tage
    • jeden_180_Tage
    • 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 anhand der angegebenen 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 Sie den Trainingsstatus einer Lösung anhand der Versionsnummer abrufen.

    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 Sie eine Lösungsversion im Store aktivieren.

    sn_ml.ClassificationSolution.setActiveVersion("ml_incident_categorization");

    ClassificationSolution –submitTrainingJob()

    Übermittelt einen Trainingsauftrag.

    Hinweis:
    Bevor Sie diese Methode ausführen können, müssen Sie dem Store mithilfe der Methode ClassificationSolutionStore - add() eine Lösung hinzufügen.
    Tabelle : 18. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 19. Ergebnisse
    Typ Beschreibung
    Objekt KlassifizierungslösungVersions Objekt, das -Klassifizierungslösung dem trainierten entspricht.

    Das folgende Beispiel zeigt, wie Sie einen Datensatz erstellen, auf eine Lösung anwenden, die Lösung einem Store 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();