마이닝 모델 정확도 측정(Analysis Services - 데이터 마이닝)
SQL Server Analysis Services에서는 다양한 방법으로 마이닝 모델이 정확한지 여부를 확인할 수 있습니다.
차트를 사용하여 데이터 마이닝 모델의 정확도를 시각적으로 나타낼 수 있습니다. 리프트 차트는 각 모델의 예측 정확도를 비교합니다. 수익 차트는 각 모델을 사용하여 얻을 수 있는 이론상의 수익 증가분을 표시합니다. 산점도는 실제 값과 예측 값을 비교하며 회귀 모델이나 연속 입력을 사용하여 연속 특성을 예측하는 기타 모델에 사용됩니다.
분류 행렬을 사용하여 정확한 예측과 정확하지 않은 예측을 표로 나타낼 수 있습니다.
교차 유효성 검사를 사용하여 마이닝 모델의 안정성을 통계적으로 확인할 수 있습니다.
자세한 내용은 모델 정확도 차트용 도구(Analysis Services - 데이터 마이닝)를 참조하십시오. 이 항목에서 설명하는 모든 차트 종류는 XML/A 또는 AMO를 사용하여 프로그래밍 방식으로도 만들 수 있습니다. Analysis Services 솔루션을 프로그래밍하는 방법은 개발자 가이드(Analysis Services - 데이터 마이닝)를 참조하십시오.
[!참고]
모델이 비교적 정확함을 확인한 후에는 답을 얻기 위해 모델을 디자인한 비즈니스 문제의 컨텍스트에서 모델의 결과를 평가해야 합니다.
이 항목에서는 마이닝 모델의 정확도를 측정하기 위한 Business Intelligence Development Studio 또는 SQL Server Management Studio의 일반적인 워크플로에 대해 설명합니다. 사용하는 마이닝 모델의 유형과 선택하는 차트에 따라 일부 옵션이 약간 다르거나, 사용할 수 없는 상태에 있거나, 기본적으로 구성되어 있을 수 있지만 전반적인 프로세스는 다음과 같습니다.
테스트할 모델 또는 구조를 선택합니다.
테스트 데이터를 선택합니다.
필요에 따라 테스트 데이터를 필터링합니다.
차트 종류를 선택하고 적절한 뷰어에서 엽니다.
필요에 따라 차트를 사용자 지정합니다.
단계별 절차는 방법: 마이닝 모델에 대한 정확도 차트 만들기를 참조하십시오.
모델 또는 구조 선택
각 데이터 마이닝 구조에 대해 여러 데이터 마이닝 모델을 작성하고 각 모델에 대해 서로 다른 알고리즘이나 매개 변수 집합을 사용하는 것이 일반적입니다. Analysis Services를 사용하면 동일한 차트에서 여러 관련 마이닝 모델을 쉽게 테스트할 수 있습니다. 그러나 정확도 차트에서 출력으로 단일 마이닝 모델만 선택할 수도 있습니다.
Business Intelligence Development Studio에서는 마이닝 구조를 선택한 다음 마이닝 정확도 차트 탭을 클릭하여 정확도 차트의 디자인 영역을 엽니다. SQL Server Management Studio에서는 마이닝 구조를 마우스 오른쪽 단추로 클릭한 다음 리프트 차트 보기를 클릭하여 동일한 디자인 영역을 열고 원하는 종류의 정확도 차트를 만듭니다.
차트에 여러 마이닝 모델을 추가하는 경우 예측 가능한 특성이 동일한 마이닝 모델을 선택해야 합니다. 리프트 차트, 수익 차트, 산점도 또는 분류 행렬을 만드는 경우에는 입력 선택 탭을 사용하여 차트로 나타낼 모델을 선택할 수 있습니다. 그러나 교차 유효성 검사 보고서를 만드는 경우 Analysis Services는 예측 가능한 특성이 동일한 모든 모델을 분석합니다.
테스트 데이터 선택
리프트 차트, 수익 차트 또는 산점도를 만들려면 먼저 모델을 평가하는 데 사용할 데이터를 지정해야 합니다. 평가에 사용하는 데이터에 따라 평가 결과가 크게 달라지므로 SQL Server 2008 Analysis Services는 테스트 데이터를 지정하기 위한 다음과 같은 옵션을 제공합니다.
데이터 마이닝 구조를 만들 때 테스트 집합으로 정의한 홀드아웃 파티션 사용. 마이닝 구조 데이터의 일부를 테스트 데이터로 사용하면 구조의 모든 모델을 일관성 있게 측정할 수 있습니다.
테스트 데이터로 사용할 외부 데이터 원본 정의
외부 데이터 원본을 정의하고 데이터를 사례의 관련 하위 집합으로 제한하도록 필터 적용. 필터를 정의하면 특정 조건에 맞거나 특별히 관심이 있는 사례가 포함된 테스트 데이터를 선택할 수 있습니다.
모델에 사용되는 학습 사례에 적용되는 필터 사용. 모델 필터를 정의하면 사례를 데이터의 하위 집합으로 제한하고 특정 모델을 항상 유사한 데이터를 사용하여 평가할 수 있습니다.
Business Intelligence Development Studio 또는 SQL Server Management Studio에서 교차 유효성 검사 보고서를 만드는 경우 기본적으로 Analysis Services는 모델에 대해 정의된 홀드아웃 파티션(있는 경우)을 사용합니다. 홀드아웃 파티션이 정의되지 않은 경우 Analysis Services는 전체 학습 사례 집합을 사용합니다.
Business Intelligence Development Studio 또는 SQL Server Management Studio에서 리프트 차트, 수익 차트, 산점도 또는 분류 행렬을 만드는 경우에는 데이터 마이닝 디자이너의 마이닝 정확도 차트 뷰에서 입력 선택 탭을 사용하여 마이닝 모델을 테스트하는 데 사용할 데이터를 지정합니다. 다음과 같은 옵션이 있습니다.
마이닝 모델 테스트 사례 사용
마이닝 모델 테스트 사례는 마이닝 구조에 있는 동일한 데이터에서 가져오지만 모델에 필터가 적용되어 테스트에 사용되는 사례가 제한됩니다. 모델 필터는 만든 다음 마이닝 모델과 함께 저장하는 조건 집합입니다. 필터 조건은 마이닝 모델과 함께 저장되므로 모델을 학습할 때 기본적으로 적용됩니다. 모델을 테스트할 때는 필터를 그대로 사용할 수도 있고 테스트에 다른 데이터 집합을 사용하여 모델 필터를 무시할 수도 있습니다. 마이닝 모델에 적용되는 필터를 변경하려면 모델 필터를 수정한 다음 모델을 다시 처리합니다. 또는 모델의 복사본을 만든 다음 복사본에서 다른 필터를 작성합니다.
모델 필터에 대한 자세한 내용은 마이닝 모델에 대한 필터 만들기(Analysis Services - 데이터 마이닝)를 참조하십시오.
마이닝 모델에서 필터를 만드는 방법은 방법: 마이닝 모델에 필터 적용을 참조하십시오.
마이닝 구조 테스트 사례 사용
마이닝 구조를 만들 때 홀드아웃 비율이나 홀드아웃에 사용할 최대 사례 수를 정의하여 테스트 데이터 집합을 정의한 경우 이 옵션을 사용하여 정확도를 측정할 수 있습니다. 테스트 집합의 정의는 구조와 함께 저장되므로 해당 구조를 기반으로 하는 모든 모델에 해당 테스트 집합을 사용할 수 있습니다.
[!참고]
마이닝 구조 홀드아웃 데이터에서 직접 필터를 만들 수는 없습니다. 그러나 이 데이터를 필터링하려면 해결 방법으로 원래 데이터 원본 뷰를 외부 데이터 원본으로 다시 사용하고 이 외부 데이터 원본에 필터를 적용할 수 있습니다.
자세한 내용은 학습 및 테스트 집합으로 데이터 분할(Analysis Services - 데이터 마이닝)을 참조하십시오.
다른 데이터 집합 지정
SQL Server 2005에서는 마이닝 모델의 정확도를 테스트하기 위해 외부 데이터 집합을 사용해야 했습니다. SQL Server 2008에서는 이 옵션을 계속 사용할 수 있지만 외부 데이터에서 필터를 정의할 수도 있습니다.
외부 데이터 원본을 사용하려면 입력으로 사용할 외부 데이터의 모든 열을 마이닝 모델의 열에 매핑해야 합니다. 일부 열을 무시할 수도 있지만 마이닝 모델의 예측 가능한 열에 매핑할 수 있는 열이 외부 데이터 집합에 하나 이상 포함되어야 합니다. 모델에 따라 예측에 필요한 특성이 있는 외부 데이터의 열을 매핑해야 할 수도 있습니다.
데이터 마이닝 디자이너의 입력 선택 탭과 열 매핑 지정 대화 상자에서 모델과 비교하여 유효성 검사를 수행할 입력 테이블을 선택합니다. 입력 테이블을 선택할 때 마이닝 구조 및 입력 테이블 선택 테이블의 열은 자동으로 매핑됩니다. 필요에 따라 마이닝 구조 테이블의 열을 클릭한 다음 입력 테이블 선택 테이블로 끌어 매핑을 수정할 수 있습니다. 입력 데이터에 중첩 테이블이 있는 경우 중첩 테이블 선택 링크를 사용하여 해당 테이블을 포함할 수 있습니다.
[!참고]
예측 가능한 열은 항상 매핑해야 합니다. 매핑되지 않은 열은 마이닝 모델에서 NULL 값으로 취급됩니다.
해당 열을 매핑한 후에는 예측 가능한 열의 대상 상태도 지정할 수 있습니다. 예측 가능한 열의 상태를 비워 두면 리프트 차트에서 예측 가능한 열의 상태와 관계없이 모델의 성능을 예측합니다. 리프트 차트를 만들 때 예측 가능한 열의 상태를 지정 및 지정하지 않는 것의 차이에 대한 자세한 내용은 리프트 차트(Analysis Services - 데이터 마이닝)를 참조하십시오.
외부 데이터에서 필터를 만들 수도 있습니다. 필터를 만드는 방법은 방법: 정확도 차트의 입력 행 필터링을 참조하십시오.
예측 열과 값 동기화 옵션은 외부 데이터 원본과 마이닝 모델의 예측 가능한 특성을 통합하여 특성의 이름이 달라도 모델을 학습하는 동안 특성이 동일한 예측 가능한 열에서 파생되도록 합니다. 이는 두 개의 마이닝 구조 열이 동일한 기본 데이터를 가리키지만 열의 레이블이 다른 경우 유용합니다.
예측 열과 값 동기화 확인란의 선택을 취소하면 임의의 유효한 예측 가능한 열 및 값을 선택할 수 있으며 논리적이지 않더라도 결과가 차트에 함께 표시됩니다. 명시적으로 동일한 값 집합에 매핑되지 않는 두 개의 예측 가능한 특성을 비교하려는 경우 이 옵션의 선택을 취소할 수 있습니다. 그러나 두 특성의 정확도는 비교할 수 없습니다. 예를 들어 버킷의 수입을 상위, 중간 및 하위로 분할하는 모델은 수입을 150,000+, 50,000-100,000 및 10,000-50,000의 범위로 그룹화하는 모델과 비교할 수 있습니다. 그러나 이 확인란의 선택을 취소하기 전에 특성을 비교할 수 있는지 확인해야 합니다.
데이터 필터링
데이터 마이닝 모델을 학습하고 테스트하는 데 사용되는 데이터를 다음과 같은 방법으로 필터링할 수 있습니다.
모델과 함께 저장되는 필터를 만듭니다.
외부 데이터 원본에 필터를 적용합니다.
필터를 정의할 때는 기본적으로 들어오는 데이터에 대한 WHERE 절을 만드는 것입니다. 모델을 평가하는 데 사용되는 입력 데이터 집합을 필터링할 경우 필터 식이 Transact-SQL 문으로 변환되고 차트 생성 시 입력 테이블에 적용됩니다. 따라서 테스트 사례 수가 크게 줄어들 수 있습니다.
반면 마이닝 모델에 필터를 적용할 때는 만드는 필터 식이 DMX(Data Mining Extensions) 문으로 변환되고 개별 모델에 적용됩니다. 모델에 필터를 적용할 때는 모델 학습에 원래 데이터의 하위 집합만 사용됩니다. 구조를 만들 때 테스트 데이터 집합을 정의한 경우 학습에 사용되는 모델 사례에는 마이닝 구조 학습 집합에 있으며 필터 조건에 맞는 사례만 포함됩니다. 또한 마이닝 모델 테스트 사례 사용 옵션을 선택하면 테스트 사례에는 마이닝 구조 테스트 집합에 있으며 필터 조건에 맞는 사례만 포함됩니다. 필터 조건은 모델 사례의 드릴스루 쿼리에도 적용됩니다.
그러나 홀드아웃 데이터 집합을 정의하지 않은 경우 테스트에 사용되는 모델 사례에는 필터 조건에 맞는 데이터 집합의 모든 사례가 포함됩니다.
따라서 여러 모델이 같은 마이닝 구조를 기반으로 하더라도 서로 다른 필터를 포함할 수 있으므로 학습과 테스트에 서로 다른 데이터를 사용할 수 있습니다. 정확도 차트를 만들 때 마이닝 모델 테스트 사례 사용 옵션을 선택하면 테스트 및 학습 집합 모두의 총 사례 수가 테스트하는 모델 간에 크게 달라질 수 있습니다.
[!참고]
기존 마이닝 모델에 필터를 추가하거나 필터 조건을 변경하는 경우 필터의 효과를 확인하려면 마이닝 모델을 다시 처리해야 합니다.
사용된 실제 학습 사례를 검토하려면 다음과 같이 DMX 내용 쿼리를 만듭니다.
SELECT * from <model>.CASES WHERE IsTrainingCase()
또는
SELECT * from <model>.CASES WHERE IsTestCase()
이러한 사례를 구조의 사례와 비교하려면 다음과 같은 DMX 내용 쿼리를 만듭니다.
SELECT * FROM <structure>.CASES WHERE IsTestCase()
[!참고]
모델 사례에서 내용 쿼리를 실행하려면 모델에서 Drillthrough를 사용해야 합니다.
적용할 수 있는 필터 종류에 대한 자세한 내용과 필터 식이 계산되는 방법은 모델 필터 구문 및 예(Analysis Services - 데이터 마이닝)를 참조하십시오.
차트 종류 선택 및 차트 보기
선택하는 차트 종류에 따라 옵션을 추가로 구성하거나, 차트를 찾아보거나, 차트를 클립보드에 복사하고 Excel에서 데이터를 사용할 수 있습니다.
참고 차트와 차트 정의는 저장되지 않습니다. 차트가 포함된 창을 닫으면 차트를 다시 만들어야 합니다.
리프트 차트
모델 및 테스트 데이터에 대한 옵션을 구성한 후에는 리프트 차트 탭을 클릭하여 결과를 볼 수 있습니다. 또한 차트를 클립보드에 복사하거나 마이닝 범례에서 개별 추세 선 또는 데이터 요소에 대한 세부 정보를 볼 수 있습니다.
자세한 내용은 리프트 차트(Analysis Services - 데이터 마이닝) 및 리프트 차트 탭(마이닝 정확도 차트 뷰)을 참조하십시오.
수익 차트
모델 및 테스트 데이터에 대한 옵션을 구성한 후에는 리프트 차트 탭을 클릭하고 차트 종류 목록에서 수익 차트를 선택하여 수익 차트 옵션을 설정한 다음 확인을 클릭하여 결과를 볼 수 있습니다. 수익 차트 설정 대화 상자를 원하는 만큼 여러 번 사용하여 다른 비용 옵션을 시도하고 차트를 다시 표시할 수 있습니다. 마이닝 범례에는 각 모델의 예상 수익에 대한 세부 정보가 포함됩니다. 차트와 마이닝 범례의 내용을 클립보드에 복사하고 Excel에서 사용할 수도 있습니다.
자세한 내용은 수익 차트(Analysis Services - 데이터 마이닝) 및 수익 차트 설정 대화 상자(마이닝 정확도 차트 뷰)를 참조하십시오.
산점도
적절한 모델 유형을 선택한 경우 리프트 차트 탭을 클릭하면 차트 종류가 산점도로 자동 설정되고 산점도가 표시됩니다. 더 이상의 추가 구성은 불가능합니다. 차트를 클립보드에 복사하고 Excel 또는 다른 응용 프로그램에 그래픽으로 붙여 넣을 수도 있습니다.
자세한 내용은 산점도(Analysis Services - 데이터 마이닝)를 참조하십시오.
분류 행렬
분류 행렬의 경우 입력 선택 탭을 사용하여 모델 및 테스트 데이터를 선택한 다음 분류 행렬 탭을 클릭하여 결과를 볼 수 있습니다. 분류 행렬의 내용은 모든 모델 유형에서 동일하며 구성할 수 없습니다. 차트의 데이터를 클립보드에 복사한 다음 Excel에서 사용할 수도 있습니다.
자세한 내용은 분류 행렬(Analysis Services - 데이터 마이닝) 또는 분류 행렬 탭(마이닝 정확도 차트 뷰)을 참조하십시오.
교차 유효성 검사 보고서
교차 유효성 검사 보고서의 경우 솔루션 탐색기에서 마이닝 구조 또는 마이닝 모델을 선택한 후 교차 유효성 검사 탭을 클릭하고 모든 관련 옵션을 구성한 다음 결과 가져오기를 클릭하여 보고서를 생성할 수 있습니다. 더 이상의 추가 구성은 불가능합니다. 교차 유효성 검사 보고서의 형식은 모든 모델 유형에서 동일하며 구성할 수 없습니다. 그러나 보고서의 내용은 분석하는 모델의 유형 및 예측 가능한 특성의 데이터 형식에 따라 달라집니다. 보고서의 결과를 클립보드에 복사하고 Excel에서 데이터를 사용할 수도 있습니다.
자세한 내용은 교차 유효성 검사(Analysis Services - 데이터 마이닝) 또는 교차 유효성 검사 보고서(Analysis Services - 데이터 마이닝)를 참조하십시오.