모델링 플래그(데이터 마이닝)
SSAS(SQL Server 2008 Analysis Services)에서는 모델링 플래그를 사용하여 사례 테이블에 정의되어 있는 데이터에 대한 추가 정보를 데이터 마이닝 알고리즘에 제공할 수 있습니다. 데이터 마이닝 알고리즘은 이 정보를 토대로 더욱 정확한 데이터 마이닝 모델을 만들 수 있습니다.
DMX(Data Mining Extensions)를 사용하여 프로그래밍 방식으로 모델링 플래그를 정의하거나 Business Intelligence Development Studio의 데이터 마이닝 디자이너에서 모델링 플래그를 정의할 수 있습니다. 이러한 플래그를 정의하는 방법은 마이닝 모델 열을 참조하십시오.
마이닝 구조 수준에서 정의되는 모델링 플래그도 있고 마이닝 모델 열 수준에서 정의되는 모델링 플래그도 있습니다. 예를 들어 NOT NULL 모델링 플래그는 마이닝 구조 열에 사용됩니다. 마이닝 모델 열에 추가 모델링 플래그를 정의할 수 있습니다.
다음 목록에서는 Analysis Services에서 지원하는 모델링 플래그에 대해 설명합니다. 특정 알고리즘에서 지원하는 모델링 플래그에 대한 자세한 내용은 알고리즘의 기술 참조 항목을 참조하십시오.
NOT NULL
특성 열 값이 Null 값을 포함할 수 없음을 나타냅니다. Analysis Services의 모델 학습 프로세스 중 이 특성 열에 Null 값이 있는 경우에는 오류가 발생합니다.MODEL_EXISTENCE_ONLY
열이 Missing 및 Existing 상태로 처리됨을 나타냅니다. 값이 NULL인 경우 Missing으로 간주됩니다[!참고]
Missing은 알고리즘에서 사용하는 특수한 상태로 열의 텍스트 값인 "Missing"과는 다릅니다. 자세한 내용은 누락 값(Analysis Services - 데이터 마이닝)을 참조하십시오.
이 모델링 플래그는 일반적으로 NULL 상태가 암시적인 의미를 갖는 특성을 나타내는 데 사용됩니다. 따라서 NOT NULL 상태의 명시적 값은 열이 값을 갖는다는 사실만큼이나 중요하지 않습니다. 예를 들어 서명되지 않은 계약의 경우 [DateContractSigned] 열이 NULL이고 서명된 계약의 경우 NOT NULL일 수 있습니다. 따라서 모델의 목적이 계약에 서명할 것인지 여부를 예측하는 것이라면 MODEL_EXISTENCE_ONLY 플래그를 사용하여 NOT NULL 사례의 정확한 날짜 값은 무시하고 값이 Missing 또는 Existing인 사례만 구별할 수 있습니다.
REGRESSOR
특성 열의 값은 특성 자체보다는 중요도가 낮습니다. 이 플래그는 마이닝 모델 열에 정의됩니다.
[!참고]
타사 플러그 인의 경우 Analysis Services에서 미리 정의한 모델링 플래그 외에 다른 모델링 플래그를 사용할 수 있습니다.
모델링 플래그 확인 및 변경
데이터 마이닝 디자이너에서 구조 또는 모델의 속성을 확인하여 마이닝 구조 또는 마이닝 열과 관련된 모델링 플래그를 확인하고 수정할 수 있습니다.
구조 열 또는 모델 열에 대한 모델링 플래그를 확인하거나 변경하려면
BI Development Studio의 솔루션 탐색기에서 마이닝 구조를 두 번 클릭합니다.
NOT NULL 모델링 플래그를 설정하려면 마이닝 구조 탭을 클릭합니다.
REGRESSOR 또는 MODEL_EXISTENCE_ONLY 플래그를 설정하려면 마이닝 모델 탭을 클릭합니다.
확인하거나 변경할 열을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
새 모델링 플래그를 추가하려면 ModelingFlags 속성 옆에 있는 입력란을 클릭한 다음 사용하려는 모델링 플래그에 대한 확인란을 선택합니다.
모델링 플래그는 열 데이터 형식에 적합할 경우에만 표시됩니다.
[!참고]
모델링 플래그를 변경한 후에는 모델을 다시 처리해야 합니다.
기존 마이닝 모델과 구조에 사용된 모델링 플래그는 DMX를 사용하여 변경할 수 없습니다. ALTER MINING STRUCTURE….ADD MINING MODEL 구문을 사용하여 새 마이닝 모델을 만들어야 합니다.
현재 구조에 사용되고 있는 모델링 플래그를 잘 모르는 경우 다음 구문을 사용하여 모델링 플래그를 반환하는 쿼리를 만들 수 있습니다.
SELECT COLUMN_NAME, MODELING_FLAG
FROM $system.DMSCHEMA_MINING_STRUCTURE_COLUMNS
WHERE STRUCTURE_NAME = '<structure name>'
REGRESSOR 모델링 플래그 사용
열에 REGRESSOR 모델링 플래그를 설정하면 해당 열에 잠재적인 회귀 변수가 포함되어 있다는 사실이 알고리즘에 전달됩니다. 모델에 사용되는 실제 회귀 변수는 알고리즘에 따라 결정됩니다. 잠재적인 회귀 변수가 예측 가능한 특성을 모델링하지 않는 경우 이를 무시할 수 있습니다.
데이터 마이닝 마법사를 사용하여 모델을 작성하는 경우 연속 입력 열은 모두 가능한 회귀 변수로 플래그가 지정됩니다. 따라서 열에 REGRESSOR 플래그를 명시적으로 설정하지 않은 경우라도 최종 모델에서 열을 회귀 변수로 사용할 수 있습니다.
최종 모델에 실제로 사용된 회귀 변수를 확인하려면 다음 예에 표시된 것과 같이 마이닝 모델의 스키마 행 집합에 대해 쿼리를 실행하십시오.
SELECT COLUMN_NAME, MODELING_FLAG
FROM $system.DMSCHEMA_MINING_columnS
WHERE MODEL_NAME = '<model name>'
참고 마이닝 모델을 수정한 다음 열의 내용 유형을 Continuous에서 Discrete로 변경할 경우 마이닝 열의 플래그를 수동으로 변경한 다음 모델을 다시 처리해야 합니다.
선형 회귀 모델의 회귀 변수
선형 회귀 모델은 Microsoft 의사 결정 트리 알고리즘을 기반으로 합니다. Microsoft 선형 회귀 알고리즘을 사용하지 않는 경우라도 연속 특성에 대한 회귀를 나타내는 트리나 노드가 의사 결정 트리에 포함될 수 있습니다.
연속 열이 회귀 변수를 나타내도록 지정할 필요는 없습니다. 열에 REGRESSOR 플래그를 설정하지 않았더라도 Microsoft 의사 결정 트리 알고리즘은 의미 있는 패턴을 포함하는 영역으로 데이터 집합을 분할합니다. 단, 모델링 플래그를 설정할 때 알고리즘이 트리의 노드에 패턴을 맞추기 위해 a*C1 + b*C2 + ... 형식의 회귀 수식을 찾으려고 한다는 것이 다릅니다. 잉여에 대한 합계가 계산되며 편차가 너무 클 경우 트리에서 강제로 분할이 수행됩니다.
예를 들어 Income을 특성으로 사용하여 고객의 구매 행동을 예측하며 열에 REGRESSOR 모델링 플래그를 설정하는 경우 알고리즘은 먼저 표준 회귀 수식을 사용하여 Income 값을 맞추려고 시도합니다. 편차가 너무 클 경우 회귀 수식이 중단되고 다른 특성에 대해 트리가 분할됩니다. 분할 후 의사 결정 트리 알고리즘은 먼저 각 분기에서 Income에 대한 회귀 변수를 맞추려고 시도합니다.
FORCED_REGRESSOR 매개 변수를 사용하여 알고리즘이 특정 회귀 변수를 사용하도록 할 수 있습니다. 이 매개 변수는 의사 결정 트리 알고리즘과 선형 회귀 알고리즘에서 사용할 수 있습니다.