ClassificationSolutionVersion - 전역
ClassificationSolutionVersion API는 저장소에서 예측 인텔리전스 사용되는 스크립트 가능한 객체입니다.
이 API에는 플러그인(com.glide.platform_ml)이 예측 인텔리전스 필요하며 sn_ml 네임스페이스 내에서 제공됩니다.
이 API는 ClassificationSolution 저장소의 ClassificationSolution API 객체를 기반으로 하는 솔루션 버전에 대한 작업에 사용됩니다.
솔루션 정의를 교육할 때마다 시스템에서 솔루션 버전을 생성합니다. 대부분의 버전은 예정된 솔루션 교육 중에 만들어집니다.
ClassificationSolutionVersion - getPredictionPerformance(객체 옵션)
솔루션 정밀도와 범위를 계산합니다.
이 메서드를 사용하려면 먼저 setPredictionSettings() 메서드를 사용하여 설정을 만들어야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 옵션 | 객체 | 날짜 범위 내에서 검색할 메트릭을 선택합니다. 자세한 내용은 대상 메트릭 구성을 참조하세요. |
| 옵션.from날짜 | 문자열 | 옵션입니다. 시스템 날짜 시간 형식으로 메트릭을 검색할 시작 날짜입니다. |
| options.metricName | 문자열 | 메트릭 이름입니다. 유효한 값은 다음과 같습니다.
|
| options.toDate | 문자열 | 옵션입니다. 메트릭을 검색할 종료 날짜입니다. 형식: 시스템 날짜 시간 형식입니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 입력 메트릭에 대한 결과를 포함하는 구문 분석 가능한 JavaScript 객체입니다. |
| Object.metricName | 입력으로 선택한 메트릭의 이름입니다. 데이터 유형: 문자열 |
| Object.metricValue | 선택한 메트릭의 값입니다. 데이터 유형: 문자열 |
| Object.numberOfRecordsConsidered | 계산에 고려된 예측 결과 [ml_predictor_results] 테이블의 기록 수입니다. 데이터 유형: 문자열 |
다음 예제에서는 솔루션의 활성 버전에서 정밀도 값을 가져오는 방법을 보여 줍니다.
// Get precision value
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getPredictionPerformance({"metricName": "precision"})), null, 2));
출력:
{
"metricName": "precision",
"metricValue": "70.10",
"numberOfPredictionsConsidered": "10"
}
ClassificationSolutionVersion - getPredictionSettings()
ML 솔루션 [ml_solution] 테이블에서 예상 정밀도, 예상 범위, 예상 회수 값을 가져오고 클래스 신뢰도 [ml_class] 테이블에서 기록을 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 객체 | 각 클래스에 대한 예측 설정을 반환합니다. 데이터에는 ML 솔루션 [ml_solution] 테이블의 훈련된 모델에 포함된 모든 클래스의 정밀도, 범위, 재현율 및 분포 값이 포함됩니다. 자세한 내용은 예측 모델 구성요소를 참조하십시오. |
| <Object>.<class 이름> | 클래스 신뢰도 [ml_class] 테이블의 교육 통계 데이터입니다. 자세한 내용은 대상 메트릭 구성을 참조하세요. 데이터 유형: 객체 |
| <Object>.<클래스 이름>.precision | 이 클래스에 대한 예상 솔루션 정확도 메트릭입니다. 데이터 유형: 문자열(숫자 값) |
| <Object>.<클래스 이름>.coverage | 이 클래스에 대한 예상 솔루션 범위 메트릭입니다. 데이터 유형: 문자열(숫자 값) |
| <Object>.<클래스 이름>.recall | 이 클래스에 대한 예상 솔루션 회수 메트릭입니다. 데이터 유형: 문자열(숫자 값) |
다음 예는 활성 솔루션 버전의 예측 설정을 가져오는 방법을 보여줍니다.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getPredictionSettings()), null, 2));
출력:
{
"solutionSettings": {
"precision": "61.69",
"coverage": "66.75",
"recall": "57.54"
},
"classSettings": {
"Approvals": {
"precision": "100",
"coverage": "0",
"recall": "0"
},
"Authentication": {
"precision": "38.71",
"coverage": "98.44",
"recall": "56.25"
},
"Automation": {
"precision": "100",
"coverage": "0",
"recall": "0"
}, ...
ClassificationSolutionVersion - getProperties()
솔루션 객체 속성 가져오기 및 버전 번호.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 객체 | 데이터 세트의 내용 및 ClassificationSolution 버전 상세 정보. 결과는 객체 특성 설정에 따라 다릅니다. |
| <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>.isActive | 이 버전이 활성 상태인지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열 |
| <Object>.레이블 | 예측 작업을 식별합니다. 데이터 유형: 문자열 |
| <Object>.이름 | 시스템에서 할당한 이름입니다. 데이터 유형: 문자열 |
| <Object>.predictedFieldName | 예측 가능성을 위해 교육할 필드를 식별합니다. 데이터 유형: 문자열 |
| <Object>.processingLanguage | 두 글자 ISO 639-1 언어 코드 형식의 처리 언어입니다. 데이터 유형: 문자열 |
| <Object>.범위 | 객체 범위입니다. 현재 유일하게 유효한 값은 전역입니다.데이터 유형: 문자열 |
| <Object>.stopwords | 옵션입니다. 속성 설정에 따라 language 시스템이 자동으로 생성하는 문자열의 사전 설정 목록입니다. 자세한 내용은 사용자 지정 중지 단어 목록 만들기를 참조하세요. 데이터 유형: 배열 |
| <Object>.trainingFrequency | 모델을 재교육하는 빈도입니다. 가능한 값:
데이터 유형: 문자열 |
| <Object>.versionNumber | 의 버전 번호 ClassificationSolution 객체입니다. 데이터 유형: 문자열 |
다음 예에서는 저장소에 있는 활성 객체 버전의 속성을 가져옵니다.
// Get properties
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getProperties()), null, 2));
출력:
*** Script: {
"datasetProperties": {
"encodedQuery": "activeANYTHING^EQ",
"fieldNames": [
"short_description",
"category"
],
"tableName": "incident"
},
"domainName": "global",
"inputFieldNames": [
"short_description"
],
"isActive": "true",
"label": "Incident Categorization_Trainer",
"name": "ml_incident_categorization",
"predictedFieldName": "category",
"processingLanguage": "en",
"stopwords": [
"Default English Stopwords"
],
"versionNumber": "1"
}
ClassificationSolutionVersion - getStatus(부울 includeDetails)
교육 완료 상태를 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 포함 상세 정보 | 부울 | 상태를 details반환할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: False |
| 유형 | 설명 |
|---|---|
| 객체 | 다음에 대한 교육 상태 정보를 포함하는 JavaScript 객체ClassificationSolution 객체입니다. |
| <Object>.상태 | 교육 완료 상태입니다. 학습 작업이 종료 상태에 도달하면 작업이 해당 상태를 벗어나지 않습니다. 상태가 터미널 hasJobEnded 이면 속성이 true로 설정됩니다.가능한 값:
데이터 유형: 문자열 |
| <Object>.hasJobEnded | 교육이 완료되었는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 문자열로서의 부울 값 |
| <Object>.percent완료 | 교육 완료율입니다. 완료율이 100보다 작으면 작업이 종료 상태일 수 있습니다. 예를 들어 교육 시간이 초과되는 경우입니다. 데이터 유형: 문자열 번호 범위: 0에서 100 |
| <Object>.세부 정보 | 추가 교육 상세 정보 목록이 포함된 객체입니다. 데이터 유형: 객체 |
다음 예제에서는 교육이 완료된 성공적인 결과를 보여 줍니다.
// Get status
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getStatus(true), null, 2)));
출력:
{
"state":"solution_complete",
"percentComplete":"100",
"hasJobEnded":"true",
"details":{"stepLabel":"Solution Complete"} // This information is only returned if getStatus(true);
}
다음 예제에서는 교육이 완료된 실패한 결과를 보여 줍니다.
// Get status
var solutionName = 'ml_x_snc_global_global_classification_solution';
var mlSolution = sn_ml.ClassificationSolutionStore.get(solutionName);
var trainingStatus = mlSolution.getLatestVersion().getStatus();
gs.print(JSON.stringify(JSON.parse(trainingStatus), null, 2));
출력:
{
"state":"solution_error",
"percentComplete":"100",
"hasJobEnded":"true"
}
ClassificationSolutionVersion - getTrainingStatistics()
지정된 솔루션에 대한 모든 교육 통계를 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 객체 | 교육에 포함된 각 클래스에 대한 통계와 교육에서 제외된 각 클래스에 대한 값이 포함된 JavaScript 객체입니다. 자세한 내용은 예측 모델 구성요소를 참조하십시오. |
| <Object>.included클래스 | 학습된 모델에 있는 각 클래스의 정밀도, 범위, 재현율 및 분포 값을 포함하는 객체입니다. 데이터 유형: 객체
|
| <Object>.includedClasses.<class name>.distribution | 이 클래스의 결과 확률 분포 값입니다. 데이터 유형: 문자열 |
| <Object>.includedClasses.<class name>.statistics | 교육 통계 데이터를 제공하는 객체의 목록입니다. 자세한 내용은 대상 메트릭 구성을 참조하세요. 데이터 유형: 객체 배열
|
| <Object>.includedClasses.<class name>.statistics.coverage | 이 클래스에 대한 예상 솔루션 범위 메트릭입니다. 데이터 유형: 문자열(숫자 값) |
| <Object>.includedClasses.<class name>.statistics.precision | 이 클래스에 대한 예상 솔루션 정확도 메트릭입니다. 데이터 유형: 문자열(숫자 값) |
| <Object>.includedClasses.<class name>.statistics.recall | 이 클래스에 대한 예상 솔루션 회수 메트릭입니다. 데이터 유형: 문자열(숫자 값) |
| <Object>.includedClasses.<class name>.statistics.selected | 이 클래스에 솔루션 교육에 포함된 기록이 포함되어 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 형식: 문자열(부울 값) 기본값: false |
| <Object>.excluded클래스 | 교육에서 제외된 모든 클래스의 분포 및 행 수입니다. 데이터 유형: 객체 |
| <Object>.excludedClasses.<class name>.distribution | 이 클래스의 결과 확률 분포 값입니다. 데이터 유형: 문자열 |
| <Object>.excludedClasses.<class name>.rowCount | 교육에서 제외된 행의 수입니다. 데이터 유형: 문자열(숫자 값) |
다음 예제에서는 활성 솔루션에서 교육 통계를 가져오는 방법을 보여 줍니다.
// Get training stats
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getTrainingStatistics()), null, 2));
출력:
{
"includedClasses": {
"Approvals": {
"distribution": "0.43",
"statistics": [
{
"precision": "100",
"coverage": "0",
"recall": "0",
"selected": "true"
}
]
},
"Authentication": {
"distribution": "4.3",
"statistics": [
{
"precision": "39.33",
"coverage": "95.31",
"recall": "54.69",
"selected": "false"
},
{
"precision": "100",
"coverage": "0",
"recall": "0",
"selected": "false"
},
...
}
...
"excludedClasses": {
"ACE": {
"distribution": "0.11",
"rowCount": "9"
},
"AHA": {
"distribution": "0.01",
"rowCount": "1"
},
...
}
ClassificationSolutionVersion - getVersionNumber()
의 버전 번호를 가져옵니다. 솔루션 객체입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 버전 번호입니다. |
다음 예제에서는 버전 번호를 가져오는 방법을 보여 줍니다.
// Get version number
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print("Version number: "+JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getVersionNumber()), null, 2));
출력:
Version number: 1
ClassificationSolutionVersion - predict(객체 입력, 객체 옵션)
예측에 대한 입력 데이터를 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 입력 | 객체 | 글라이드레코드 또는 필드 이름과 값을 키-값 쌍으로 포함하는 JSON 객체의 배열입니다. |
| 옵션 | 객체 | 예측 결과를 필터링하기 위한 선택적 값입니다. |
| options.apply_threshold | 부울 | 솔루션의 임계값을 확인하고 결과 집합에 적용할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: True |
| options.top_n | 번호 | 제공된 경우 지정된 예측 수까지 상위 결과를 반환합니다. |
| 유형 | 설명 |
|---|---|
| 객체 | sys_id 또는 record_number별로 정렬된 예측 결과를 포함하는 JSON 객체입니다. |
| <Object>.<identifier> | 각 예측 결과에 대한 상세 정보가 포함된 객체의 목록입니다. 데이터 유형: 객체 배열
|
| <Object>.<identifier>.<object>. 자신 | 예측과 연결된 신뢰도의 값입니다. 예를 들어 53.84입니다. 데이터 유형: 숫자 |
| <Object>.<identifier>.<object>. 예측된 SysId | 예측 값의 sys_id입니다. 결과는 정보가 예측되는 모든 테이블에서 나올 수 있습니다. 데이터 유형: 문자열 |
| <Object>.<identifier>.<object>. 예측값 | 예측 결과를 나타내는 값입니다. 데이터 유형: 문자열 |
| <Object>.<identifier>.<object>. 문지방 | 예측과 연결된 구성된 임계치의 값입니다. 데이터 유형: 숫자 |
다음 예는 입력에 대해 GlideRecord by sys_id를 사용하고 상위 3개 결과로 제한하고 임계값을 제외하는 선택적 매개변수를 포함하는 predict() 메서드에 대한 예측 결과를 표시하는 방법을 보여줍니다.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
// single GlideRecord input
var input = new GlideRecord("incident");
input.get("<sys_id>");
// configure optional parameters
var options = {};
options.top_n = 3;
options.apply_threshold = false;
var results = mlSolution.getVersion(1).predict(input, options);
// pretty print JSON results
gs.print(JSON.stringify(JSON.parse(results), null, 2));
출력:
{
"<sys_id/gr>": [
{
"confidence": 62.10782320780268,
"threshold": 20.36,
"predictedValue": "Clone Issues",
"predictedSysId": ""
},
{
"confidence": 6.945237375770391,
"threshold": 16.63,
"predictedValue": "Instance Administration",
"predictedSysId": ""
},
{
"confidence": 5.321061076300759,
"threshold": 23.7,
"predictedValue": "Administration",
"predictedSysId": ""
}
]
}
다음 예제에서는 필드 이름 배열을 입력에 대한 키-값 쌍으로 사용하고 상위 3개 결과로 제한하고 임계값을 제외하는 선택적 매개변수를 포함하는 predict() 메서드에 대한 예측 결과를 표시하는 방법을 보여줍니다.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
// key-value pairs input
var input = [{"short_description":"my email is not working"}, {short_description:"need help with password"}];
// configure optional parameters
var options = {};
options.top_n = 3;
options.apply_threshold = false;
var results = mlSolution.predict(input, options);
// pretty print JSON results
gs.print(JSON.stringify(JSON.parse(results), null, 2));
출력:
{
"1": [
{
"confidence": 37.5023032262591,
"threshold": 10.72,
"predictedValue": "Authentication",
"predictedSysId": ""
},
{
"confidence": 24.439964862166583,
"threshold": 23.7,
"predictedValue": "Administration",
"predictedSysId": ""
},
{
"confidence": 11.736320486031047,
"threshold": 100,
"predictedValue": "Security",
"predictedSysId": ""
}
],
"2": [
{
"confidence": 99,
"threshold": 17.77,
"predictedValue": "Email",
"predictedSysId": ""
},
{
"confidence": 3.182137005157543,
"threshold": 10.72,
"predictedValue": "Authentication",
"predictedSysId": ""
},
{
"confidence": 2.8773826570713514,
"threshold": -1,
"predictedValue": "Email (I/f)",
"predictedSysId": ""
}
]
}
ClassificationSolutionVersion - setPredictionSettings(객체 옵션)
솔루션 수준 또는 클래스 수준에서 정밀도, 범위 또는 회수율 값을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 옵션 | 객체 | 메트릭 구성 값입니다. 이러한 기능에 대한 자세한 내용은 대상 측정항목 구성을 참조하세요. |
| options.metricName | 문자열 | 설정할 메트릭의 이름입니다. 유효한 값은 다음과 같습니다.
|
| options.metricValue | 문자열 | 메트릭에 할당할 숫자 값입니다. |
| options.className | 문자열 | 옵션입니다. 결과를 제한할 클래스의 이름입니다. getTrainingStatistics() 메서드를 사용하여 솔루션에 대한 전체 클래스 목록을 검색합니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예제에서는 Clone Issues라는 클래스에 대해 정밀도 메트릭을 89.5로 설정하는 방법을 보여 줍니다.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
var input = {"metricName" : "precision", "metricValue" : "89.5", "className" : "Clone Issues"};
mlSolution.getActiveVersion().setTrainingStatistics(input);