---
sourceDocument: Xanadu AI 활성화
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/xanadu/intelligent-experiences

 Release :

    - xanadu

ft:locale :

    - ko-KR

ft:publication_title :

    - Xanadu AI 활성화

ft:clusterId :

    - platai

bundleId :

    - platai

workflow :

    - Platform


---

# Machine Learning API 사용

# Machine Learning API 사용 {#ariaid-title1}

* 릴리스 버전: Xanadu
* 
* 업데이트 날짜 2024년 08월 01일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 11분

ML(Machine Learning) API를 사용하여 ServiceNow Machine Learning 모델을 학습시키고 추론을 실행합니다.
ML API를 사용하면 솔루션을 교육하고 솔루션 버전을 관리할 수 있습니다. 활성 버전을 가져와 설정하고, 교육 상태를 모니터링하는 등의 작업을 수행할 수 있습니다. ML API는 TF-IDF(term frequency--inverse document frequency)를 단어 말뭉치로 사용할 수 있는 인코더도 제공합니다. 예측 가능성 예상치를 사용하면 테이블 열의 예측 값을 평가할 수 있습니다.  
주:  
예측 인텔리전스 API 실행 . 사용자 액세스를 제한하려면 스크립트에 액세스 제어 메커니즘을 포함합니다.

## ML API 클래스 개요 {#ariaid-title2}

이 섹션에서는 ML 솔루션을 학습하고 학습된 솔루션으로 추론을 실행하기 위한 클래스에 대해 간략하게 설명합니다.

데이터 세트

