ClassificationSolution - 전역
ClassificationSolution API는 매장에서 예측 인텔리전스 사용되는 스크립트 가능한 객체입니다.
이 API에는 플러그인(com.glide.platform_ml)이 예측 인텔리전스 필요하며 sn_ml 네임스페이스 내에서 제공됩니다.
- DatasetDefinition API를 사용하여 데이터 세트를 만듭니다.
- 옵션입니다. 인코더 API를 사용하여 인코더를 빌드합니다.
- 생성자를 사용하여 분류 솔루션 객체를 만듭니다.
- ClassificationSolutionStore - add() 메서드를 사용하여 분류 솔루션 저장소에 솔루션 객체를 추가합니다.
- submitTrainingJob() 메서드를 사용하여 솔루션을 교육합니다. 이렇게 하면 ClassificationSolutionVersion API를 사용하여 관리할 수 있는 개체 버전이 만들어집니다.
- ClassificationSolutionVersion – predict() 메서드를 사용하여 예측을 가져옵니다.
사용 지침은 ML API 사용을 참조하세요.
ClassificationSolution - ClassificationSolution(객체 구성)
분류 솔루션을 생성합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 구성 | 객체 | 의 구성 속성을 포함하는 JavaScript 객체 용액. |
| config.algorithmConfig | 객체 | 알고리즘 구성 속성을 포함하는 JavaScript 객체입니다. |
| config.algorithmConfig.algorithm | 문자열 | 솔루션을 인코딩하는 방법입니다.
가능한 값:
|
| config.algorithmConfig.targetClassRecall | 문자열 | 클래스 호출 매개변수를 적용하여 특정 클래스가 편향되도록 솔루션의 학습을 조정합니다. 형식은 "<ClassName:RecallValue>" 이며, 여기서 회수 값은 백분율을 나타내는 0에서 100 사이의 숫자입니다. 예를 들어 Email 클래스에서 교육하는 모든 레코드에 대해 이 솔루션 매개 변수를 90% 정확도로 설정하고 적용하려면 값을 "Email:90"으로 설정합니다. |
| config.dataset | 객체 | DatasetDefinition 이름입니다. |
| config.domainName | 문자열 | 옵션입니다. 이 데이터 세트와 연결된 도메인 이름입니다. 도메인 분리 및 예측 인텔리전스를 참조하십시오. 기본값: 현재 도메인(예: |
| config.encoder | 객체 | 옵션입니다. 이 솔루션에 할당할 학습된 인코더 객체입니다. 인코더 - 인코더(객체 구성) 문서를 참조하십시오. |
| config.groupByFieldName | 문자열 | 옵션입니다. 시스템이 분류 솔루션을 빌드하기 위해 기록을 그룹화하는 기준이 되는 필드 이름입니다. 사용 정보는 분류에 그룹화 기준 사용 섹션을 참조하세요. |
| config.inputFieldNames | 배열 | 문자열로 된 입력 필드 이름의 목록입니다. 모델은 예측에 사용되는 이러한 필드를 사용합니다. |
| config.label | 문자열 | 예측 작업을 식별합니다. |
| config.minRowCount | 문자열 | 옵션입니다. 교육을 위해 데이터 세트에 필요한 최소 레코드 수입니다. 기본값: 10000 |
| config.predictedFieldName | 문자열 | 예측 가능성을 위해 교육할 필드를 식별합니다. |
| config.processingLanguage | 문자열 | 옵션입니다. 두 글자 ISO 639-1 언어 코드 형식의 처리 언어입니다. 기본값: "en" |
| config.stopwords | 배열 | 옵션입니다. 속성 설정에 따라 language 시스템이 자동으로 생성하는 문자열의 사전 설정 목록입니다. 자세한 내용은 사용자 지정 중지 단어 목록 만들기를 참조하세요. 기본값: 영어 스톱 워드 |
| config.trainingFrequency | 문자열 | 모델을 재교육하는 빈도입니다.
가능한 값:
|
다음 예제에서는 개체를 만들고 ClassificationSolution 저장소.
var myData = new sn_ml.DatasetDefinition(
{
'tableName' : 'incident',
'fieldNames' : ['category', 'short_description', 'priority'],
'fieldDetails' : [
{
'name' : 'category',
'type' : 'nominal'
},
{
'name' : 'short_description',
'type' : 'text'
}],
'encodedQuery' : 'activeANYTHING'
});
var mySolution = new sn_ml.ClassificationSolution({
'label': "my solution definition",
'dataset' : myData,
'predictedFieldName' : 'category',
'inputFieldNames': ['short_description']
});
var myClassificationName = sn_ml.ClassificationSolutionStore.add(mySolution);
ClassificationSolution - cancelTrainingJob()
대한 작업을 취소합니다 솔루션 객체 교육을 위해 제출된
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 안 함 |
다음 예제에서는 기존 학습 작업을 취소하는 방법을 보여 줍니다.
var mySolution = sn_ml.ClassificationSolutionStore.get('ml_sn_global_global_classification');
mySolution.cancelTrainingJob();
ClassificationSolution - getActiveVersion()
활성 항목을 가져옵니다. ClassificationSolutionVersion 객체입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 객체 | 활성 ClassificationSolutionVersion 객체입니다. |
방법을 보여 줍니다 ClassificationSolution 저장소에서 활성 버전을 가져오고 학습 상태를 반환하는
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getStatus()), null, 2));
출력:
{
"state": "solution_complete",
"percentComplete": "100",
"hasJobEnded": "true"
}
ClassificationSolution - getAllVersions()
의 모든 버전을 가져옵니다. 분류 솔루션입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 배열 | 솔루션 객체의 기존 버전입니다. 참고 항목 ClassificationSolutionVersion API를 사용합니다. |
다음 예제에서는 모든 ClassificationSolution 버전 객체를 가져오고 객체에 대해 getVersionNumber() 및 getStatus() 솔루션 버전 메서드를 호출하는 방법을 보여줍니다.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
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"}
ClassificationSolution - getLatestVersion()
의 최신 버전을 가져옵니다. 해결책.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 객체 | ClassificationSolutionVersion 최신 버전에 해당하는 객체 a ClassificationSolution()입니다. |
다음 예제에서는 최신 버전의 솔루션을 가져오고 학습 상태를 반환하는 방법을 보여 줍니다 .
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
gs.print(JSON.stringify(JSON.parse(mlSolution.getLatestVersion().getStatus()), null, 2));
출력:
{
"state": "solution_complete",
"percentComplete": "100",
"hasJobEnded": "true"
}
ClassificationSolution - getName()
저장소와의 상호 작용에 사용할 개체의 이름을 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 솔루션 객체의 이름입니다. |
방법을 보여 줍니다 ClassificationSolution 데이터 집합 정보를 업데이트하고 개체 이름을 인쇄하는
// Update solution
var myIncidentData = new sn_ml.DatasetDefinition({
'tableName' : 'incident',
'fieldNames' : ['category', 'short_description', 'priority'],
'encodedQuery' : 'activeANYTHING'
});
var eligibleFields = JSON.parse(myIncidentData.getEligibleFields('classification'));
var myClassification = new sn_ml.ClassificationSolution({
'label': "my classification solution",
'dataset' : myIncidentData,
'inputFieldNames': eligibleFields['eligibleInputFieldNames'],
'predictedFieldName': 'category'
});
// update solution
sn_ml.ClassificationSolutionStore.update('ml_x_snc_global_global_my_solution_definition_4', myClassification);
// print solution name
gs.print('Solution Name: '+myClassification.getName());
출력:
Solution Name: ml_x_snc_global_global_my_solution_definition_4
ClassificationSolution - getProperties()
솔루션 객체 속성 가져오기.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 객체 | Dataset의 내용 및 ClassificationSolution() 개체 세부 정보는 ClassificationSolutionStore에 있습니다. |
| <Object>.algorithmConfig | 용액을 인코딩하는 방법입니다. 데이터 형식: 개체. |
| <Object>.algorithmConfig.algorithm | 이 솔루션을 학습시키기 위한 인코딩 알고리즘의 이름입니다. 가능한 값:
데이터 형식: 문자열. |
| <Object>.algorithmConfig.targetClassRecall | 특정 클래스가 편향되도록 솔루션의 학습을 조정하는 클래스 회수 매개변수입니다. 회수 값은 백분율을 나타내는 0에서 100 사이의 숫자입니다. 데이터 유형: 문자열 |
| <Object>.datasetProperties | 솔루션과 연결된 DatasetDefinition() 개체의 속성을 나열합니다.
데이터 형식: 개체. |
| <Object>.datasetProperties.tableName | 데이터 세트의 테이블 이름입니다. 예: "tableName" : "Incident". 데이터 형식: 문자열. |
| <Object>.datasetProperties.fieldNames | 문자열로 지정된 테이블의 필드 이름 목록입니다. 예: "fieldNames" : ["short_description", "priority"]. 데이터 형식: 배열. |
| <Object>.datasetProperties.fieldNames.fieldDetails | 필드 속성을 지정하는 JavaScript 객체의 목록입니다.
데이터 형식: 배열. |
| <Object>.datasetProperties.fieldNames.fieldDetails.<object>. 이름 | 이 데이터 세트를 제한할 정보의 유형을 정의하는 필드의 이름입니다. 데이터 형식: 문자열. |
| <Object>.datasetProperties.fieldDetails.<object>. 형 | 머신 러닝 필드 유형입니다. 데이터 형식: 문자열. |
| <Object>.datasetProperties.fieldDetails.encodedQuery | 표준 Glide 형식으로 인코딩된 쿼리 문자열입니다. 인코딩된 쿼리 문자열을 참조하세요. 데이터 형식: 문자열. |
| <Object>.domainName | 이 데이터 세트와 연결된 도메인 이름입니다. 도메인 분리 및 예측 인텔리전스를 참조하십시오. 데이터 형식: 문자열. |
| <Object>.인코더 | 이 솔루션에 할당된 인코더 개체입니다. 인코더 - 인코더(객체 구성) 문서를 참조하십시오. 데이터 형식: 개체. |
| <Object>.groupByFieldName | 시스템이 분류 솔루션을 빌드하기 위해 기록을 그룹화하는 기준이 되는 필드 이름입니다. 데이터 유형: 문자열 |
| <Object>.inputFieldNames | 문자열로 된 입력 필드 이름의 목록입니다. 모델은 예측에 사용되는 이러한 필드를 사용합니다. 데이터 형식: 문자열. |
| <Object>.레이블 | 예측 작업을 식별합니다.
데이터 형식: 문자열. |
| <Object>.이름 | 시스템에서 할당한 이름입니다. 데이터 형식: 문자열. |
| <Object>.predictedFieldName | 예측 가능성을 위해 교육할 필드를 식별합니다. 데이터 형식: 문자열. |
| <Object>.processingLanguage | 두 글자 ISO 639-1 언어 코드 형식의 처리 언어입니다. 데이터 형식: 문자열. |
| <Object>.범위 | 객체 범위입니다. 현재 유일하게 유효한 값은 전역입니다.데이터 유형: 문자열 |
| <Object>.stopwords | 옵션입니다. 속성 설정에 따라 language 시스템이 자동으로 생성하는 문자열의 사전 설정 목록입니다. 자세한 내용은 사용자 지정 중지 단어 목록 만들기를 참조하세요. 데이터 형식: 배열. |
| <Object>.trainingFrequency | 모델을 재교육하는 빈도입니다. 가능한 값:
데이터 형식: 문자열. |
다음 예제에서는저장소에 있는 솔루션 개체의 속성을 가져옵니다.
var mySolution = sn_ml.ClassificationSolutionStore.get('ml_sn_global_global_classification_solution');
gs.print(JSON.stringify(JSON.parse(mySolution.getProperties()), null, 2));
*** Script: {
"datasetProperties": {
"tableName": "incident",
"fieldNames": [
"category",
"short_description",
"priority",
"assignment_group.name"
],
"fieldDetails": [
{
"name": "category",
"type": "nominal"
},
{
"name": "short_description",
"type": "text"
}
]
},
"domainName": "global",
"inputFieldNames": [
"short_description"
],
"label": "my solution definition",
"name": "ml_x_snc_global_global_my_solution_definition_26",
"predictedFieldName": "category",
"processingLanguage": "en",
"scope": "global",
"stopwords": [
"Default English Stopwords"
],
"trainingFrequency": "run_once"
}ClassificationSolution - getVersion(문자열 버전)
솔루션 가져오기 제공된 버전 번호로.
| 이름 | 유형 | 설명 |
|---|---|---|
| 버전 | 문자열 | 솔루션의 기존 버전 번호입니다. |
| 유형 | 설명 |
|---|---|
| 객체 | ClassificationSolutionVersion API 메서드를 호출할 수 있는 지정된 버전의 ClassificationSolution() 객체입니다. |
다음 예제에서는 버전 번호로 솔루션의 학습 상태를 가져오는 방법을 보여 줍니다.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
gs.print(JSON.stringify(JSON.parse(mlSolution.getVersion('1').getStatus()), null, 2));
출력:
{
"state": "solution_complete",
"percentComplete": "100",
"hasJobEnded": "true"
}
ClassificationSolution - setActiveVersion(String 버전)
스토어에서 지정된 버전의 솔루션을 활성화합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 버전 | 문자열 | 활성화할 ClassificationSolution() 객체 버전의 이름입니다. 이 버전을 활성화하면 다른 버전은 비활성화됩니다. |
| 유형 | 설명 |
|---|---|
| 안 함 |
다음 예는 저장소에서 솔루션 버전을활성화하는 방법을 보여줍니다.
sn_ml.ClassificationSolution.setActiveVersion("ml_incident_categorization");
ClassificationSolution - submitTrainingJob()
교육 작업을 제출합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 객체 | ClassificationSolutionVersion 개체에 해당합니다 ClassificationSolution 학습 중인 |
다음 예제에서는 데이터 세트를 만들고, 솔루션에 적용하고, 솔루션에 솔루션을 추가하고, 학습 작업을 제출하는 방법을 보여 줍니다.
// 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.ClassificationSolution({
'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.ClassificationSolutionStore.add(mySolution);
// Train the solution - this is a long running job
var myClassifierVersion = mySolution.submitTrainingJob();