교차 유효성 검사(Analysis Services - 데이터 마이닝)

교차 유효성 검사는 분석의 표준 도구이며 데이터 마이닝 모델 개발 및 미세 조정에 도움이 되는 중요한 기능입니다. 마이닝 구조 및 관련 마이닝 모델을 만든 후 교차 유효성 검사를 사용하여 모델의 유효성을 확인합니다. 교차 유효성 검사는 다음과 같이 적용됩니다.

  • 특정 마이닝 모델의 견고성 확인

  • 단일 문에서 여러 모델 평가

  • 여러 모델을 작성한 다음 통계를 기반으로 최상의 모델 식별

이 섹션에서는 SQL Server 2008에 제공된 교차 유효성 검사 기능을 사용하는 방법과 특정 모델 또는 데이터 집합에 대한 교차 유효성 검사의 결과를 해석하는 방법에 대해 설명합니다. 교차 유효성 검사를 저장 프로시저 집합으로 실행할 수 있습니다. Business Intelligence Development Studio의 데이터 마이닝 디자이너에서 교차 유효성 검사를 사용할 수도 있습니다.

교차 유효성 검사 프로세스 개요

교차 유효성 검사는 학습 및 결과 생성의 두 단계로 구성됩니다. 이러한 단계에는 다음과 같은 절차가 포함됩니다.

  • 대상 마이닝 구조를 선택합니다.

  • 테스트할 모델을 지정합니다.

  • 구조 데이터를 분할할 접기 수를 지정합니다.

  • Analysis Services에서 접기 수만큼 모델을 만들고 학습합니다.

  • 결과를 생성하려면 학습된 모델을 테스트하기 위한 매개 변수를 지정해야 합니다.

  • 테스트 데이터의 원본을 지정합니다. 이 기능은 저장 프로시저를 사용할 경우에만 사용 가능합니다.

  • 예측 가능한 특성, 예측 값 및 정확도 임계값을 지정합니다.

  • 그러면 Analysis Services에서 각 모델의 접기마다 정확도 메트릭 집합을 반환합니다. 데이터 집합 전체의 정확도 메트릭을 반환할 수도 있습니다.

데이터 마이닝 디자이너에서 교차 유효성 검사 사용

Business Intelligence Development Studio에서 마이닝 정확도 차트 뷰의 교차 유효성 검사 탭을 사용하여 교차 유효성 검사를 수행하는 경우 학습 및 정확도 결과 매개 변수를 단일 폼으로 구성할 수 있습니다. 이렇게 하면 결과를 쉽게 설정하고 볼 수 있습니다. 단일 마이닝 구조와 관련된 모든 마이닝 모델의 정확도를 측정한 다음 즉시 HTML 보고서에서 결과를 볼 수 있습니다.

보고서 형식 및 교차 유효성 검사에서 제공되는 정확도 메트릭에 대한 자세한 내용은 교차 유효성 검사 보고서(Analysis Services - 데이터 마이닝)를 참조하십시오.

Business Intelligence Development Studio에서 교차 유효성 검사 매개 변수를 구성하는 방법은 교차 유효성 검사 탭(마이닝 정확도 차트 뷰)을 참조하십시오.

교차 유효성 검사 저장 프로시저 사용

고급 사용자의 경우 교차 유효성 검사를 4개의 시스템 저장 프로시저로 사용할 수도 있습니다. SQL Server Management Studio 또는 임의의 관리 코드 응용 프로그램에서 Analysis Services 2008 인스턴스에 연결하여 저장 프로시저를 실행할 수 있습니다.

저장 프로시저는 마이닝 모델 유형별로 그룹화됩니다. 첫 번째 프로시저 쌍은 클러스터링 모델에서만 작동합니다. 두 번째 프로시저 쌍은 다른 마이닝 모델에서 작동합니다.

[!참고]

교차 유효성 검사는 KEY TIME 열 또는 KEY SEQUENCE 열을 포함하는 모델과 함께 사용할 수 없습니다.

각 마이닝 모델 유형에 대해 두 개의 저장 프로시저가 있습니다. 첫 번째 프로시저는 데이터 집합 내에 사용자가 지정하는 수만큼의 파티션을 만들고 각 파티션에 대한 정확도 결과를 반환합니다. Analysis Services에서는 각 메트릭에 대해 파티션의 평균값과 표준 편차를 계산합니다.

두 번째 저장 프로시저는 데이터 집합을 분할하지 않고 지정된 데이터 집합 전체에 대한 정확도 결과를 생성합니다. 마이닝 구조 및 해당 모델이 이미 분할되고 처리된 경우에도 두 번째 저장 프로시저를 사용할 수 있습니다.

데이터 분할 및 파티션의 메트릭 생성

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

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

전체 데이터 집합의 메트릭 생성

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

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

교차 유효성 검사 구성