:   데이터 세트는 ML 교육 알고리즘에 대한 입력으로 사용할 테이블 이름, 열 및 행 선택 기준을 포함하는 기록 세트입니다. 데이터 세트에는 실제 데이터가 포함되어 있지 않습니다.

    자세한 내용은 [DatasetDefinition](https://www.servicenow.com/docs/access?context=DatasetDefinitionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)을 참조하세요.

ML 객체 -- 솔루션, 인코더 및 추정치

:   ML 객체는 데이터 세트에 적용할 특정 학습 구성을 정의합니다. 일부 작업은 ML 객체에서 공통적입니다. 솔루션 객체에는 분류, 클러스터링, 회귀 및 유사성이 포함됩니다.

    인코더는 사용자가 제공하는 언어 데이터 세트를 기반으로 미리 학습되거나 학습된 텍스트 처리 개체입니다. 시스템에서 텍스트 필드를 해석하고 처리하는 방법을 결정하는 인코더를 학습시킬 수 있습니다. 텍스트를 포함하는 ML 솔루션의 경우 인코더를 학습시켜 텍스트를 처리하는 방법을 지정하고 학습된 인코더를 솔루션에서 사용할 수 있습니다.

    PredictabilityEstimate 개체는 데이터 집합에서 예측 가능한 필드와 이 예측 가능성의 기반이 되는 기능을 추정합니다.  
    자세한 내용은 다음을 참조하십시오.

    * [분류솔루션](https://www.servicenow.com/docs/access?context=ClassificationSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [클러스터링 솔루션](https://www.servicenow.com/docs/access?context=ClusteringSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [인코더](https://www.servicenow.com/docs/access?context=EncoderAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [예측 가능성 추정](https://www.servicenow.com/docs/access?context=PredictabilityEstimateAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [회귀 솔루션](https://www.servicenow.com/docs/access?context=RegressionSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [유사성 솔루션](https://www.servicenow.com/docs/access?context=SimilaritySolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    {#ml-api-overview__ul_tsm_t4x_gmb}

매장

:   ML 객체는 각 객체 유형에 대한 특정 저장소에서 유지 관리됩니다. 각 저장소 클래스에는 추가, 가져오기, 업데이트 및 삭제 작업에 대한 메서드가 포함되어 있습니다.

    자세한 내용은 다음을 참조하십시오.

    * [분류 솔루션 스토어](https://www.servicenow.com/docs/access?context=ClassificationSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [ClusteringSolutionStore](https://www.servicenow.com/docs/access?context=ClusteringSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [인코더 스토어](https://www.servicenow.com/docs/access?context=EncoderStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [PredictabilityEstimateStore (영문)](https://www.servicenow.com/docs/access?context=PredictabilityEstimateStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [RegressionSolutionStore](https://www.servicenow.com/docs/access?context=RegressionSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [유사성 솔루션 스토어](https://www.servicenow.com/docs/access?context=SimilaritySolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    {#ml-api-overview__ul_dvb_54x_gmb}

버전

:   학습된 각 개체는 작업을 실행할 수 있는 새 버전을 생성합니다. 버전 API를 사용하여 솔루션 버전을 가져오고 작업을 실행합니다.

    자세한 내용은 다음을 참조하십시오.

    * [ClassificationSolutionVersion](https://www.servicenow.com/docs/access?context=ClassificationSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [ClusteringSolutionVersion](https://www.servicenow.com/docs/access?context=ClusteringSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [인코더 버전](https://www.servicenow.com/docs/access?context=EncoderVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [PredictabilityEstimateVersion (영문)](https://www.servicenow.com/docs/access?context=PredictabilityEstimateVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [RegressionSolutionVersion](https://www.servicenow.com/docs/access?context=RegressionSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [SimilaritySolutionVersion (유사성솔루션버전)](https://www.servicenow.com/docs/access?context=SimilaritySolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    {#ml-api-overview__ul_c4h_54x_gmb}

### 종합: ML API 흐름 {#ml-api-overview__section_okc_y4j_gmb}

다음 흐름을 사용하여 솔루션, 인코더 및 예측 가능성 추정치를 구성하고 학습시킬 수 있습니다.그림 1. ML API 흐름 -- 솔루션, 인코더 및 추정 교육  
주:  
인코더 정의는 여러 데이터 세트 정의를 지원하지만 학습 흐름은 동일합니다.  
인코더를 사용하여 솔루션을 학습시키려면 먼저 인코더를 만든 다음, 솔루션 구성에 인코더를 포함합니다.그림 2. ML API 흐름 -- 인코더를 사용한 솔루션 API 교육

ML 개체 인코더 요구 사항:

* 유사성 API 솔루션에 필요합니다.
* Levenshtein 거리 알고리즘을 사용하지 않는 한 클러스터링 API 솔루션에 필요하며, 이 경우 인코더는 선택 사항입니다.
* 분류 및 회귀 솔루션에 대한 선택 사항입니다.
* 예측 가능성 추정치에는 사용할 수 없습니다.
{#ml-api-overview__ul_azy_z3j_gmb}

## ML API 솔루션 교육 시작하기 {#ariaid-title3}

이 세부 항목 예시를 따라 솔루션을 구성하고 교육하는 방법을 알아보십시오.

솔루션 구성 및 교육
:

    1. [DatasetDefinition](https://www.servicenow.com/docs/access?context=DatasetDefinitionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) API를 사용하여 데이터 세트를 정의합니다.  

           var myData = new sn_ml.DatasetDefinition({

             'tableName' : 'incident',
             'fieldNames' : ['assignment_group', 'short_description', 'description'],
             'encodedQuery' : 'activeANYTHING'

           });

    2. 생성자를 사용하여 구성의 데이터 세트를 포함한 솔루션을 정의합니다.  

           var mySolution = new sn_ml.ClassificationSolution({

             'label': "my solution definition",
             'dataset' : myData,
             'predictedFieldName' : 'assignment_group',
             'inputFieldNames':['short_description']

           });

       * [분류 솔루션()](https://www.servicenow.com/docs/access?context=ClassificationSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [클러스터링 솔루션()](https://www.servicenow.com/docs/access?context=ClusteringSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [인코더()](https://www.servicenow.com/docs/access?context=EncoderAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [예측 가능성 추정()](https://www.servicenow.com/docs/access?context=PredictabilityEstimateAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [회귀 솔루션()](https://www.servicenow.com/docs/access?context=RegressionSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [유사성 솔루션()](https://www.servicenow.com/docs/access?context=SimilaritySolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       {#ml-api-demo-train__ul_y2y_d3j_gmb}
    3. add() 메서드를 사용하여 저장소에 솔루션 정의를 추가합니다.  

           var my_unique_name = sn_ml.ClassificationSolutionStore.add(mySolution);

       * [ClassificationSolutionStore - add()](https://www.servicenow.com/docs/access?context=ClassificationSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [ClusteringSolutionStore -- add()](https://www.servicenow.com/docs/access?context=ClusteringSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [EncoderStore - add()](https://www.servicenow.com/docs/access?context=EncoderStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [PredictabilityEstimateStore - add()](https://www.servicenow.com/docs/access?context=PredictabilityEstimateStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [RegressionSolutionStore - add()](https://www.servicenow.com/docs/access?context=RegressionSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [SimilaritySolutionStore - add()](https://www.servicenow.com/docs/access?context=SimilaritySolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       {#ml-api-demo-train__ul_z2y_d3j_gmb}
    4. submitTrainingJob() 메서드를 사용하여 솔루션을 교육합니다. 학습이 완료되면 솔루션 버전 API를 사용하여 학습된 솔루션을 관리할 수 있습니다. 솔루션은 여러 번 재교육할 수 있습니다. 각 학습은 추론을 실행할 수 있는 새로운 솔루션 "버전"을 생성합니다.  

           var myClassifierVersion = mySolution.submitTrainingJob();

       * [ClassificationSolution - submitTrainingJob()](https://www.servicenow.com/docs/access?context=ClassificationSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [ClusteringSolutionVersion -- submitTrainingJob()](https://www.servicenow.com/docs/access?context=ClusteringSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [인코더 - submitTrainingJob()](https://www.servicenow.com/docs/access?context=EncoderAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [PredictabilityEstimate - submitTrainingJob()](https://www.servicenow.com/docs/access?context=PredictabilityEstimateAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [RegressionSolution - submitTrainingJob()](https://www.servicenow.com/docs/access?context=RegressionSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [SimilaritySolution - submitTrainingJob()](https://www.servicenow.com/docs/access?context=SimilaritySolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       {#ml-api-demo-train__ul_afy_d3j_gmb}
    {#ml-api-demo-train__ol_if1_wgs_gmb}

스토어의 모든 분류 솔루션 보기
:   저장소 getAllNames() 메서드를 사용하여 저장소에 추가된 모든 솔루션 목록을 볼 수 있습니다.  

        gs.print(JSON.stringify(JSON.parse(sn_ml.ClassificationSolutionStore.getAllNames()), null, 2));


    출력에서 시스템은 솔루션 `이름을 ml_x_snc_global_global_my_solution_definition`로 지정합니다. 버전 정보를 가져오려면 후속 예제에서 이 이름을 사용하십시오.

        *** Script: [
          "ml_incident_assignment",
          "ml_x_snc_global_global_my_solution_definition",
          "ml_incident_categorization"
        ]


    * [ClassificationSolutionStore - getAllNames()](https://www.servicenow.com/docs/access?context=ClassificationSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [ClusteringSolutionStore -- getAllNames()](https://www.servicenow.com/docs/access?context=ClusteringSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [EncoderStore - getAllNames()](https://www.servicenow.com/docs/access?context=EncoderStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [PredictabilityEstimateStore - getAllNames()](https://www.servicenow.com/docs/access?context=PredictabilityEstimateStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [RegressionSolutionStore - getAllNames()](https://www.servicenow.com/docs/access?context=RegressionSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    * [SimilaritySolutionStore - getAllNames()](https://www.servicenow.com/docs/access?context=SimilaritySolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
    {#ml-api-demo-train__ul_kxd_bjq_3mb}

## ML API 솔루션 버전 시작하기 {#ariaid-title4}

다음 세부 항목 예시에 따라 교육된 솔루션 버전을 관리하는 방법을 알아보십시오.

교육 상태 확인

:   스토어에서 분류 솔루션을 가져오고, 버전을 선택하고, 교육 상태를 확인합니다. 훈련 상태를 확인하는 데 사용되는 방법은 모든 ML 객체 유형에 적용할 수 있습니다.

    1. get() 메서드를 사용하여 분류 솔루션 저장소에서 솔루션을 가져옵니다.  

           // Get the solution created in the previous example from the classification solution store
           var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_my_solution_definition');

       * [ClassificationSolutionStore - get()](https://www.servicenow.com/docs/access?context=ClassificationSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [ClusteringSolutionStore -- get()](https://www.servicenow.com/docs/access?context=ClusteringSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [EncoderStore - get()](https://www.servicenow.com/docs/access?context=EncoderStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [PredictabilityEstimateStore - get()](https://www.servicenow.com/docs/access?context=PredictabilityEstimateStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [RegressionSolutionStore - get()](https://www.servicenow.com/docs/access?context=RegressionSolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [SimilaritySolutionStore - get()](https://www.servicenow.com/docs/access?context=SimilaritySolutionStoreAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       {#ml-api-demo-use__ul_qq2_g3q_3mb}
    2. getLatestVersion() 솔루션 메서드를 사용하여 최신 솔루션 버전에 액세스하고 getStatus() 버전 메서드를 사용하여 교육 상태를 가져옵니다.  

           // Access the latest version of the solution and print its training status
           gs.print(JSON.stringify(JSON.parse(mlSolution.getLatestVersion().getStatus(), null, 2)));

       교육이 완료되면 출력:  

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

       {#ml-api-demo-use__table_t1d_wzq_3mb__entry__2}

       | getLatestVersion()을 호출합니다. | getStatus()를 호출합니다. |
       |-|-|
       | [ClassificationSolution - getLatestVersion()](https://www.servicenow.com/docs/access?context=ClassificationSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) | [ClassificationSolutionVersion - getStatus()](https://www.servicenow.com/docs/access?context=ClassificationSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) |
       | [클러스터링 솔루션 -- getLatestVersion()](https://www.servicenow.com/docs/access?context=ClusteringSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) | [ClusteringSolutionVersion -- getStatus()](https://www.servicenow.com/docs/access?context=ClusteringSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) |
       | [인코더 - getLatestVersion()](https://www.servicenow.com/docs/access?context=EncoderAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) | [EncoderVersion - getStatus()](https://www.servicenow.com/docs/access?context=EncoderVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) |
       | [PredictabilityEstimate - getLatestVersion()](https://www.servicenow.com/docs/access?context=PredictabilityEstimateAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) | [PredictabilityEstimateVersion - getStatus()](https://www.servicenow.com/docs/access?context=PredictabilityEstimateVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) |
       | [회귀 솔루션 - getLatestVersion()](https://www.servicenow.com/docs/access?context=RegressionSolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) | [RegressionSolutionVersion - getStatus()](https://www.servicenow.com/docs/access?context=RegressionSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) |
       | [유사성 솔루션 - getLatestVersion()](https://www.servicenow.com/docs/access?context=SimilaritySolutionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) | [SimilaritySolutionVersion - getStatus()](https://www.servicenow.com/docs/access?context=SimilaritySolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) |
       [ ]

       {#ml-api-demo-use__table_t1d_wzq_3mb}
    {#ml-api-demo-use__ol_nrp_5fl_gmb}

솔루션 버전을 사용하여 예측 가져오기
:   솔루션을 학습한 후 학습된 버전을 가져와서 예측을 실행합니다. 스토어에서 만든 솔루션을 가져옵니다. 다음으로, 교육된 버전을 선택하고 교육된 버전을 예측합니다.  
    주:  
    인코더 및 예측 가능성 추정치에 대한 예측은 수행할 수 없습니다.

    1. get() 메서드를 사용하여 분류 솔루션 저장소에서 솔루션을 가져옵니다.  

           // Get the solution created in the first example from the classification solution store
           var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_my_solution_definition');

    2. [GlideRecord](https://www.servicenow.com/docs/access?context=c_GlideRecordAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) API get() 메서드를 사용하여 인시던트 \[incident\] 테이블의 기록을 제공합니다.  

           // single GlideRecord input
           var input = new GlideRecord("incident");
           input.get("<sys_id>");

    3. 옵션입니다. 상위 3개의 결과와 모든 결과를 반환하도록 ClassificationSolutionVersion -- predict() 메서드 options 매개 변수를 구성합니다.  

           // configure optional parameters
           var options = {};
           options.top_n = 3;
           options.apply_threshold = false;

    4. `results`라는 변수를 선언하고 예측 작업에 할당합니다. 예측 작업을 실행하려면 ClassificationSolution -- getLatestVersion() 메서드를 사용하여 최신 솔루션 버전을 가져오고 ClassificationSolutionVersion -- predict() 메서드를 호출합니다.  

           var results = mlSolution.getLatestVersion().predict(input, options);

       * [ClassificationSolutionVersion - predict()](https://www.servicenow.com/docs/access?context=ClassificationSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [ClusteringSolutionVersion -- predict()](https://www.servicenow.com/docs/access?context=ClusteringSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [RegressionSolutionVersion - predict()](https://www.servicenow.com/docs/access?context=RegressionSolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       * [SimilaritySolutionVersion - predict()](https://www.servicenow.com/docs/access?context=SimilaritySolutionVersionAPI&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US)
       {#ml-api-demo-use__ul_knz_5lq_3mb}
    5. 예측된 결과 출력을 출력합니다.  

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

       예측 결과 예제 출력:

           *** Script: {
             "<sys_id>": [
               {
                 "confidence": 99,
                 "threshold": 24.75,
                 "predictedValue": "Email",
                 "predictedSysId": ""
               },
               {
                 "confidence": 5.88210244009169,
                 "threshold": 100,
                 "predictedValue": "Email (I/f)",
                 "predictedSysId": ""
               },
               {
                 "confidence": 2.3461203499840932,
                 "threshold": 14.81,
                 "predictedValue": "Authentication",
                 "predictedSysId": ""
               }
             ]
           }

    {#ml-api-demo-use__ol_njr_2fk_gmb}

