---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# ClusteringSolution - 전역

# ClusteringSolution - 전역 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 26분

ClusteringSolution API는 저장소에서 예측 인텔리전스 사용되는 스크립트 가능한 개체입니다.

이것 API에는 플러그인(com.glide.platform_ml)이 필요 예측 인텔리전스 하며 `sn_ml` 네임스페이스 내에서 제공됩니다.  
솔루션 설정부터 교육까지의 플로우는 다음과 같습니다.

1. [DatasetDefinition](https://servicenow-prod.fluidtopics.net/o0mItlJWRoXXtFiWYvWHUw#DatasetDefinitionAPI "DatasetDefinition API는 식별하는 메서드를 제공합니다.ML 교육 알고리즘에 대한 입력으로 사용할 테이블 이름, 열 및 행 선택 기준을 포함하는 일련의 기록입니다. 데이터 세트에는 실제 데이터가 포함되어 있지 않습니다.") API를 사용하여 데이터 세트를 만듭니다.
2. [생성자를](https://servicenow-prod.fluidtopics.net/DbwgoKMHQz4uqf6cC4ea2w#ClusteringSol-ClusteringSolution_O "클러스터 솔루션을 작성합니다.") 사용하여 클러스터링 솔루션 개체를 만듭니다.
3. [ClusteringSolutionStore - add()](https://servicenow-prod.fluidtopics.net/Z3QQC4Wy4pOD3UsNSkx4Ig#ClusteringStore-add_O "스토어에 새 솔루션 객체를 추가 하고 고유한 이름을 반환합니다.") 메서드를 사용하여 솔루션 개체를 클러스터링 솔루션 저장소에 추가합니다.
4. [submitTrainingJob()](https://servicenow-prod.fluidtopics.net/DbwgoKMHQz4uqf6cC4ea2w#ClusteringSol-submitTrainingJob "교육 작업을 제출합니다.") 메서드를 사용하여 솔루션을 교육합니다. 이렇게 하면 [ClusteringSolutionVersion](https://servicenow-prod.fluidtopics.net/FR2GxXkPC~wCSFIulGhaIQ#ClusteringSolutionVersionAPI "ClusteringSolutionVersion API는 저장소에서 예측 인텔리전스 사용되는 스크립팅 가능한 개체입니다.") API를 사용하여 관리할 수 있는 개체 버전이 만들어집니다.

{#ClusteringSolutionAPI__ol_mmm_n1c_dmb}  
주:  
이 API는 Vancouver 패치 7 핫픽스 2b 및 Washington DC 패치 7 릴리스 전에 모든 권한으로 실행됩니다. 이후 릴리스에서는 ACL을 사용하여 액세스 권한을 부여합니다. 자세한 내용은 다음 문서를 참조하십시오 [Query ACLs](https://www.servicenow.com/docs/access?context=query-acl-rule&version=australia&pubname=australia-platform-security&ft:locale=en-US).

사용 지침은 [ML API 사용을 참조하세요.](https://www.servicenow.com/docs/access?context=using-ml-apis&version=australia&pubname=australia-intelligent-experiences&ft:locale=en-US)

## ClusteringSolution - ClusteringSolution(객체 구성) {#ariaid-title2}

클러스터 솔루션을 작성합니다.
{#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}

| 이름 | 유형 | 설명 |
|-|-|-|
| 구성 | 객체 | 의 구성 속성을 포함하는 JavaScript 객체 해결책. { "algorithmConfig": {Object}, "clusterConcept": "String", "clusterConceptFieldNames": [Array], "dataset": {Object}, "domainName": "String", "groupByFieldName": "String", "groupUnclusteredRecords": Boolean, "inputFieldNames": [Array], "label": "String", "maxTimeWindowForUpdate" : Number, "minRecordsPerCluster" : Number, "minRowCount": "String", "processingLanguage": "String", "stopwords": [Array], "trainingFrequency": "String", "updateFrequency": "String" } |
| config.algorithmConfig | 객체 | 필수 알고리즘 구성 속성을 포함하는 JavaScript 객체입니다. 속성 설정은 속성에 algorithm 설정된 값에 따라 다릅니다. 'algorithmConfig': { "algorithm": "String", // See algorithmConfig.algorithm setting description for property settings based on algorithm } |
| config.algorithmConfig.algorithm | 문자열 | 솔루션을 인코딩하는 방법입니다. 유효한 값은 다음과 같습니다. * dbscan -- 노이즈가 있는 애플리케이션의 밀도 기반 공간 클러스터링(DBSCAN) 클러스터링 알고리즘. 이 알고리즘에 사용되는 속성: * distanceMetric * epsilon * minimumNeighbours {#ClusteringSol-ClusteringSolution_O__ul_cfy_mkk_xlb} * hdbscan -- HDBSCAN(Hierarchical Density Based Spatial Clustering of Applications with Noise) 클러스터링 알고리즘. 이 알고리즘에 사용되는 속성: * minimumSamples {#ClusteringSol-ClusteringSolution_O__ul_o3n_zcw_wnb} * kmeans -- K-means 클러스터링 알고리즘. 기본값입니다. 이 속성은 targetCoverage 이 알고리즘과 함께 사용됩니다. {#ClusteringSol-ClusteringSolution_O__ul_wtd_l2k_xlb} 일부 사용자는 클러스터링 전에 데이터의 클러스터 수를 지정할 필요가 없기 때문에 DBSCAN을 선호합니다. 다음에 대한 dbscan속성: 'algorithmConfig': { "algorithm": "dbscan", "distanceMetric": "String", "epsilon": Number, "minimumNeighbours": Number } 다음에 대한 hdbscan속성: 'algorithmConfig': { "algorithm": "hdbscan", "minimumSamples": Number } 다음에 대한 kmeans속성: 'algorithmConfig': { "algorithm": "kmeans", "targetCoverage": Number } |
| config.algorithmConfig.distanceMetric | 문자열 | DBSCAN 알고리즘만 사용할 수 있습니다. 유사한 데이터 객체를 스캔할 거리 메트릭입니다. 유효한 값: levenshteinDistance |
| config.algorithmConfig.epsilon | 번호 | DBSCAN 알고리즘만 사용할 수 있습니다. 인접 검색 반경의 크기를 나타내는 0에서 1 사이의 10진수 값입니다. |
| config.algorithmConfig.minimumNeighbours | 번호 | DBSCAN 알고리즘만 사용할 수 있습니다. 클러스터의 일부가 되기 위해 포인트에 필요한 최소 인접 항목 수입니다. levenshteinDistance 데이터 세트에서 포인트가 제외되지 않도록 값이 1이어야 합니다. |
| config.algorithmConfig.minimumSamples | 번호 | 포인트가 코어 포인트인지 확인하는 데 필요한 인접의 최소 데이터 샘플 수입니다. 기본값: 없음 |
| config.algorithmConfig.targetCoverage | 번호 | K-means 알고리즘만 사용할 수 있습니다. 서로 덜 유사한 기록을 필터링하는 백분위수 필드입니다. |
| config.cluster개념 | 문자열 | 옵션입니다. 개념 유형입니다. 개념은 빈도의 내림차순으로 나열된 단어 집합입니다. TFIDF 기반 클러스터 개념을 생성하려면 값을 `tfidf`로 설정합니다. 개념 유형은 클러스터링 정의 \[ml_capability_definition_clustering\] 테이블에 나열됩니다. 기본값: 빈도 기반 클러스터 개념 |
| config.clusterConceptFieldNames | 배열 | 옵션입니다. 클러스터 개념 필드 이름 목록입니다. 이러한 값은 클러스터 개념을 생성하기 위한 외부 열이며 클러스터 솔루션 교육에 사용되지 않습니다. 외부 열이 제공되는 경우 이러한 열은 클러스터링 솔루션 교육에는 사용되지 않고 클러스터 개념에만 사용됩니다. 클러스터 개념 필드는 클러스터링 정의 \[ml_capability_definition_clustering\] 테이블에 나열됩니다. 기본값: 입력 텍스트 열이 클러스터 개념을 생성합니다. |
| config.dataset | 객체 | [DatasetDefinition](https://servicenow-prod.fluidtopics.net/o0mItlJWRoXXtFiWYvWHUw#DatasetDefinitionAPI "DatasetDefinition API는 식별하는 메서드를 제공합니다.ML 교육 알고리즘에 대한 입력으로 사용할 테이블 이름, 열 및 행 선택 기준을 포함하는 일련의 기록입니다. 데이터 세트에는 실제 데이터가 포함되어 있지 않습니다.") 객체 이름입니다. |
| config.domainName | 문자열 | 옵션입니다. 이 데이터 세트와 연결된 도메인 이름입니다. [도메인 분리 및 예측 인텔리전스](https://www.servicenow.com/docs/access?context=domain-separation-predictive-intelligence&version=australia&pubname=australia-intelligent-experiences&ft:locale=en-US)를 참조하십시오. 기본값: 현재 도메인(예: `"전역"`). |
| config.groupByFieldName | 문자열 | 옵션입니다. 시스템이 기록을 하나 이상의 클러스터로 그룹화하는 데 사용할 필드 이름입니다. 다음 설정 예시에서 시스템은 각 유형을 개별 클러스터로 그룹화하여 10개의 클러스터를 렌더링합니다. * groupByFieldName 값은 `"범주"입니다.` * [DatasetDefinition](https://servicenow-prod.fluidtopics.net/o0mItlJWRoXXtFiWYvWHUw#DatasetDefinitionAPI "DatasetDefinition API는 식별하는 메서드를 제공합니다.ML 교육 알고리즘에 대한 입력으로 사용할 테이블 이름, 열 및 행 선택 기준을 포함하는 일련의 기록입니다. 데이터 세트에는 실제 데이터가 포함되어 있지 않습니다.") tableName 값은 `"인시던트"입니다.` * 인시던트 \[incident\] 테이블에는 10가지 범주 유형이 있습니다. {#ClusteringSol-ClusteringSolution_O__ul_bt4_y3h_dmb} |
| config.groupUnclusteredRecords | 부울 | 결과에서 클러스터되지 않은 기록을 그룹화할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 결과에서 클러스터되지 않은 기록을 별도로 그룹화합니다. * false: 결과에 클러스터되지 않은 기록을 그룹화하지 않습니다. 클러스터되지 않은 값(-1)이 나머지 결과와 함께 표시됩니다. {#ClusteringSol-ClusteringSolution_O__ul_ar4_blq_wnb} 기본값: false |
| config.inputFieldNames | 배열 | 문자열로 된 입력 필드 이름 목록입니다. 모델은 예측에 사용되는 이러한 필드를 사용합니다. |
| config.label | 문자열 | 예측 작업을 식별합니다. |
| config.maxTimeWindowForUpdate | 번호 | 옵션입니다. 기록을 찾을 모델 업데이트 포인트 이전의 시간(분)입니다. 예를 들어 값이 15이면 시스템은 이전 15분 동안 생성된 기록만 찾습니다. 기본적으로 시스템은 모든 기록을 스캔합니다. |
| config.minRecordsPerCluster | 번호 | 옵션입니다. 클러스터에서 허용하는 최소 기록 수입니다. 값은 2보다 크거나 같아야 합니다. 기본값: 2 |
| config.minRowCount | 문자열 | 옵션입니다. 교육을 위해 데이터 세트에 필요한 최소 기록 수입니다. 기본값: 10000 |
| config.processingLanguage | 문자열 | 두 글자 ISO 639-1 언어 코드 형식의 처리 언어입니다. |
| config.stopwords | 배열 | 옵션입니다. 속성 설정에 따라 시스템이 자동으로 생성하는 문자열의 사전 설정 목록입니다 language . 자세한 내용은 [사용자 지정 스톱 워드 목록 만들기](https://www.servicenow.com/docs/access?context=create-custom-stopwords-list&version=australia&pubname=australia-intelligent-experiences&ft:locale=en-US)를 참조하세요. 기본값: 영어 스톱 워드 |
| config.trainingFrequency | 문자열 | 모델을 재교육할 빈도입니다. 가능한 값: * every_30_days * every_60_days * every_90_days * every_120_days * every_180_days * run_once {#ClusteringSol-ClusteringSolution_O__ul_pmw_523_plb}기본값: run_once |
| config.updateFrequency |   | 솔루션 정의에 대한 모델을 재구축해야 하는 빈도입니다. 가능한 값: * do_not_update * every_1_day * every_1_hour * every_6_hours * every_12_hours * every_1_minute * every_15_minutes * every_30_minutes {#ClusteringSol-ClusteringSolution_O__ul_kjm_2jh_3mb}기본값: do_not_update |
[표 1. 매개변수]

{#ClusteringSol-ClusteringSolution_O__table_gm2_yt5_flb}  
다음 예제에서는 객체를 생성하고 객체를 ClusteringSolution 스토어. 이 예시에서는 학습을 위해 객체를 제출하는 방법도 보여줍니다.

    try{
        var myData = new sn_ml.DatasetDefinition({
            'tableName' : 'incident',
            'fieldNames' : ['category', 'short_description', 'state', 'description'],
            'encodedQuery' : 'activeANYTHING'
        });
          
        var mySolution = new sn_ml.ClusteringSolution({
            'label': "clustering solution",
            'dataset' : myData,
            '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());
    }

출력:

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

다음 예는 '설명' 필드를 클러스터 개념 필드로 포함하는 방법을 보여줍니다.

    var myIncidentData = new sn_ml.DatasetDefinition({
        'tableName' : 'incident',
        'fieldNames' : ['category', 'short_description', 'description'],
    });

    var mySolution = new sn_ml.ClusteringSolution({
    	'label': 'clustering_test',
    	'dataset': myIncidentData,
    	'inputFieldNames': ['short_description'],
    	'clusterConceptFieldNames': ['description']
    });

    var solutionNameFromStore = sn_ml.ClusteringSolutionStore.add(mySolution);
    var myClassifier = mySolution.submitTrainingJob(); 

## ClusteringSolution - cancelTrainingJob() {#ariaid-title3}

에 대한 작업을 취소 솔루션 객체 교육을 위해 제출된
{#ClusteringSol-cancelTrainingJob__table_bpb_k3z_llb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 2. 매개변수]

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

| 유형 | 설명 |
|-|-|
| 안 함 |   |
[표 3. 반환]

{#ClusteringSol-cancelTrainingJob__table_cpb_k3z_llb}  
다음 예는 기존 교육 작업을 취소하는 방법을 보여줍니다.

    var mySolution = sn_ml.ClusteringSolutionStore.get('ml_sn_global_global_clustering');

    mySolution.cancelTrainingJob();

## ClusteringSolution - getActiveVersion() {#ariaid-title4}

활성 항목을 가져옵니다. ClusteringSolutionVersion 객체입니다.
{#ClusteringSol-getActiveVersion__table_tvl_m3z_llb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 4. 매개변수]

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

| 유형 | 설명 |
|-|-|
| 객체 | 활성 [ClusteringSolutionVersion](https://servicenow-prod.fluidtopics.net/FR2GxXkPC~wCSFIulGhaIQ#ClusteringSolutionVersionAPI "ClusteringSolutionVersion API는 저장소에서 예측 인텔리전스 사용되는 스크립팅 가능한 개체입니다.") 개체입니다. |
[표 5. 반환]

{#ClusteringSol-getActiveVersion__table_uvl_m3z_llb}  
다음 예제에서는 클러스터링 솔루션 스토어에서 활성 버전을 가져오고 교육 상태를 반환

    var mlSolution = sn_ml.ClusteringSolutionStore.get('ml_x_snc_global_global_clustering');

    gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getStatus()), null, 2));

출력:

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

## ClusteringSolution - getAllVersions() {#ariaid-title5}

의 모든 버전을 가져옵니다. 클러스터링 솔루션입니다.
{#ClusteringSol-getAllVersions__table_tvl_m3z_llb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 6. 매개변수]

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

| 유형 | 설명 |
|-|-|
| 배열 | 솔루션 객체의 기존 버전입니다. 더 보기 [ClusteringSolutionVersion](https://servicenow-prod.fluidtopics.net/FR2GxXkPC~wCSFIulGhaIQ#ClusteringSolutionVersionAPI "ClusteringSolutionVersion API는 저장소에서 예측 인텔리전스 사용되는 스크립팅 가능한 개체입니다.") API입니다. |
[표 7. 반환]

{#ClusteringSol-getAllVersions__table_uvl_m3z_llb}  
다음 예제에서는 모든 ClusteringSolution 버전 개체를 가져오고 getVersionNumber() 및 getStatus() 솔루션 버전 메서드를 호출하는 방법을 보여 줍니다.

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

출력:

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

의 최신 버전을 가져옵니다. 해결책.
{#ClusteringSol-getLatestVersion__table_tvl_m3z_llb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 8. 매개변수]

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

| 유형 | 설명 |
|-|-|
| 객체 | [ClusteringSolutionVersion](https://servicenow-prod.fluidtopics.net/FR2GxXkPC~wCSFIulGhaIQ#ClusteringSolutionVersionAPI "ClusteringSolutionVersion API는 저장소에서 예측 인텔리전스 사용되는 스크립팅 가능한 개체입니다.") 의 최신 버전에 해당하는 객체 a [ClusteringSolution()](https://servicenow-prod.fluidtopics.net/DbwgoKMHQz4uqf6cC4ea2w#ClusteringSol-ClusteringSolution_O "클러스터 솔루션을 작성합니다.")입니다. |
[표 9. 반환]

{#ClusteringSol-getLatestVersion__table_uvl_m3z_llb}  
다음 예제에서는 솔루션의 최신 버전을 가져오 고 교육 상태를 반환하는 방법을 보여줍니다.{#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));

출력:

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

## ClusteringSolution - getName() {#ariaid-title7}

스토어와의 상호작용에 사용할 객체의 이름을 가져옵니다.
{#ClusteringSol-getName__table_pps_43z_llb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 10. 매개변수]

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

| 유형 | 설명 |
|-|-|
| 문자열 | 솔루션 객체의 이름입니다. |
[표 11. 반환]

{#ClusteringSol-getName__table_qps_43z_llb}  
다음 예제에서는 클러스터링 솔루션 데이터 세트 정보를 업데이트하고 객체 이름을 인쇄하는

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

출력:

    Solution Name: ml_x_snc_global_global_clustering_solution

## ClusteringSolution - getProperties() {#ariaid-title8}

솔루션 객체 속성 가져오기.
{#ClusteringSol-getProperties__table_pps_43z_llb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 12. 매개변수]

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

| 유형 | 설명 |
|-|-|
| 객체 | [ClusteringSolutionStore](https://servicenow-prod.fluidtopics.net/Z3QQC4Wy4pOD3UsNSkx4Ig#ClusteringSolutionStoreAPI "솔루션을 저장하고 검색할 수 있습니다 .")의 데이터 세트 및 [ClusteringSolution()](https://servicenow-prod.fluidtopics.net/DbwgoKMHQz4uqf6cC4ea2w#ClusteringSol-ClusteringSolution_O "클러스터 솔루션을 작성합니다.") 개체 세부 정보의 내용입니다. { "algorithmConfig": {Object}, "datasetProperties": {Object}, "domainName": "String", "groupByFieldName": "String", "inputFieldNames": [Array], "label": "String", "minRecordsPerCluster" : Number, "name": "String", "processingLanguage": "String", "scope": "String", "stopwords": [Array], "trainingFrequency": "String", "updateFrequency": "String" } |
| \<Object\>.algorithmConfig | 알고리즘 구성 속성을 포함하는 JavaScript 객체입니다. 속성 결과는 속성에 algorithm 설정된 값에 따라 달라집니다. 'algorithmConfig' : { "algorithm": "String", // See algorithmConfig.algorithm setting description for property settings based on algorithm } 데이터 유형: 객체. |
| \<Object\>.algorithmConfig.algorithm | 솔루션을 인코딩하는 방법입니다. 다음에 대한 dbscan속성: 'algorithmConfig': { "algorithm": "dbscan", "distanceMetric": "String", "epsilon": Number, "minimumNeighbours": Number } 다음에 대한 kmeans속성: 'algorithmConfig': { "algorithm": "kmeans", "targetCoverage": Number } 데이터 유형: 문자열. |
| \<Object\>.algorithmConfig.distanceMetric | DBSCAN 알고리즘만 사용할 수 있습니다. 유사한 데이터 객체를 스캔할 거리 메트릭입니다. 데이터 유형: 문자열. |
| \<Object\>.algorithmConfig.epsilon | DBSCAN 알고리즘만 사용할 수 있습니다. 인접 검색 반경의 크기를 나타내는 0에서 1 사이의 10진수 값입니다. 데이터 유형: 숫자. |
| \<Object\>.algorithmConfig.minimumNeighbours | DBSCAN 알고리즘만 사용할 수 있습니다. 클러스터의 일부가 되기 위해 포인트에 필요한 최소 인접 항목 수입니다. levenshteinDistance 데이터 세트에서 포인트가 제외되지 않도록 값이 1이어야 합니다. 데이터 유형: 숫자. |
| \<Object\>.algorithmConfig.targetCoverage | K-means 알고리즘만 사용할 수 있습니다. 서로 덜 유사한 기록을 필터링하는 백분위수 필드입니다. 데이터 유형: 숫자. |
| \<Object\>.datasetProperties | 솔루션과 연결된 [DatasetDefinition()](https://servicenow-prod.fluidtopics.net/o0mItlJWRoXXtFiWYvWHUw#DDef-DatasetDefinition_O "테이블 이름, 필드 및 쿼리로 데이터 세트를 정의할 수 있도록 DatasetDefinition 클래스의 인스턴스를 만듭니다.") 개체의 속성을 나열합니다. { "encodedQuery": "String", "fieldDetails": [Array], "fieldNames": [Array], "tableName": "String" } 데이터 유형: 객체. |
| \<Object\>.datasetProperties.tableName | 데이터 세트의 테이블 이름입니다. 예: `"tableName" : "Incident"`. 데이터 유형: 문자열. |
| \<Object\>.datasetProperties.fieldNames | 지정된 테이블의 필드 이름을 문자열로 나열합니다. 예: `"fieldNames" : ["short_description", "priority"]`. 데이터 유형: 배열. |
| \<Object\>.datasetProperties.fieldNames.fieldDetails | 필드 속성을 지정하는 JavaScript 객체의 목록입니다. [ { "name": "String", "type": "String" } ] 데이터 유형: 배열. |
| \<Object\>.datasetProperties.fieldNames.fieldDetails.\<object\>. 이름 | 이 데이터 세트를 제한하는 정보 유형을 정의하는 필드의 이름입니다. 데이터 유형: 문자열. |
| \<Object\>.datasetProperties.fieldDetails.\<object\>. 유형 | 머신 러닝 필드 유형입니다. 데이터 유형: 문자열. |
| \<Object\>.datasetProperties.fieldDetails.encodedQuery | 표준 Glide 형식으로 인코딩된 쿼리 문자열입니다. [인코딩된 쿼리 문자열을 참조하세요.](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=australia&pubname=australia-platform-user-interface&ft:locale=en-US) 데이터 유형: 문자열. |
| \<Object\>.domainName | 이 데이터 세트와 연결된 도메인 이름입니다. [도메인 분리 및 예측 인텔리전스](https://www.servicenow.com/docs/access?context=domain-separation-predictive-intelligence&version=australia&pubname=australia-intelligent-experiences&ft:locale=en-US)를 참조하십시오. 데이터 유형: 문자열. |
| \<Object\>.groupByFieldName | 시스템이 기록을 하나 이상의 클러스터로 그룹화하는 데 사용할 필드 이름입니다. 데이터 유형: 문자열 |
| \<Object\>.inputFieldNames | 문자열로 된 입력 필드 이름 목록입니다. 모델은 예측에 사용되는 이러한 필드를 사용합니다. 데이터 유형: 문자열. |
| \<Object\>.label | 예측 작업을 식별합니다. { "label": "my first prediction" } 데이터 유형: 문자열. |
| \<Object\>.minRecordsPerCluster | 클러스터에서 허용하는 최소 기록 수입니다. 데이터 유형: 숫자. |
| \<Object\>.name | 시스템에서 할당한 이름입니다. 데이터 유형: 문자열. |
| \<Object\>.predictedFieldName | 예측 가능성을 학습시킬 필드를 식별합니다. 데이터 유형: 문자열. |
| \<Object\>.processingLanguage | 두 글자 ISO 639-1 언어 코드 형식의 처리 언어입니다. 데이터 유형: 문자열. |
| \<Object\>.scope | 객체 범위입니다. 현재 유효한 값은 `전역`입니다. 데이터 유형: 문자열 |
| \<Object\>.stopwords | 옵션입니다. 속성 설정에 따라 시스템이 자동으로 생성하는 문자열의 사전 설정 목록입니다 language . 자세한 내용은 [사용자 지정 스톱 워드 목록 만들기](https://www.servicenow.com/docs/access?context=create-custom-stopwords-list&version=australia&pubname=australia-intelligent-experiences&ft:locale=en-US)를 참조하세요. 데이터 유형: 배열. |
| \<Object\>.trainingFrequency | 모델을 재교육할 빈도입니다. 가능한 값: * every_30_days * every_60_days * every_90_days * every_120_days * every_180_days * run_once {#ClusteringSol-getProperties__ul_pmw_523_plb}기본값: run_once 데이터 유형: 문자열. |
| \<Object\>.updateFrequency | 솔루션 정의에 대한 모델을 재구축해야 하는 빈도입니다. 가능한 값: * do_not_update * every_1_day * every_1_hour * every_6_hours * every_12_hours * every_1_minute * every_15_minutes * every_30_minutes {#ClusteringSol-getProperties__ul_kjm_2jh_3mb}기본값: do_not_update 데이터 유형: 문자열 |
[표 13. 반환]

{#ClusteringSol-getProperties__table_qps_43z_llb}  
다음 예제에서는 저장소에 있는 솔루션 개체의 속성을 가져옵니다.{#ClusteringSol-getProperties__mlsol-getProps-example-other1}

    var myCluster = new sn_ml.ClusteringSolutionStore.get("ml_x_snc_global_global_clustering_solution");

    gs.print(JSON.stringify(JSON.parse(myCluster.getProperties()), null, 2));

출력:

    *** Script: {
      "algorithmConfig": {
        "algorithm": "kmeans",
        "targetCoverage": "90"
      },
      "datasetProperties": {
        "tableName": "incident",
        "fieldNames": [
          "category",
          "short_description",
          "state",
          "description"
        ],
        "encodedQuery": "activeANYTHING"
      },
      "domainName": "global",
      "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(문자열 버전) {#ariaid-title9}

솔루션을 가져옵니다. 제공된 버전 번호를 기준으로 합니다.
{#ClusteringSol-getVersion_S__table_pps_43z_llb__entry__3}{#ClusteringSol-getVersion_S__mlsol-gerversion-returns-other}

| 이름 | 유형 | 설명 |
|-|-|-|
| 버전 | 문자열 | 솔루션의 기존 버전 번호입니다. |
[표 14. 매개변수]

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

| 유형 | 설명 |
|-|-|
| 객체 | [ClusteringSolutionVersion](https://servicenow-prod.fluidtopics.net/FR2GxXkPC~wCSFIulGhaIQ#ClusteringSolutionVersionAPI "ClusteringSolutionVersion API는 저장소에서 예측 인텔리전스 사용되는 스크립팅 가능한 개체입니다.") API 메서드를 호출할 수 있는 [지정된 버전의 ClusteringSolution()](https://servicenow-prod.fluidtopics.net/DbwgoKMHQz4uqf6cC4ea2w#ClusteringSol-ClusteringSolution_O "클러스터 솔루션을 작성합니다.") 개체입니다. |
[표 15. 반환]

{#ClusteringSol-getVersion_S__table_qps_43z_llb}  
다음 예제에서는 버전 번호로 솔루션의 교육 상태를 가져오는 방법을 보여줍니다.{#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));

출력:

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

## ClusteringSolution - setActiveVersion(문자열 버전) {#ariaid-title10}

스토어에서 지정된 버전의 솔루션을 활성화합니다.
{#ClusteringSol-setActiveVersion_S__table_pps_43z_llb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 버전 | 문자열 | 활성화할 [ClusteringSolution()](https://servicenow-prod.fluidtopics.net/DbwgoKMHQz4uqf6cC4ea2w#ClusteringSol-ClusteringSolution_O "클러스터 솔루션을 작성합니다.") 개체 버전의 이름입니다. 이 버전을 활성화하면 다른 버전이 비활성화됩니다. |
[표 16. 매개변수]

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

| 유형 | 설명 |
|-|-|
| 안 함 |   |
[표 17. 반환]

{#ClusteringSol-setActiveVersion_S__table_qps_43z_llb}  
다음 예는 스토어에서 솔루션 버전을활성화하는 방법을 보여줍니다.{#ClusteringSol-setActiveVersion_S__mlsol-setActive-example1}

    sn_ml.ClusteringSolution.setActiveVersion("ml_incident_categorization");

## ClusteringSolution - submitTrainingJob() {#ariaid-title11}

교육 작업을 제출합니다.
주:  
이 메서드를 실행하기 전에 먼저 [ClusteringSolutionStore - add()](https://servicenow-prod.fluidtopics.net/Z3QQC4Wy4pOD3UsNSkx4Ig#ClusteringStore-add_O "스토어에 새 솔루션 객체를 추가 하고 고유한 이름을 반환합니다.") 메서드를 사용하여 저장소에 솔루션을 추가해야 합니다.
{#ClusteringSol-submitTrainingJob__table_xmd_33z_llb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 18. 매개변수]

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

| 유형 | 설명 |
|-|-|
| 객체 | [ClusteringSolutionVersion](https://servicenow-prod.fluidtopics.net/FR2GxXkPC~wCSFIulGhaIQ#ClusteringSolutionVersionAPI "ClusteringSolutionVersion API는 저장소에서 예측 인텔리전스 사용되는 스크립팅 가능한 개체입니다.") 객체에 해당하는 객체입니다. [ClusteringSolution](https://servicenow-prod.fluidtopics.net/DbwgoKMHQz4uqf6cC4ea2w#ClusteringSol-ClusteringSolution_O "클러스터 솔루션을 작성합니다.") 학습 중인 |
[표 19. 반환]

{#ClusteringSol-submitTrainingJob__table_ymd_33z_llb}  
다음 예제에서는 데이터 세트를 만들고, 솔루션에 적용하고, 솔루션을 스토어에 추가하고, 교육 작업을 제출하는 방법을 보여 줍니다.{#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'

    });

    // Create a solution 
    var mySolution = new sn_ml.ClusteringSolution({

      '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.ClusteringSolutionStore.add(mySolution);

    // Train the solution - this is a long running job 
    var myClusterVersion = mySolution.submitTrainingJob();


