다음을 통해 공유


SystemGetCrossValidationResults(Analysis Services - 데이터 마이닝)

적용 대상: SQL Server 2019 및 이전 Analysis Services Azure Analysis Services Fabric/Power BI Premium

중요

데이터 마이닝은 SQL Server 2017 Analysis Services에서 더 이상 사용되지 않으며 이제 SQL Server 2022 Analysis Services에서 중단되었습니다. 더 이상 사용되지 않는 기능 및 중단된 기능에 대해서는 설명서가 업데이트되지 않습니다. 자세한 내용은 Analysis Services 이전 버전과의 호환성을 참조하세요.

마이닝 구조를 지정된 수의 교집합 영역으로 분할하고 각 파티션의 모델을 학습한 다음 각 파티션의 정확도 메트릭을 반환합니다.

참고

이 저장 프로시저는 Microsoft 시계열 알고리즘 또는 Microsoft 시퀀스 클러스터링 알고리즘을 사용하여 빌드된 모델 또는 클러스터링 모델의 교차 유효성을 검사하는 데 사용할 수 없습니다. 클러스터링 모델의 교차 유효성을 검사하려면 별도의 저장 프로시저인 SystemGetClusterCrossValidationResults(Analysis Services - 데이터 마이닝)를 사용할 수 있습니다.

Syntax

  
SystemGetCrossValidationResults(  
<mining structure>  
[, <mining model list>]  
,<fold count>  
,<max cases>  
,<target attribute>  
[,<target state>]  
[,<target threshold>]  
[,<test list>])  

인수

마이닝 구조
현재 데이터베이스의 마이닝 구조 이름입니다.

(필수)

mining model list
유효성을 검사할 마이닝 모델의 쉼표로 구분된 목록입니다.

식별자 이름에 사용할 수 없는 문자가 모델 이름에 포함된 경우에는 이름을 괄호로 묶어야 합니다.

마이닝 모델의 목록을 지정하지 않으면 지정된 구조와 연결되었고 예측 가능한 특성을 포함하는 모든 모델에 대해 교차 유효성 검사가 수행됩니다.

참고

클러스터링 모델의 교차 유효성을 검사하려면 별도의 저장 프로시저인 SystemGetClusterCrossValidationResults(Analysis Services - 데이터 마이닝)를 사용해야 합니다.

(선택 사항)

접기 개수(fold count)
데이터 집합을 분할할 파티션 수를 지정하는 정수입니다. 최소값은 2입니다. 최대 접기 수는 maximum integer 와 사례 수 중 더 작은 값입니다.

각 파티션에는 대략 이러한 사례 수(최대 사례접기 수)가 포함됩니다/.

기본값은 없습니다.

참고

접기 수에 따라 교차 유효성 검사를 수행하는 데 필요한 시간이 크게 달라집니다. 너무 큰 값을 선택하면 쿼리가 장시간 실행될 수 있으며 경우에 따라서는 서버가 응답하지 않거나 제한 시간이 초과될 수 있습니다.

(필수)

최대 사례
모든 접기에 대해 테스트할 수 있는 최대 사례 수를 지정하는 정수입니다.

값을 0으로 지정하면 데이터 원본의 모든 사례가 사용됩니다.

데이터 집합의 실제 사례 수보다 큰 값을 지정하면 데이터 원본의 모든 사례가 사용됩니다.

기본값은 없습니다.

(필수)

대상 특성
예측 가능한 특성의 이름을 포함하는 문자열입니다. 예측 가능한 특성은 마이닝 모델의 열, 중첩 테이블 열 또는 중첩 테이블 키 열일 수 있습니다.

참고

대상 특성이 있는지 여부는 런타임에만 확인됩니다.

(필수)

대상 상태
예측할 값을 지정하는 수식입니다. 대상 값을 지정하면 지정한 값에 대해서만 메트릭이 수집됩니다.

값을 지정하지 않거나 값이 null이면 각 예측에서 가능성이 가장 높은 상태에 대해 메트릭이 계산됩니다.

기본값은 null입니다.

지정한 특성에 대해 지정한 값이 유효하지 않거나 수식의 유형이 올바르지 않으면 유효성을 검사하는 동안 오류가 발생합니다.

(선택 사항)

대상임계값
0보다 크고 1보다 작은Double 이며, 지정된 대상 상태에 대한 예측을 올바른 것으로 간주하기 위해 얻어야 하는 최소 확률 점수를 나타냅니다.

확률이 이 값보다 작거나 같은 예측은 올바르지 않은 것으로 간주됩니다.

값을 지정하지 않거나 값이 null이면 확률 점수에 관계없이 가능성이 가장 높은 상태가 사용됩니다.

기본값은 null입니다.

참고

상태 임계값을 0.0으로 설정하면 SQL Server Analysis Services 오류가 발생하지 않지만 이 값을 사용하면 안 됩니다. 실제로 임계값이 0.0이면 확률이 0%인 예측이 올바른 것으로 간주됨을 의미합니다.

(선택 사항)

테스트 목록
테스트 옵션을 지정하는 문자열입니다.