교집합 영역의 수, 테스트되는 모델 및 예측용 정확도 막대를 제어하기 위해 교차 유효성 검사가 작동하는 방식을 사용자 지정할 수 있습니다. 교차 유효성 검사 저장 프로시저를 사용하는 경우에는 모델의 유효성 검사에 사용되는 데이터 집합도 지정할 수 있습니다. 이러한 다양한 선택 사항을 통해 다양한 많은 결과 집합을 쉽게 생성할 수 있습니다. 이러한 결과는 이후에 비교하고 분석해야 합니다.

이 섹션에서는 교차 유효성 검사를 적절하게 구성하는 데 도움이 되는 정보를 제공합니다.

파티션 수 설정

파티션 수를 지정할 때 생성할 임시 모델 수를 결정합니다. 각 파티션에 대해 데이터의 교집합 영역이 테스트 집합으로 사용되도록 플래그가 지정되고 파티션에 없는 나머지 데이터를 학습하여 새 모델이 생성됩니다. Analysis Services에서 지정된 모델 수를 만들고 테스트할 때까지 이 프로세스가 반복됩니다. 교차 유효성 검사에 대해 사용 가능하도록 지정한 데이터는 모든 파티션에 골고루 분산됩니다.

다음 다이어그램의 예에서는 3개의 접기가 지정된 경우의 데이터 사용을 보여 줍니다.

교차 유효성 검사에서 데이터를 분할하는 방법

위 다이어그램의 시나리오에서 마이닝 구조에는 테스트에 사용되는 홀드아웃 데이터 집합이 포함되어 있지만 테스트 데이터 집합은 교차 유효성 검사에 포함되지 않았습니다. 따라서 마이닝 구조 데이터의 70%인 학습 데이터 집합의 모든 데이터가 교차 유효성 검사에 사용됩니다. 교차 유효성 검사 보고서에는 각 파티션에 사용된 총 사례 수가 표시됩니다.

사용할 전체 사례 수를 지정하여 교차 유효성 검사 중 사용되는 데이터의 양을 지정할 수도 있습니다. 사례는 모든 접기 전체에 골고루 분산됩니다.

마이닝 구조가 SQL Server Analysis Services 인스턴스에 저장된 경우 접기 수에 대해 설정할 수 있는 최대값은 256과 사례 수 중 작은 값입니다. 세션 마이닝 구조를 사용하는 경우 최대 접기 수는 10입니다.

[!참고]

각 접기에 대해 모델을 생성하고 테스트해야 하기 때문에 접기 수를 늘리면 교차 유효성 검사를 수행하는 데 필요한 시간도 이에 따라 증가합니다. 접기 수가 너무 많으면 성능 문제가 발생할 수 있습니다.

테스트 데이터 정의

정확도를 계산하는 저장 프로시저인 SystemGetAccuracyResults(Analysis Services - 데이터 마이닝) 또는 SystemGetClusterAccuracyResults(Analysis Services - 데이터 마이닝)를 실행할 때는 다음 옵션의 조합을 사용하여 교차 유효성 검사 중 테스트에 사용되는 데이터의 원본을 지정할 수 있습니다.

  • 학습 데이터만 사용

  • 기존 테스트 데이터 집합 포함

  • 테스트 데이터 집합만 사용

  • 각 모델에 기존 필터 적용

  • 학습 집합, 테스트 집합 및 모델 필터의 임의 조합

DataSet 매개 변수의 값을 제공하여 테스트 데이터 집합의 컴퍼지션을 제어합니다.

데이터 마이닝 디자이너교차 유효성 검사 보고서를 사용하여 교차 유효성 검사를 수행하는 경우에는 사용되는 데이터 집합을 변경할 수 없습니다. 기본적으로 각 모델에 대한 학습 사례가 사용됩니다. 모델과 연결된 필터가 있는 경우 해당 필터가 적용됩니다.

필터링된 마이닝 모델의 교차 유효성 검사

여러 마이닝 모델을 테스트하며 모델에 필터가 있는 경우 각 모델은 별도로 필터링됩니다. 교차 유효성 검사 중 모델에 필터를 추가하거나 모델에 대한 필터를 변경할 수 없습니다.

기본적으로 교차 유효성 검사는 구조와 연결된 모든 마이닝 모델을 테스트하므로 일부 모델에 필터가 있고 다른 모델에는 필터가 없을 경우 일관성 없는 결과가 발생할 수 있습니다. 동일한 필터가 있는 모델만 비교되도록 하려면 저장 프로시저를 사용하고 마이닝 모델 목록을 지정해야 합니다. 또는 필터가 없는 마이닝 구조 테스트 집합만 사용하여 모든 모델에 일관성 있는 데이터 집합이 사용되도록 합니다.

정확도 임계값 설정

