RegressionSolution - 전역

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기19분
  • RegressionSolution API는 스토어에 사용되는 스크립팅 가능한 객체입니다예측 인텔리전스.

    API에는 예측 인텔리전스 플러그인(com.glide.platform_ml)이 필요하며 sn_ml 네임스페이스 내에서 제공됩니다.

    솔루션 설정-교육 흐름은 다음과 같습니다.
    1. DatasetDefinition API를 사용하여 데이터 세트를 생성합니다.
    2. 옵션입니다. 인코더 API를 사용하여 인코더를 빌드합니다.
    3. 생성자를 사용하여 회귀 솔루션 개체를 만듭니다.
    4. RegressionSolutionStore - add() 메서드를 사용하여 회귀 솔루션 저장소에 솔루션 개체를 추가합니다.
    5. submitTrainingJob() 메서드를 사용하여 솔루션을 교육합니다. 이렇게 하면 RegressionSolutionVersion API를 사용하여 관리할 수 있는 객체 버전이 생성됩니다.
    6. RegressionSolutionVersion – predict() 메서드를 사용하여 예측을 가져옵니다.
    주:
    이 API는 전체 권한으로 실행됩니다 . 사용자 액세스를 제한하려면 스크립트에 액세스 제어 메커니즘을 포함합니다.

    사용 지침은 ML API 사용을 참조하세요.

    RegressionSolution - RegressionSolution(객체 구성)

    회귀 솔루션을 생성합니다.

    표 1. 매개변수
    이름 유형 설명
    구성 객체 의 구성 속성을 포함하는 JavaScript 객체 용액.
    {
      "algorithmConfig": {Object},
      "dataset": {Object},
      "domainName": "String",
      "encoder": {Object},
      "inputFieldNames": [Array],
      "label": "String",
      "minRowCount": "String",
      "predictedFieldName": "String",
      "predictedInterval": [Array],
      "processingLanguage": "String",
      "stopwords": [Array],
      "trainingFrequency": "String"
    }
    config.dataset 객체 DatasetDefinition 이름입니다.
    config.domainName 문자열 옵션입니다. 이 데이터 세트와 연결된 도메인 이름입니다. 도메인 분리 및 예측 인텔리전스를 참조하십시오.

    기본값: 현재 도메인(예: "전역")

    config.encoder (영문) 객체 옵션입니다. 이 솔루션에 할당할 학습된 인코더 개체입니다. 인코더 - 인코더(개체 구성) 문서를 참조하십시오.
    config.inputFieldNames 배열 문자열로 표시된 입력 필드 이름의 목록입니다. 모델은 예측을 수행하는 데 사용되는 이러한 필드를 사용합니다.
    config.label 문자열 예측 작업을 식별합니다.
    config.minRowCount (영문) 문자열 옵션입니다. 교육을 위해 데이터 세트에 필요한 최소 기록 수입니다.

    기본값: 10000

    config.predictedFieldName 문자열 를 설정 predictedInterval하지 않는 한 필수입니다. 예측 가능성을 교육할 필드를 식별합니다.
    config.predictedInterval 배열 를 설정 predictedFieldName하지 않는 한 필수입니다. 신뢰도에 대한 솔루션을 교육할 필드 범위를 설정합니다. 숫자가 아닌 날짜 필드 2개 제공을 지원합니다. 예를 들면 'predictedInterval': ['sys_updated_on', 'sys_created_on']와 같습니다.
    config.processingLanguage 문자열 옵션입니다. 두 글자 ISO 639-1 언어 코드 형식의 처리 언어.

    기본값 : "en"

    config.stopwords 배열 옵션입니다. 속성 설정에 따라 시스템이 자동으로 생성하는 사전 설정 문자열 목록입니다 language . 자세한 내용은 사용자 지정 스톱 워드 목록 만들기를 참조하세요.

    기본값: 영어 스톱 워드

    config.trainingFrequency 문자열 모델을 재교육하는 빈도입니다.
    가능한 값:
    • every_30_days
    • every_60_days
    • every_90_days
    • every_120_days
    • every_180_days
    • run_once
    기본값: run_once

    다음 예제에서는 개체를 만들고 RegressionSolution 저장소.

    var myNewData = new sn_ml.DatasetDefinition(
      { 
         'tableName' : 'incident', 
         'fieldNames' : ['category', 'short_description', 'priority'],
         'fieldDetails' : [
           {
             'name' : 'category',
             'type' : 'nominal'
           },
           {
             'name' : 'short_description',
             'type' : 'text'
           }], 
         'encodedQuery' : 'activeANYTHING'
      });
    
    var mySimSolution = new sn_ml.SimilaritySolution({
      'label': "my solution definition",
      'dataset' : myNewData,
      'predictedFieldName' : 'category',
      'inputFieldNames': ['short_description']
    });
    
    var mySimilarityName = sn_ml.SimilaritySolutionStore.add(mySimSolution);

    다음 예제에서는 속성을 사용하여 predictedInterval 훈련시킬 객체를 만드는 방법을 보여줍니다.

    var myIncidentData = new sn_ml.DatasetDefinition({
    'tableName' : 'incident',
    'fieldNames' : ['short_description', 'sys_updated_on','sys_created_on'],
    'encodedQuery' : 'activeANYTHING'
    });
     
    var mySolution = new sn_ml.RegressionSolution({
    'label': 'reg assinGroup',
    'dataset' : myIncidentData,
    'predictedInterval': ['sys_updated_on', 'sys_created_on'],
    'inputFieldNames': ['short_description']
    });
     
    var my_unique_name = sn_ml.RegressionSolutionStore.add(mySolution)

    RegressionSolution - cancelTrainingJob()

    에 대한 작업을 취소 솔루션 객체 교육을 위해 제출된

    표 2. 매개변수
    이름 유형 설명
    없음
    표 3. 반환
    유형 설명
    없음

    다음 예제에서는 기존 학습 작업을 취소하는 방법을 보여 줍니다.

    var mySolution = sn_ml.RegressionSolutionStore.get('ml_sn_global_global_regression');
    
    mySolution.cancelTrainingJob();

    RegressionSolution - getActiveVersion()

    활성 항목을 가져옵니다. RegressionSolutionVersion 객체입니다.

    표 4. 매개변수
    이름 유형 설명
    없음
    표 5. 반환
    유형 설명
    객체 활성 RegressionSolutionVersion 객체입니다.

    하는 방법을 보여 줍니다 회귀 솔루션 스토어에서 활성 버전을 가져오고 학습 상태를 반환

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

    출력:

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

    RegressionSolution - getAllVersions()

    다음의 모든 버전을 가져옵니다.RegressionSolution 개체입니다.

    표 6. 매개변수
    이름 유형 설명
    없음
    표 7. 반환
    유형 설명
    배열 솔루션 객체의 기존 버전. 참고 항목 RegressionSolutionVersion API입니다.

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

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

    회귀 솔루션 - getLatestVersion()

    의 최신 버전을 가져옵니다. 해결책.

    표 8. 매개변수
    이름 유형 설명
    없음
    표 9. 반환
    유형 설명
    객체 RegressionSolutionVersion 최신 버전에 해당하는 객체 a RegressionSolution()입니다.

    다음 예제에서는 솔루션의 최신 버전을 가져오 고 교육 상태를 반환하는 방법을 보여 줍니다.

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

    출력:

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

    RegressionSolution - getName()

    저장소와의 상호 작용에 사용할 개체의 이름을 가져옵니다.

    표 10. 매개변수
    이름 유형 설명
    없음
    표 11. 반환
    유형 설명
    문자열 솔루션 객체의 이름입니다.

    하는 방법을 보여 줍니다 회귀 솔루션 데이터 세트 정보를 업데이트하고 개체의 이름을 인쇄

    // Update solution
    var myIncidentData = new sn_ml.DatasetDefinition({
       'tableName' : 'incident',
       'fieldNames' : ['category', 'short_description', 'priority'],
       'encodedQuery' : 'activeANYTHING'
    });
    
    var eligibleFields = JSON.parse(myIncidentData.getEligibleFields('regression'));
    
    var myRegression = new sn_ml.RegressionSolution({
       'label': "my regression solution",
       'dataset' : myIncidentData,
       'inputFieldNames': eligibleFields['eligibleInputFieldNames'],
       'predictedFieldName': 'category'
    });
    
    // update solution
    sn_ml.RegressionSolutionStore.update('ml_x_snc_global_global_my_solution_definition_4', myRegression);
    
    // print solution name
    gs.print('Solution Name: '+myRegression.getName());

    출력:

    Solution Name: ml_x_snc_global_global_my_solution_definition_4

    RegressionSolution - getProperties()

    솔루션 객체 속성 가져오기.

    표 12. 매개변수
    이름 유형 설명
    없음
    표 13. 반환
    유형 설명
    객체 RegressionSolutionStore의 Dataset 및 RegressionSolution() 개체 세부 정보의 내용입니다.
    {
      "datasetProperties": {Object},
      "domainName": "String",
      "encoder": {Object},
      "inputFieldNames": [Array],
      "label": "String",
      "name": "String",
      "predictedFieldName": "String",
      "predictedInterval": [Array],
      "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "trainingFrequency": "String"
    }
    <Object>.dataset속성

    솔루션과 연결된 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 형식으로 인코딩된 쿼리 문자열입니다. 인코딩된 쿼리 문자열을 참조하세요.

    데이터 형식: 문자열.

    <Object>.domainName 이 데이터 세트와 연결된 도메인 이름입니다. 도메인 분리 및 예측 인텔리전스를 참조하십시오.

    데이터 형식: 문자열.

    <Object>.인코더 이 솔루션에 할당된 인코더 개체입니다. 인코더 - 인코더(개체 구성) 문서를 참조하십시오.

    데이터 형식: 개체.

    <Object>.input필드 이름 문자열로 표시된 입력 필드 이름의 목록입니다. 모델은 예측을 수행하는 데 사용되는 이러한 필드를 사용합니다.

    데이터 형식: 문자열.

    <Object>.레이블 예측 작업을 식별합니다.
    {
      "label": "my first prediction"
    }

    데이터 형식: 문자열.

    <Object>.이름 시스템에서 할당한 이름입니다.

    데이터 형식: 문자열.

    <Object>.predictedFieldName 예측 가능성을 교육할 필드를 식별합니다.

    데이터 형식: 문자열.

    <Object>.predictedInterval 예측 신뢰 수준을 지정하는 값의 범위입니다.

    데이터 유형: 배열

    <Object>.processingLanguage 두 글자 ISO 639-1 언어 코드 형식의 처리 언어.

    데이터 형식: 문자열.

    <Object>.범위 개체 범위입니다. 현재 유일하게 유효한 값은 global입니다.

    데이터 유형: 문자열

    <Object>.stopwords 옵션입니다. 속성 설정에 따라 시스템이 자동으로 생성하는 사전 설정 문자열 목록입니다 language . 자세한 내용은 사용자 지정 스톱 워드 목록 만들기를 참조하세요.

    데이터 형식: 배열.

    <Object>.training빈도 모델을 재교육하는 빈도입니다.
    가능한 값:
    • every_30_days
    • every_60_days
    • every_90_days
    • every_120_days
    • every_180_days
    • run_once
    기본값: run_once

    데이터 형식: 문자열.

    다음 예제에서는저장소에 있는 솔루션 개체의 속성을 가져옵니다.

    var mySolution = sn_ml.RegressionSolutionStore.get('ml_sn_global_global_regression_solution');
    
    gs.print(JSON.stringify(JSON.parse(mySolution.getProperties()), null, 2));
    출력:
    *** Script: {
      "datasetProperties": {
        "tableName": "cloudinfratext",
        "fieldNames": [
          "short_description",
          "sourcedc",
          "targetdc",
          "dbsize",
          "duration"
        ]
      },
      "domainName": "global",
      "encoderProperties": {
        "datasetsProperties": [],
        "name": "wc_regression"
      },
      "inputFieldNames": [
        "short_description",
        "sourcedc",
        "targetdc",
        "dbsize"
      ],
      "label": "Regression Test for DB Restore",
      "name": "ml_x_snc_global_global_regression",
      "predictedFieldName": "duration",
      "processingLanguage": "en",
      "scope": "global",
      "stopwords": [
        "Default English Stopwords"
      ],
      "trainingFrequency": "every_30_days"
    }

    RegressionSolution - getVersion(문자열 버전)

    솔루션을 가져옵니다. 제공된 버전 번호 기준.

    표 14. 매개변수
    이름 유형 설명
    버전 문자열 솔루션의 기존 버전 번호입니다.
    표 15. 반환
    유형 설명
    객체 RegressionSolutionVersion API 메서드를 호출할 수 있는 RegressionSolution() 객체의 지정된 버전입니다.

    다음 예제에서는 버전 번호별로 솔루션의 교육 상태를 가져오는 방법을 보여 줍니다.

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

    출력:

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

    RegressionSolution - setActiveVersion(문자열 버전)

    저장소에서 지정된 버전의 솔루션을 활성화합니다.

    표 16. 매개변수
    이름 유형 설명
    버전 문자열 활성화할 RegressionSolution() 객체 버전의 이름입니다.

    이 버전을 활성화하면 다른 버전은 비활성화됩니다.

    표 17. 반환
    유형 설명
    없음

    다음 예제에서는 스토어에서 솔루션 버전을활성화하는 방법을 보여 줍니다.

    sn_ml.RegressionSolution.setActiveVersion("ml_incident_categorization");

    RegressionSolution - submitTrainingJob()

    교육 작업을 제출합니다.

    주:
    이 메서드를 실행하기 전에 먼저 RegressionSolutionStore - add() 메서드를 사용하여 저장소에 솔루션을 추가해야 합니다.
    표 18. 매개변수
    이름 유형 설명
    없음
    표 19. 반환
    유형 설명
    객체 RegressionSolutionVersion 개체에 해당하는 개체입니다 회귀 솔루션 교육 중인

    다음 예제에서는 데이터 세트를 만들고, 솔루션에 적용하고, 저장소에 솔루션을 추가하고, 학습 작업을 제출하는 방법을 보여 줍니다.

    // 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.RegressionSolution({
    
      '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.RegressionSolutionStore.add(mySolution);
    
    // Train the solution - this is a long running job 
    var myRegressionVersion = mySolution.submitTrainingJob();