ClusteringSolution – Global

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 11 Minuten Lesedauer
  • Die ClusteringSolution- 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. Obligatorisch, wenn der K-Means-Clustering-Algorithmus verwendet wird. Erstellen Sie einen Encoder mit der Encoder -API.
    3. Verwenden Sie den Konstruktor, um ein Clustering-Lösungsobjekt zu erstellen.
    4. Fügen Sie das Lösungsobjekt dem Clustering-Lösungsspeicher mit der Methode ClusteringSolutionStore – add() hinzu.
    5. Trainieren Sie die Lösung mit der Methode „submitTrainingJob() “. Dadurch wird eine Version des Objekts erstellt, die Sie mit der ClusteringSolutionVersion- API verwalten können.
    6. Rufen Sie Vorhersagen mit der Methode „ ClusteringSolutionVersion – 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.

    ClusteringSolution – ClusteringSolution(Object config)

    Erstellt eine Clusterlösung.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Konfiguration Objekt JavaScript-Objekt, das Konfigurationseigenschaften des enthält Lösung.
    {
      "algorithmConfig": {Object},
      "clusterConcept": "String",
      "clusterConceptFieldNames": [Array],
      "dataset": {Object},
      "domainName": "String",
      "encoder": {Object},
      "groupByFieldName": "String",
      "groupUnclusteredRecords": Boolean,
      "inputFieldNames": [Array],
      "label": "String",
      "maxTimeWindowForUpdate" : Number,
      "minRecordsPerCluster" : Number,
      "minRowCount": "String",
      "processingLanguage": "String",
      "stopwords": [Array],
      "trainingFrequency": "String",
      "updateFrequency": "String"
    }
    config.algorithmConfig Objekt Erforderlich, es sei denn, die Eigenschaft encoder wird festgelegt. Die Einstellungen der EigenschaftJavaScript-Objekt, das Eigenschaften der Algorithmuskonfiguration enthält. variieren je nach dem Wert, der in der Eigenschaft algorithm festgelegt ist.
    'algorithmConfig': {
      "algorithm": "String",  
      // See algorithmConfig.algorithm setting description for property settings based on algorithm
    }
    config.algorithmConfig.algorithm Zeichenfolge Methode zum Codieren Ihrer Lösung.
    Gültige Werte:
    • dbscan – DBSCAN-Clustering-Algorithmus (Density-Based Spatial Clustering of Applications with Rauschen). Mit diesem Algorithmus verwendete Eigenschaften:
      • distanceMetric
      • epsilon
      • minimumNeighbours
    • hdbscan – HDBSCAN-Clustering-Algorithmus (Hierarchical Density Based Spatial Clustering of Applications with Rauschen). Mit diesem Algorithmus verwendete Eigenschaften:
      • minimumSamples
    • kmeans – K-Means-Clustering-Algorithmus. Standard. Die Eigenschaft targetCoverage wird mit diesem Algorithmus verwendet.

    Einige Benutzer bevorzugen DBSCAN, da Sie die Anzahl der Cluster in den Daten vor dem Clustering nicht angeben müssen.

    Eigenschaften für dbscan:
    'algorithmConfig': {
      "algorithm": "dbscan",
      "distanceMetric": "String",
      "epsilon": Number,
      "minimumNeighbours": Number
    }
    Eigenschaften für hdbscan:
    'algorithmConfig': {
      "algorithm": "hdbscan",
      "minimumSamples": Number
    }
    Eigenschaften für kmeans:
    'algorithmConfig': {
      "algorithm": "kmeans",
      "targetCoverage": Number
    }
    config.algorithmConfig.distanceMetric Zeichenfolge Nur DBSCAN-Algorithmus. Abstandsmetrik zum Scannen nach ähnlichen Datenobjekten.

    Gültige Werte: levenshteinDistance

    config.algorithmConfig.epslon Nummer Nur DBSCAN-Algorithmus. Dezimalwert zwischen 0 und 1, der die Größe des Suchradius für Arbeitsbereiche angibt.
    config.algorithmConfig.minimumNachbarn Nummer Nur DBSCAN-Algorithmus. Mindestanzahl von Nachbarn, die in einem Punkt erforderlich ist, um Teil eines Clusters zu sein. Für levenshteinDistance muss der Wert 1 sein, damit keine Punkte aus dem Datensatz ausgeschlossen werden.
    config.algorithmConfig.minimumSamples Nummer Mindestanzahl von Datenstichproben in einer Umgebung, die erforderlich ist, um zu bestimmen, ob ein Punkt ein Kernpunkt ist.

    Standard: Keine

    config.algorithmConfig.targetCoverage Nummer Nur K-Means-Algorithmus. Perzentilenfeld zum Herausfiltern von Datensätzen, die einander weniger ähnlich sind.
    config.clusterConcept Zeichenfolge Optional. Konzepttyp. Ein Konzept ist eine Reihe von Wörtern, die in absteigender Reihenfolge aufgelistet sind. Um ein TFIDF-basiertes Clusterkonzept zu generieren, legen Sie den Wert auf tfidf fest. Konzepttypen werden in der Tabelle „Clustering-Definitionen“ [ml_capability_definition_clustering] aufgelistet.

    Standard: Frequenzbasiertes Clusterkonzept

    config.clusterConceptFieldNames Array Optional. Liste der Feldnamen des Clusterkonzepts. Diese Werte sind externe Spalten zum Erstellen eines Clusterkonzepts und werden nicht für das Training der Clusterlösung verwendet. Wenn externe Spalten bereitgestellt werden, werden diese Spalten nur für das Clusterkonzept und nicht für das Training der Clustering-Lösung verwendet. Clusterkonzeptfelder werden in der Tabelle „Clustering-Definitionen“ [ml_capability_definition_clustering] aufgelistet.

    Standard: Eingabetextspalten generieren das Clusterkonzept

    config.dataset Objekt Namedes DatasetDefinition- Objekts.
    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 Erforderlich, es sei denn, die Eigenschaft algorithmConfig wird auf „levenshteinDistance“ festgelegt. 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 in einem oder mehreren Clustern gruppiert.
    Im folgenden Setup-Beispiel gruppiert das System jeden Typ in einem einzelnen Cluster, wodurch 10 Cluster gerendert werden.
    • groupByFieldName Wert ist „Kategorie“
    • DatasetDefinition tableName -Wert ist „Incident“.
    • Die Incident-Tabelle [Incident] verfügt über 10 Kategorietypen
    config.groupUnclusteredRecords Boolean

    Kennzeichnung, die angibt, ob nicht gruppierte Datensätze in Ergebnissen gruppiert werden sollen.

    Gültige Werte:
    • true: Nicht gruppierte Datensätze in den Ergebnissen separat gruppieren.
    • false: Nicht gruppierte Datensätze nicht in Ergebnissen gruppieren. Nicht gruppierte Werte (-1) werden zusammen mit den restlichen Ergebnissen angezeigt.

    Standardwert: false

    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.maxTimeWindowForUpdate Nummer Optional. Anzahl der Minuten vor dem Modellaktualisierungspunkt für die Suche nach Datensätzen. Wenn der Wert beispielsweise 15 ist, sucht das System nur nach Datensätzen, die in den letzten 15 Minuten erstellt wurden. Standardmäßig werden alle Datensätze gescannt.
    config.minDatensätzeProCluster Nummer Optional. Mindestanzahl von Datensätzen, die in einem Cluster zulässig ist. Der Wert muss größer oder gleich 2 sein.

    Standardwert: 2

    config.minRowCount Zeichenfolge Optional. Mindestanzahl von Datensätzen, die im Datensatz für das Training erforderlich sind.

    Standard: 10.000

    config.processingLanguage Zeichenfolge Verarbeitungssprache im aus zwei Buchstaben bestehenden ISO 639-1-Sprachcodeformat.
    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
    config.updateFrequency Die Häufigkeit, mit der das Modell für die Lösungsdefinition neu erstellt werden muss.
    Mögliche Werte:
    • do_not_update
    • jeden_1_Tag
    • jede_1_Stunde
    • jede_6_Stunden
    • all_12_hours
    • jede_1_Minute
    • alle_15_Minuten
    • jede_30_Minuten
    Standard: do_not_update

    Das folgende Beispiel zeigt, wie Sie ein Objekt erstellen und dem hinzufügen ClusteringLösungsspeicher. Das Beispiel zeigt auch, wie das Objekt zum Trainieren übermittelt wird.

    try{
        var myData = new sn_ml.DatasetDefinition({
            'tableName' : 'incident',
            'fieldNames' : ['category', 'short_description', 'state', 'description'],
            'encodedQuery' : 'activeANYTHING'
        });
    
        // get a trained encoder from the store
        var myEncoder = sn_ml.EncoderStore.get('<encoder_name >');
            
        var mySolution = new sn_ml.ClusteringSolution({
            'label': "clustering solution",
            'dataset' : myData,
            'encoder' : myEncoder,
            'inputFieldNames':['short_description'],                
            'groupByFieldName' : 'category',        
            'algorithmConfig' : {
                'algorithm' : 'kmeans',
                'targetCoverage' : '90'
            }
        });
        
        // add solution
        var solutionName = sn_ml.ClusteringSolutionStore.add(mySolution);
        var solutionVersion = mySolution.submitTrainingJob();    
        var trainingStatus = solutionVersion.getStatus();
        gs.print(JSON.stringify(JSON.parse(trainingStatus), null, 2));
    ​
    } catch(ex){
        gs.print('Exception caught: '+ ex.getMessage());
    }

    Ausgabe:

    {
      "state": "waiting_for_training",
      "percentComplete": "0",
      "hasJobEnded": "false"
    }

    Das folgende Beispiel zeigt, wie das Feld „Beschreibung“ als Clusterkonzeptfeld einbezogen wird.

    var myIncidentData = new sn_ml.DatasetDefinition({
        'tableName' : 'incident',
        'fieldNames' : ['category', 'short_description', 'description'],
    });
    
    var encodersolutionName = sn_ml.EncoderStore.get('<encoder_name >');
    
    var mySolution = new sn_ml.ClusteringSolution({
    	'label': 'clustering_test',
    	'dataset': myIncidentData,
    	'inputFieldNames': ['short_description'],
    	'encoder': encodersolutionName,
    	'clusterConceptFieldNames': ['description']
    });
    
    var solutionNameFromStore = sn_ml.ClusteringSolutionStore.add(mySolution);
    var myClassifier = mySolution.submitTrainingJob(); 

    ClusteringSolution – 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.ClusteringSolutionStore.get('ml_sn_global_global_clustering');
    
    mySolution.cancelTrainingJob();

    ClusteringSolution – getActiveVersion()

    Ruft den aktiven ab ClusteringSolutionVersion-Objekt.

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

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

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

    Ausgabe:

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

    ClusteringSolution – getAllVersions()

    Ruft alle Versionen von ab eine Clustering-Lösung.

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

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

    var mlSolution = sn_ml.ClusteringSolutionStore.get('ml_x_snc_global_global_clustering');
    
    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"}

    ClusteringSolution – getLatestVersion()

    Ruft die neueste Version von ab eine Lösung.

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

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

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

    Ausgabe:

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

    ClusteringSolution – 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 Clusterlö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('clustering'));
    
    var myCluster = new sn_ml.ClusteringSolution({
       'label': "my clustering solution",
       'dataset' : myIncidentData,
       'inputFieldNames': eligibleFields['eligibleInputFieldNames'],
       'predictedFieldName': 'category'
    });
    
    // update solution
    sn_ml.ClusteringSolutionStore.update('ml_x_snc_global_global_clustering_solution', myCluster);
    
    // print solution name
    gs.print('Solution Name: '+myCluster.getName());

    Ausgabe:

    Solution Name: ml_x_snc_global_global_clustering_solution

    ClusteringSolution – getProperties()

    Ruft Eigenschaften des Lösungsobjekts aban.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 13. Ergebnisse
    Typ Beschreibung
    Objekt Inhalt der Datensatz- und ClusteringSolution()- Objektdetails im ClusteringSolutionStore.
    {
      "algorithmConfig": {Object},
      "datasetProperties": {Object},
      "domainName": "String",
      "encoder": {Object},
      "groupByFieldName": "String",
      "inputFieldNames": [Array],
      "label": "String",
      "minRecordsPerCluster" : Number,
      "name": "String",
      "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "trainingFrequency": "String",
      "updateFrequency": "String"
    }
    <Object>.algorithmConfig Die Ergebnisse der EigenschaftJavaScript-Objekt, das Eigenschaften der Algorithmuskonfiguration enthält. variieren je nach dem Wert, der in der Eigenschaft algorithm festgelegt ist.
    'algorithmConfig' : {
      "algorithm": "String",  
      // See algorithmConfig.algorithm setting description for property settings based on algorithm
    }

    Datentyp: Objekt.

    <Object>.algorithmConfig.algorithm Methode zum Codieren Ihrer Lösung.
    Eigenschaften für dbscan:
    'algorithmConfig': {
      "algorithm": "dbscan",
      "distanceMetric": "String",
      "epsilon": Number,
      "minimumNeighbours": Number
    }
    Eigenschaften für kmeans:
    'algorithmConfig': {
      "algorithm": "kmeans",
      "targetCoverage": Number
    }

    Datentyp: Zeichenfolge.

    <Object>.algorithmConfig.distanceMetric Nur DBSCAN-Algorithmus. Abstandsmetrik zum Scannen nach ähnlichen Datenobjekten.

    Datentyp: Zeichenfolge.

    <Object>.algorithmConfig.epslon Nur DBSCAN-Algorithmus. Dezimalwert zwischen 0 und 1, der die Größe des Suchradius für Arbeitsbereiche angibt.

    Datentyp: Zahl.

    <Object>.algorithmConfig.minimumNachbarn Nur DBSCAN-Algorithmus. Mindestanzahl von Nachbarn, die in einem Punkt erforderlich ist, um Teil eines Clusters zu sein. Für levenshteinDistance muss der Wert 1 sein, damit keine Punkte aus dem Datensatz ausgeschlossen werden.

    Datentyp: Zahl.

    <Object>.algorithmConfig.targetCoverage Nur K-Means-Algorithmus. Perzentilenfeld zum Herausfiltern von Datensätzen, die einander weniger ähnlich sind.

    Datentyp: Zahl.

    <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>.encoderEigenschaften Encoder-Objekt, das dieser Lösung zugewiesen ist. Siehe Encoder: Encoder(Object config).

    Datentyp: Objekt.

    <Object>.groupByFieldName Feldname, nach dem das System Datensätze in einem oder mehreren Clustern gruppiert.

    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>.minDatensätzeProCluster Mindestanzahl von Datensätzen, die in einem Cluster zulässig ist.

    Datentyp: Zahl.

    <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.

    <Object>.UpdateHäufigkeit Die Häufigkeit, mit der das Modell für die Lösungsdefinition neu erstellt werden muss.
    Mögliche Werte:
    • do_not_update
    • jeden_1_Tag
    • jede_1_Stunde
    • jede_6_Stunden
    • all_12_hours
    • jede_1_Minute
    • alle_15_Minuten
    • jede_30_Minuten
    Standard: do_not_update

    Datentyp: Zeichenfolge

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

    var myCluster = new sn_ml.ClusteringSolutionStore.get("ml_x_snc_global_global_clustering_solution");
    
    gs.print(JSON.stringify(JSON.parse(myCluster.getProperties()), null, 2));
    Ausgabe:
    *** Script: {
      "algorithmConfig": {
        "algorithm": "kmeans",
        "targetCoverage": "90"
      },
      "datasetProperties": {
        "tableName": "incident",
        "fieldNames": [
          "category",
          "short_description",
          "state",
          "description"
        ],
        "encodedQuery": "activeANYTHING"
      },
      "domainName": "global",
      "encoderProperties": {
        "datasetsProperties": [
          {
            "tableName": "incident",
            "fieldNames": [
              "assignment_group",
              "short_description",
              "description"
            ],
            "encodedQuery": "activeANYTHING"
          }
        ],
        "domainName": "global",
        "label": "my encoder definition",
        "name": "ml_x_snc_global_global_my_encoder_definition",
        "processingLanguage": "en",
        "scope": "global",
        "stopwords": [
          "Default English Stopwords"
        ],
        "trainingFrequency": "run_once"
      },
      "groupByFieldName": "category",
      "inputFieldNames": [
        "short_description"
      ],
      "label": "clustering solution",
      "minRecordsPerCluster": 2,
      "name": "ml_x_snc_global_global_clustering_solution",
      "processingLanguage": "en",
      "scope": "global",
      "stopwords": [
        "Default English Stopwords"
      ],
      "trainingFrequency": "run_once",
      "updateFrequency": "do_not_update"
    }}

    ClusteringSolution – 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 ClusteringSolution()- Objekts, für das Sie ClusteringSolutionVersion -API-Methoden aufrufen können.

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

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

    Ausgabe:

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

    ClusteringSolution – setActiveVersion(String version)

    Aktiviert eine angegebene Version einer Lösung im Store.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    Version Zeichenfolge Name der zu aktivierenden Version des ClusteringSolution()- Objekts.

    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.ClusteringSolution.setActiveVersion("ml_incident_categorization");

    ClusteringSolution – submitTrainingJob()

    Sendet einen Trainingsauftrag.

    Hinweis:
    Bevor Sie diese Methode ausführen, müssen Sie dem Speicher zuerst eine Lösung mit der Methode „ ClusteringSolutionStore – add() “ hinzufügen.
    Tabelle : 18. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 19. Ergebnisse
    Typ Beschreibung
    Objekt ClusteringLösungVersion Objekt, das ClusteringLösung 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'
    
    });
    
    // get a trained encoder from the store
    var myEncoder = sn_ml.EncoderStore.get('ml_x_snc_global_global_encoder');
    
    // Create a solution 
    var mySolution = new sn_ml.ClusteringSolution({
    
      'label': "my solution definition",
      'dataset' : myData,
      'encoder' : myEncoder,
      '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.ClusteringSolutionStore.add(mySolution);
    
    // Train the solution - this is a long running job 
    var myClusterVersion = mySolution.submitTrainingJob();