Clustering-Lösung : global

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 11 Minuten Lesedauer
  • Die ClusteringSolution- 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. Obligatorisch, wenn der K-Means-Clustering-Algorithmus verwendet wird. Erstellen Sie einen Encoder mit der Encoder -API.
    3. Verwenden Sie den Konstruktor, um ein Lösungsobjekt für Clustering zu erstellen.
    4. Fügen Sie das Lösungsobjekt dem Clustering-Lösungsspeicher hinzu, indem Sie die Methode ClusteringSolutionStore - add() verwenden.
    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. Vorhersagen mit der Methode „ ClusteringSolutionVersion –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 .

    ClusteringLösung: ClusteringLösung (Objektkonfiguration)

    Erstellt eine Clusterlösung.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Konfiguration Objekt JavaScript-Objekt mit Konfigurationseigenschaften für 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 für dieJavaScript-Objekt, das Algorithmuskonfigurationseigenschaften enthält. -Eigenschaft variieren je nach dem in der Eigenschaft algorithm festgelegten Wert.
    'algorithmConfig': {
      "algorithm": "String",  
      // See algorithmConfig.algorithm setting description for property settings based on algorithm
    }
    config.algorithmConfig.algorithm Zeichenfolge Methode zur Codierung Ihrer Lösung.
    Gültige Werte:
    • dbscan – Density-Based Spatial Clustering of Applications with Rauschen (DBSScan)-Clustering-Algorithmus. Mit diesem Algorithmus verwendete Eigenschaften:
      • distanceMetric
      • epsilon
      • minimumNeighbours
    • hdbscan – HDBSScan-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 Anwender 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.algorithmKonfiguration.distanzmetrik Zeichenfolge Nur DB-Scan-Algorithmus Abstandsmetrik für die Suche nach ähnlichen Datenobjekten.

    Gültige Werte: levenshteinDistance

    config.algorithmConfig.emissions Nummer Nur DB-Scan-Algorithmus Dezimalwert zwischen 0 und 1, der die Größe des Arbeitsbereichs-Suchradius darstellt.
    config.algorithmConfig.minimumNachbarn Nummer Nur DB-Scan-Algorithmus Mindestanzahl von Nachbarpunkten, die in einem Punkt erforderlich sind, 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 Datenmustern in einer Umgebung, die erforderlich ist, um zu bestimmen, ob ein Punkt ein Kernpunkt ist.

    Standardwert: Keine

    config.algorithmConfig.targetCoverage Nummer Nur K-Means-Algorithmus. Perzentilfeld 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. Die Konzepttypen sind in der Tabelle mit den Clustering-Definitionen [ml_capability_definition_clustering] aufgeführt.

    Standard: Frequenzbasiertes Clusterkonzept

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

    Standard: Eingabetextspalten generieren das Clusterkonzept

    config.dataset Objekt DatasetDefinition- Objektname.
    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 Erforderlich, es sei denn, die Eigenschaft algorithmConfig wird auf „levenshteinDistance“ festgelegt. Trainiertes Encoder-Objekt, das dieser Lösung zugewiesen werden soll. Siehe Encoder: Encoder (Objektkonfiguration).
    config.groupByFieldName Zeichenfolge Optional. Feldname, nach dem das System Datensätze in einen oder mehrere Cluster gruppiert.
    Im folgenden Setup-Beispiel gruppiert das System jeden Typ in einem einzelnen Cluster, sodass 10 Cluster gerendert werden.
    • WertgroupByFieldName ist „Kategorie“
    • DatasetDefinition tableName -Wert ist „Incident“
    • Die Incident-Tabelle [incident] hat 10 Kategorietypen
    config.groupUnclusteredRecords Boolean

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

    Gültige Werte:
    • „wahr“: Nicht gruppierte Datensätze in Ergebnissen separat gruppieren.
    • „falsch“: Nicht gruppierte Datensätze nicht in Ergebnissen gruppieren. Nicht gruppierte Werte (-1) werden mit den restlichen Ergebnissen angezeigt.

    Standardwert: false

    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.maxTimeWindowForUpdate Nummer Optional. Anzahl der Minuten für die Suche nach Datensätzen vor dem Modellaktualisierungspunkt. Wenn der Wert beispielsweise 15 ist, sucht das System nur nach Datensätzen, die in den letzten 15 Minuten erstellt wurden. Standardmäßig scannt das System alle -Datensätze.
    config.minDatensätzeProCluster Nummer Optional. Mindestanzahl von Datensätzen, die in einem Cluster zulässig sind. Der Wert muss größer als 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 zweibuchstabigen ISO 639-1-Sprachcodeformat.
    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
    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
    • jeden_1_Stunden
    • jeden_6_Stunden
    • jeden_12_Stunden
    • jede_1_Minute
    • jeden_15_Minuten
    • jeden_30_Minuten
    Standard: do_not_update

    Das folgende Beispiel zeigt, wie Sie ein Objekt erstellen und zu hinzufügen ClusteringLösungsspeicher. Das Beispiel zeigt auch, wie das Objekt zum Trainieren gesendet 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(); 

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

    ClusteringLösung – getActiveVersion()

    Ruft das aktive 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 ClusteringLösung Version aus dem Store abrufen und ihren Schulungsstatus 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"
    }

    ClusteringLösung – 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 ClusteringLösungsVersion- API.

    Das folgende Beispiel zeigt, wie Sie alle ClusteringSolution -Versionsobjekte abrufen und die Lösungsversionsmethoden getVersionNumber() und getStatus() dafür aufrufen.

    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"}

    ClusteringLösung – getLatestVersion()

    Ruft die aktuelle Version von ab eine Lösung.

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 9. Ergebnisse
    Typ Beschreibung
    Objekt ClusteringLösungVersion Objekt, das der aktuellen Version von entspricht einer ClusteringLösung().

    Das folgende Beispiel zeigt, wie Sie die aktuelle 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"
    }

    ClusteringLösung – 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 ClusteringLö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 Lösungsobjekteigenschaften ab.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 13. Ergebnisse
    Typ Beschreibung
    Objekt Inhalt der Details des Datensatzes und des ClusteringSolution()- Objekts 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>.Algorithmuskonfiguration Die Ergebnisse der EigenschaftJavaScript-Objekt, das Algorithmuskonfigurationseigenschaften enthält. variieren je nach dem in der Eigenschaft algorithm festgelegten Wert.
    'algorithmConfig' : {
      "algorithm": "String",  
      // See algorithmConfig.algorithm setting description for property settings based on algorithm
    }

    Datentyp: Objekt.

    <Object>.algorithmKonfiguration.algorithm Methode zur Codierung 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 DB-Scan-Algorithmus Abstandsmetrik für die Suche nach ähnlichen Datenobjekten.

    Datentyp: Zeichenfolge.

    <Object>.algorithmConfig.emissions Nur DB-Scan-Algorithmus Dezimalwert zwischen 0 und 1, der die Größe des Arbeitsbereichs-Suchradius darstellt.

    Datentyp: Zahl.

    <Object>.algorithmConfig.minimumNachbarn Nur DB-Scan-Algorithmus Mindestanzahl von Nachbarpunkten, die in einem Punkt erforderlich sind, 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. Perzentilfeld zum Herausfiltern von Datensätzen, die einander weniger ähnlich sind.

    Datentyp: Zahl.

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

    Datentyp: Objekt.

    <Object>.groupByFieldName Feldname, nach dem das System Datensätze in einen oder mehrere Cluster gruppiert.

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

    Datentyp: Zahl.

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

    <Object>.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
    • jeden_1_Stunden
    • jeden_6_Stunden
    • jeden_12_Stunden
    • jede_1_Minute
    • jeden_15_Minuten
    • jeden_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"
    }}

    ClusteringLösung – getVersion(Zeichenfolgeversion)

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

    Das folgende Beispiel zeigt, wie Sie den Trainingsstatus einer Lösung anhand der Versionsnummer abrufen.

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

    ClusteringLösung –submitTrainingJob()

    Übermittelt einen Trainingsauftrag.

    Hinweis:
    Bevor Sie diese Methode ausführen können, müssen Sie dem Store mithilfe der Methode „ ClusteringSolutionStore - add() “ eine Lösung hinzufügen.
    Tabelle : 18. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 19. Ergebnisse
    Typ Beschreibung
    Objekt ClusteringLösungVersions 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 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'
    
    });
    
    // 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();