참고 이 매개 변수는 나중에 사용하기 위해 예약되어 있습니다.

(선택 사항)

반환 형식

반환되는 행 집합에는 각 모델의 각 파티션에 대한 점수가 포함됩니다.

다음 표에서는 이 행 집합의 열을 설명합니다.

열 이름 설명
ModelName 테스트한 모델의 이름입니다.
AttributeName 예측 가능한 열의 이름입니다.
AttributeState 예측 가능한 열의 지정된 대상 값입니다. 이 값이 null이면 가능성이 가장 높은 예측이 사용된 것입니다.

이 열에 값이 있으면 이 값에 대해서만 모델의 정확도가 평가됩니다.
PartitionIndex 결과가 적용되는 파티션을 식별하는 인덱스(1부터 시작)입니다.
PartitionSize 각 파티션에 포함된 사례 수를 나타내는 정수입니다.
테스트 수행된 테스트의 범주입니다. 범주 및 각 범주에 포함된 테스트에 대한 설명은 교차 유효성 검사 보고서의 측정값을 참조하세요.
측정값 테스트에서 반환한 측정값의 이름입니다. 각 모델의 측정값은 예측 가능한 값의 유형에 따라 달라집니다. 각 측정값에 대한 정의는 교차 유효성 검사(Analysis Services - 데이터 마이닝)를 참조하세요.

각 예측 가능 유형에 대해 반환된 측정값 목록은 교차 유효성 검사 보고서의 측정값을 참조하세요.
지정된 테스트 측정값의 값입니다.

설명

전체 데이터 집합에 대한 정확도 메트릭을 반환하려면 SystemGetAccuracyResults(Analysis Services - 데이터 마이닝)를 사용합니다.

마이닝 모델이 이미 폴드로 분할된 경우 SystemGetAccuracyResults(Analysis Services - 데이터 마이닝)를 사용하여 처리를 무시하고 교차 유효성 검사 결과만 반환할 수 있습니다.

예제

다음 예에서는 교차 유효성 검사를 위해 마이닝 구조를 2개의 접기로 분할한 다음 [v Target Mail]이라는 마이닝 구조에 연결된 마이닝 모델 두 개를 테스트하는 방법을 보여 줍니다.

코드의 세 번째 줄에는 테스트할 마이닝 모델이 나열됩니다. 목록을 지정하지 않으면 구조에 연결된 모든 클러스터링 이외의 모델이 사용됩니다. 코드의 네 번째 줄에서는 파티션 수를 지정합니다. max cases에 값을 지정하지 않았으므로 마이닝 구조의 모든 사례가 사용되어 모든 파티션에 균등하게 분산됩니다.

다섯 번째 줄에서는 예측 가능한 특성으로 Bike Buyer를 지정하고 여섯 번째 줄에서는 예측할 값을 1("예. 구입합니다"를 의미함)로 지정합니다.

일곱 번째 줄의 NULL 값은 충족해야 할 최소 확률 기준이 없음을 나타냅니다. 따라서 확률이 0%가 아닌 첫 번째 예측이 정확도 평가에 사용됩니다.

CALL SystemGetCrossValidationResults(  
[v Target Mail],  
[Target Mail DT], [Target Mail NB],  
2,  
'Bike Buyer',  
1,  
NULL  
)  

예제 결과:

ModelName AttributeName AttributeState PartitionIndex PartitionSize 테스트 측정값
Target Mail DT Bike Buyer 1 1 500 분류 True Positive(TP) 144
Target Mail DT Bike Buyer 1 1 500 분류 False Positive(FP) 105
Target Mail DT Bike Buyer 1 1 500 분류 True Negative(TN) 186
Target Mail DT Bike Buyer 1 1 500 분류 False Negative(FN) 65
Target Mail DT Bike Buyer 1 1 500 Likelihood 로그 점수 -0.619042807138345
Target Mail DT Bike Buyer 1 1 500 Likelihood 리프트 0.0740963734002671
Target Mail DT Bike Buyer 1 1 500 Likelihood 제곱 평균 오차 0.346946279977653
Target Mail DT Bike Buyer 1 2 500 분류 True Positive(TP) 162
Target Mail DT Bike Buyer 1 2 500 분류 False Positive(FP) 86
Target Mail DT Bike Buyer 1 2 500 분류 True Negative(TN) 165
Target Mail DT Bike Buyer 1 2 500 분류 False Negative(FN) 87
Target Mail DT Bike Buyer 1 2 500 Likelihood 로그 점수 -0.654117781086519
Target Mail DT Bike Buyer 1 2 500 Likelihood 리프트 0.038997399132084
Target Mail DT Bike Buyer 1 2 500 Likelihood 제곱 평균 오차 0.342721344892651

요구 사항

교차 유효성 검사는 SQL Server 2008부터 SQL Server Enterprise 사용할 수 있습니다.

참고 항목

SystemGetCrossValidationResults
SystemGetAccuracyResults(Analysis Services - 데이터 마이닝)
SystemGetClusterCrossValidationResults(Analysis Services - 데이터 마이닝)
SystemGetClusterAccuracyResults(Analysis Services - 데이터 마이닝)