---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://www.servicenow.com/docs/r/de-DE/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu-API-Referenz

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Clustering-Lösung : global

# Clustering-Lösung : global {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 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-](https://www.servicenow.com/docs/BXzFaC72fsNUF0~2iVZkiA#DatasetDefinitionAPI "Die DatasetDefinition- API bietet Methoden zum Identifizieren von Eine Reihe von Datensätzen, einschließlich eines Tabellennamens, Spalten und Zeilenauswahlkriterien, die als Eingabe für ML-Trainingsalgorithmen verwendet werden. Datensätze enthalten nicht die tatsächlichen Daten.") API.
2. Obligatorisch, wenn der K-Means-Clustering-Algorithmus verwendet wird. Erstellen Sie einen Encoder mit der [Encoder](https://www.servicenow.com/docs/G7ohgdKHJdsFxubAhcpxJw#EncoderAPI "Die Encoder- API stellt ein skriptfähiges Objekt bereit, das in den Speichern Predictive Intelligence verwendet wird. Dieses Objekt konvertiert Eingabedaten basierend auf Encoder-spezifischen Zielen und Konfigurationen in Zahlenvektoren. Encoder können unabhängig zum Ausführen von Codierungen verwendet oder als Teil von Lösungen zum Codieren von Textspalten konfiguriert werden.") -API.
3. Verwenden Sie den [Konstruktor](https://www.servicenow.com/docs/XiySdpzqunzeC2xL3FoSNg#ClusteringSol-ClusteringSolution_O "Erstellt eine Clusterlösung."), 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()](https://www.servicenow.com/docs/B7eaMQ5c9UeHwXlaz9kpPA#ClusteringStore-add_O "Fügt dem Store ein neues Lösungsobjekt hinzu und gibt einen eindeutigen Namen zurück.") verwenden.
5. Trainieren Sie die Lösung mit der Methode [„submitTrainingJob()](https://www.servicenow.com/docs/XiySdpzqunzeC2xL3FoSNg#ClusteringSol-submitTrainingJob "Übermittelt einen Trainingsauftrag.") ". Dadurch wird eine Version des Objekts erstellt, die Sie mit der [ClusteringSolutionVersion-](https://www.servicenow.com/docs/TBVd0eUDKtrrlsYcwn3MSg#ClusteringSolutionVersionAPI "Die ClusteringSolutionVersion- API ist ein skriptfähiges Objekt, das in den Filialen Predictive Intelligence verwendet wird.") API verwalten können.
6. Vorhersagen mit der Methode „ [ClusteringSolutionVersion --predict()](https://www.servicenow.com/docs/TBVd0eUDKtrrlsYcwn3MSg#C-predict_O_O "Ruft die Eingabedaten für eine Vorhersage ab.") " abrufen.

{#ClusteringSolutionAPI__ol_mmm_n1c_dmb}  
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-APIs](https://www.servicenow.com/docs/access?context=using-ml-apis&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US)verwenden .

## ClusteringLösung: ClusteringLösung (Objektkonfiguration) {#ariaid-title2}

Erstellt eine Clusterlösung.
{#ClusteringSol-ClusteringSolution_O__table_gm2_yt5_flb__entry__3}{#ClusteringSol-ClusteringSolution_O__cluster-dbscan-distanceM-vals}{#ClusteringSol-ClusteringSolution_O__cluster-dbscan-epsilon-desc}{#ClusteringSol-ClusteringSolution_O__cluster-dbscan-minNeighbs-desc}{#ClusteringSol-ClusteringSolution_O__cluster-kmeans-targetC-desc}{#ClusteringSol-ClusteringSolution_O__solution-obj-domainN-default}{#ClusteringSol-ClusteringSolution_O__solution-cluster-minrec-desc}{#ClusteringSol-ClusteringSolution_O__solution-obj-stop-desc}

| 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 {#ClusteringSol-ClusteringSolution_O__ul_cfy_mkk_xlb} * hdbscan -- HDBSScan-Clustering-Algorithmus (Hierarchical Density Based Spatial Clustering of Applications with Rauschen). Mit diesem Algorithmus verwendete Eigenschaften: * minimumSamples {#ClusteringSol-ClusteringSolution_O__ul_o3n_zcw_wnb} * kmeans K-Means-Clustering-Algorithmus. Standard Die Eigenschaft targetCoverage wird mit diesem Algorithmus verwendet. {#ClusteringSol-ClusteringSolution_O__ul_wtd_l2k_xlb} 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-](https://www.servicenow.com/docs/BXzFaC72fsNUF0~2iVZkiA#DatasetDefinitionAPI "Die DatasetDefinition- API bietet Methoden zum Identifizieren von Eine Reihe von Datensätzen, einschließlich eines Tabellennamens, Spalten und Zeilenauswahlkriterien, die als Eingabe für ML-Trainingsalgorithmen verwendet werden. Datensätze enthalten nicht die tatsächlichen Daten.") Objektname. |
| config.domainName | Zeichenfolge | Optional. Domänenname, der diesem Datensatz zugeordnet ist. Siehe [Domain Separation und Predictive Intelligence](https://www.servicenow.com/docs/access?context=domain-separation-predictive-intelligence&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US). 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)](https://www.servicenow.com/docs/G7ohgdKHJdsFxubAhcpxJw#Encoder-Encoder_O "Erstellt einen Encoder."). |
| 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](https://www.servicenow.com/docs/BXzFaC72fsNUF0~2iVZkiA#DatasetDefinitionAPI "Die DatasetDefinition- API bietet Methoden zum Identifizieren von Eine Reihe von Datensätzen, einschließlich eines Tabellennamens, Spalten und Zeilenauswahlkriterien, die als Eingabe für ML-Trainingsalgorithmen verwendet werden. Datensätze enthalten nicht die tatsächlichen Daten.") tableName -Wert ist `„Incident"` * Die Incident-Tabelle \[incident\] hat 10 Kategorietypen {#ClusteringSol-ClusteringSolution_O__ul_bt4_y3h_dmb} |
| 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. {#ClusteringSol-ClusteringSolution_O__ul_ar4_blq_wnb} 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](https://www.servicenow.com/docs/access?context=create-custom-stopwords-list&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US). 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 {#ClusteringSol-ClusteringSolution_O__ul_pmw_523_plb}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 {#ClusteringSol-ClusteringSolution_O__ul_kjm_2jh_3mb}Standard: do_not_update |
[Tabelle : 1. Parameter]

{#ClusteringSol-ClusteringSolution_O__table_gm2_yt5_flb}  
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() {#ariaid-title3}

Storniert einen Auftrag für ein Lösungsobjekt , das zum Trainieren übermittelt wurde.
{#ClusteringSol-cancelTrainingJob__table_bpb_k3z_llb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 2. Parameter]

{#ClusteringSol-cancelTrainingJob__table_bpb_k3z_llb} {#ClusteringSol-cancelTrainingJob__table_cpb_k3z_llb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 3. Ergebnisse]

{#ClusteringSol-cancelTrainingJob__table_cpb_k3z_llb}  
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() {#ariaid-title4}

Ruft das aktive ab ClusteringSolutionVersion-Objekt.
{#ClusteringSol-getActiveVersion__table_tvl_m3z_llb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 4. Parameter]

{#ClusteringSol-getActiveVersion__table_tvl_m3z_llb} {#ClusteringSol-getActiveVersion__table_uvl_m3z_llb__entry__2}

| Typ | Beschreibung |
|-|-|
| Objekt | Aktives [ClusteringSolutionVersion-](https://www.servicenow.com/docs/TBVd0eUDKtrrlsYcwn3MSg#ClusteringSolutionVersionAPI "Die ClusteringSolutionVersion- API ist ein skriptfähiges Objekt, das in den Filialen Predictive Intelligence verwendet wird.") Objekt. |
[Tabelle : 5. Ergebnisse]

{#ClusteringSol-getActiveVersion__table_uvl_m3z_llb}  
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() {#ariaid-title5}

Ruft alle Versionen von ab Eine Clustering-Lösung.
{#ClusteringSol-getAllVersions__table_tvl_m3z_llb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 6. Parameter]

{#ClusteringSol-getAllVersions__table_tvl_m3z_llb} {#ClusteringSol-getAllVersions__table_uvl_m3z_llb__entry__2}

| Typ | Beschreibung |
|-|-|
| Array | Vorhandene Versionen eines Lösungsobjekts. Siehe auch [ClusteringLösungsVersion-](https://www.servicenow.com/docs/TBVd0eUDKtrrlsYcwn3MSg#ClusteringSolutionVersionAPI "Die ClusteringSolutionVersion- API ist ein skriptfähiges Objekt, das in den Filialen Predictive Intelligence verwendet wird.") API. |
[Tabelle : 7. Ergebnisse]

{#ClusteringSol-getAllVersions__table_uvl_m3z_llb}  
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() {#ariaid-title6}

Ruft die aktuelle Version von ab eine Lösung.
{#ClusteringSol-getLatestVersion__table_tvl_m3z_llb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 8. Parameter]

{#ClusteringSol-getLatestVersion__table_tvl_m3z_llb} {#ClusteringSol-getLatestVersion__table_uvl_m3z_llb__entry__2}

| Typ | Beschreibung |
|-|-|
| Objekt | [ClusteringLösungVersion](https://www.servicenow.com/docs/TBVd0eUDKtrrlsYcwn3MSg#ClusteringSolutionVersionAPI "Die ClusteringSolutionVersion- API ist ein skriptfähiges Objekt, das in den Filialen Predictive Intelligence verwendet wird.") Objekt, das der aktuellen Version von entspricht einer [ClusteringLösung()](https://www.servicenow.com/docs/XiySdpzqunzeC2xL3FoSNg#ClusteringSol-ClusteringSolution_O "Erstellt eine Clusterlösung."). |
[Tabelle : 9. Ergebnisse]

{#ClusteringSol-getLatestVersion__table_uvl_m3z_llb}  
Das folgende Beispiel zeigt, wie Sie die aktuelle Version einer Lösung abrufen und ihren Trainingsstatus zurückgeben.{#ClusteringSol-getLatestVersion__mlsol-getLatestVersion-example}

    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() {#ariaid-title7}

Ruft den Namen des Objekts ab, das für die Interaktion mit dem Store verwendet werden soll.
{#ClusteringSol-getName__table_pps_43z_llb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 10. Parameter]

{#ClusteringSol-getName__table_pps_43z_llb} {#ClusteringSol-getName__table_qps_43z_llb__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Name des Lösungsobjekts. |
[Tabelle : 11. Ergebnisse]

{#ClusteringSol-getName__table_qps_43z_llb}  
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() {#ariaid-title8}

Ruft Lösungsobjekteigenschaften ab.
{#ClusteringSol-getProperties__table_pps_43z_llb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 12. Parameter]

{#ClusteringSol-getProperties__table_pps_43z_llb} {#ClusteringSol-getProperties__table_qps_43z_llb__entry__2}{#ClusteringSol-getProperties__solution-obj-group-desc}

| Typ | Beschreibung |
|-|-|
| Objekt | Inhalt der Details des Datensatzes und des [ClusteringSolution()-](https://www.servicenow.com/docs/XiySdpzqunzeC2xL3FoSNg#ClusteringSol-ClusteringSolution_O "Erstellt eine Clusterlösung.") Objekts im [ClusteringSolutionStore](https://www.servicenow.com/docs/B7eaMQ5c9UeHwXlaz9kpPA#ClusteringSolutionStoreAPI "Ermöglicht das Speichern und Abrufen von Lösungen."). { "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()-](https://www.servicenow.com/docs/BXzFaC72fsNUF0~2iVZkiA#DDef-DatasetDefinition_O "Erstellt eine Instanz der DatasetDefinition -Klasse, sodass Sie einen Datensatz anhand des Tabellennamens, der Felder und der Abfrage definieren können.") 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](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US). Datentyp: Zeichenfolge. |
| \<Object\>.Domänenname | Domänenname, der diesem Datensatz zugeordnet ist. Siehe [Domain Separation und Predictive Intelligence](https://www.servicenow.com/docs/access?context=domain-separation-predictive-intelligence&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US). Datentyp: Zeichenfolge. |
| \<Object\>.encoderEigenschaften | Encoder-Objekt, das dieser Lösung zugewiesen ist. Siehe [Encoder: Encoder (Objektkonfiguration)](https://www.servicenow.com/docs/G7ohgdKHJdsFxubAhcpxJw#Encoder-Encoder_O "Erstellt einen Encoder."). 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 `global`der 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](https://www.servicenow.com/docs/access?context=create-custom-stopwords-list&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US). 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 {#ClusteringSol-getProperties__ul_pmw_523_plb}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 {#ClusteringSol-getProperties__ul_kjm_2jh_3mb}Standard: do_not_update Datentyp: Zeichenfolge |
[Tabelle : 13. Ergebnisse]

{#ClusteringSol-getProperties__table_qps_43z_llb}  
Im folgenden Beispiel werden Eigenschaften eines -Lösungsobjekts im Store abgerufen.{#ClusteringSol-getProperties__mlsol-getProps-example-other2}

    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) {#ariaid-title9}

Ruft eine Lösung ab anhand der angegebenen Versionsnummer.
{#ClusteringSol-getVersion_S__table_pps_43z_llb__entry__3}{#ClusteringSol-getVersion_S__mlsol-gerversion-returns-other}

| Name | Typ | Beschreibung |
|-|-|-|
| Version | Zeichenfolge | Vorhandene Versionsnummer einer Lösung. |
[Tabelle : 14. Parameter]

{#ClusteringSol-getVersion_S__table_pps_43z_llb} {#ClusteringSol-getVersion_S__table_qps_43z_llb__entry__2}

| Typ | Beschreibung |
|-|-|
| Objekt | Angegebene Version des [ClusteringSolution()-](https://www.servicenow.com/docs/XiySdpzqunzeC2xL3FoSNg#ClusteringSol-ClusteringSolution_O "Erstellt eine Clusterlösung.") Objekts, für das Sie die [ClusteringSolutionVersion](https://www.servicenow.com/docs/TBVd0eUDKtrrlsYcwn3MSg#ClusteringSolutionVersionAPI "Die ClusteringSolutionVersion- API ist ein skriptfähiges Objekt, das in den Filialen Predictive Intelligence verwendet wird.") -API-Methoden aufrufen können. |
[Tabelle : 15. Ergebnisse]

{#ClusteringSol-getVersion_S__table_qps_43z_llb}  
Das folgende Beispiel zeigt, wie Sie den Trainingsstatus einer Lösung anhand der Versionsnummer abrufen.{#ClusteringSol-getVersion_S__mlsol-gerversion-example-other}

    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) {#ariaid-title10}

Aktiviert eine angegebene Version einer Lösung im Store.
{#ClusteringSol-setActiveVersion_S__table_pps_43z_llb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Version | Zeichenfolge | Name der zu aktivierenden [ClusteringSolution()-](https://www.servicenow.com/docs/XiySdpzqunzeC2xL3FoSNg#ClusteringSol-ClusteringSolution_O "Erstellt eine Clusterlösung.") Objektversion. Durch die Aktivierung dieser Version werden alle anderen Versionen deaktiviert. |
[Tabelle : 16. Parameter]

{#ClusteringSol-setActiveVersion_S__table_pps_43z_llb} {#ClusteringSol-setActiveVersion_S__table_qps_43z_llb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 17. Ergebnisse]

{#ClusteringSol-setActiveVersion_S__table_qps_43z_llb}  
Das folgende Beispiel zeigt, wie Sie eine Lösungsversion im Store aktivieren.{#ClusteringSol-setActiveVersion_S__mlsol-setActive-example2}

    sn_ml.ClusteringSolution.setActiveVersion("ml_incident_categorization");

## ClusteringLösung --submitTrainingJob() {#ariaid-title11}

Übermittelt einen Trainingsauftrag.
Hinweis:  
Bevor Sie diese Methode ausführen können, müssen Sie dem Store mithilfe der Methode „ [ClusteringSolutionStore - add()](https://www.servicenow.com/docs/B7eaMQ5c9UeHwXlaz9kpPA#ClusteringStore-add_O "Fügt dem Store ein neues Lösungsobjekt hinzu und gibt einen eindeutigen Namen zurück.") " eine Lösung hinzufügen.
{#ClusteringSol-submitTrainingJob__table_xmd_33z_llb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 18. Parameter]

{#ClusteringSol-submitTrainingJob__table_xmd_33z_llb} {#ClusteringSol-submitTrainingJob__table_ymd_33z_llb__entry__2}

| Typ | Beschreibung |
|-|-|
| Objekt | [ClusteringLösungVersions](https://www.servicenow.com/docs/TBVd0eUDKtrrlsYcwn3MSg#ClusteringSolutionVersionAPI "Die ClusteringSolutionVersion- API ist ein skriptfähiges Objekt, das in den Filialen Predictive Intelligence verwendet wird.") Objekt, das [-ClusteringLösung](https://www.servicenow.com/docs/XiySdpzqunzeC2xL3FoSNg#ClusteringSol-ClusteringSolution_O "Erstellt eine Clusterlösung.") dem trainierten entspricht. |
[Tabelle : 19. Ergebnisse]

{#ClusteringSol-submitTrainingJob__table_ymd_33z_llb}  
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.{#ClusteringSol-submitTrainingJob__mlsol-submit-example-nonSol2}

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