상태 임계값을 사용하면 예측용 정확도 막대를 설정할 수 있습니다. 모델은 각 사례에 대해 예측 상태가 올바를 확률인 예측 확률을 계산합니다. 예측 확률이 정확도 막대를 초과하는 경우 예측이 올바른 것으로 간주되고 초과하지 않는 경우 예측이 잘못된 것으로 간주됩니다. 상태 임계값을 0.0과 1.0 사이의 숫자로 설정하여 이 값을 제어합니다. 여기서 1에 가까운 숫자는 예측의 신뢰도 수준이 높음을 나타내고 0에 가까운 숫자는 예측이 거짓일 가능성이 높음을 나타냅니다. 상태 임계값의 기본값은 NULL이며 이는 확률이 가장 높은 예측 상태가 대상 값으로 간주됨을 의미합니다.

[!참고]

값 0.0을 설정할 수 있지만 확률이 0이더라도 모든 예측이 올바른 것으로 간주되므로 의미가 없습니다. 상태 임계값을 실수로 0.0으로 설정하지 않도록 주의하십시오.

예를 들어 열 [Bike Buyer]를 예측하는 3개의 모델이 있으며 예측하려는 값이 "예. 구입합니다"를 의미하는 1입니다. 이 3개의 모델은 예측 확률이 0.05, 0.15 및 0.8인 예측을 반환합니다. 이때 상태 임계값을 0.10으로 설정하면 예측 중 2개는 올바른 것으로 간주됩니다. 상태 임계값을 0.5로 설정하면 1개의 모델만 올바른 예측을 반환한 것으로 간주됩니다. 기본값인 Null을 사용하면 가장 가능성이 높은 예측이 올바른 것으로 간주됩니다. 이 경우 3개의 예측이 모두 올바른 것으로 간주됩니다.

교차 유효성 검사에 사용되는 메트릭

마이닝 모델의 특정 유형, 예측 가능한 특성의 데이터 형식 및 예측 가능한 특성 값(있는 경우)에 따라 다양한 정확도 메트릭이 생성됩니다. 이 섹션에서는 참조용으로 주요 메트릭을 정의합니다. 각 모델에 대한 보고서에 반환되는 정확도 메트릭 목록을 유형별로 그룹화하여 보려면 교차 유효성 검사 보고서(Analysis Services - 데이터 마이닝)를 참조하십시오.

측정값

적용 대상

구현

분류: 참 긍정, 거짓 긍정, 참 부정, 거짓 부정

불연속 특성(값이 지정됨)

예측 확률이 상태 임계값보다 크고 예측 상태가 대상 상태와 일치하는 파티션의 행 또는 값의 개수입니다. 값이 누락된 사례는 제외됩니다.

분류: 통과/실패

불연속 특성(지정된 대상 없음)

예측 상태가 대상 상태와 일치하고 예측 확률 값이 0보다 큰 파티션의 행 또는 값의 개수입니다. 값이 누락된 사례는 제외됩니다.

리프트

불연속 특성. 대상 값을 지정할 수 있지만 대상 값이 필수 항목은 아닙니다.

대상 특성 값이 있는 모든 행에 대한 평균 로그 유사도입니다. 각 사례의 로그 유사도는 Log(ActualProbability/MarginalProbability)로 계산됩니다. 평균은 로그 유사도 값의 합계를 입력 데이터 집합의 행 수로 나누어 계산합니다. 대상 특성 값이 누락된 행은 제외됩니다. 양수 값이면 임의 추측보다 뛰어난 효율적인 모델임을 의미합니다.

로그 점수

불연속 특성. 대상 값을 지정할 수 있지만 대상 값이 필수 항목은 아닙니다.

합계된 후 입력 데이터 집합의 행 수로 나눠진 각 사례에 대한 실제 확률 로그입니다. 대상 특성 값이 누락된 행은 제외됩니다. 확률이 소수로 표기되기 때문에 로그 점수는 항상 음수입니다. 숫자가 0에 가까울수록 점수가 높은 것입니다.

사례 유사도

클러스터

파티션의 사례 수로 나눈 모든 사례의 클러스터 유사도 점수 합계입니다. 대상 특성 값이 누락된 사례는 제외됩니다.

절대 평균 오차

연속 특성

파티션의 사례 수로 나눈 모든 파티션 사례의 절대 오차 합계입니다. 값이 누락된 사례는 제외됩니다.

제곱 평균 오차

연속 특성

파티션에 대한 제곱 평균 오차의 제곱근

제곱 평균 오차

불연속 특성. 대상 값을 지정할 수 있지만 대상 값이 필수 항목은 아닙니다.

파티션의 사례 수로 나눈 확률 점수의 보수에 대한 제곱 평균의 제곱근입니다. 대상 특성 값이 누락된 행은 제외됩니다.

제곱 평균 오차

불연속 특성(지정된 대상 없음)

파티션의 사례 수로 나눈 확률 점수의 보수에 대한 제곱 평균의 제곱근입니다. 대상 특성 값이 누락된 사례는 제외됩니다.