Microsoft 클러스터링 알고리즘
Microsoft 클러스터링 알고리즘은 Microsoft SQL Server 2005 Analysis Services(SSAS) 에서 제공하는 세그먼트화 알고리즘입니다. 이 알고리즘은 반복 기술을 사용하여 비슷한 특징을 가진 클러스터로 데이터 집합의 사례를 그룹화합니다. 이러한 그룹화는 데이터 탐색, 데이터 내 잘못된 부분 식별, 예측 만들기 등에 유용합니다.
클러스터링 모델은 관찰만 가지고는 논리적으로 이끌어 낼 수 없을 수 있는 데이터 집합 내 관계를 식별합니다. 예를 들어 자전거로 통근하는 사람은 일반적으로 회사에서 먼 곳에 살지 않는다는 사실을 논리적으로 인식할 수 있습니다. 그러나 알고리즘은 자전거 통근자에 대해 확연하게 드러나지 않는 다른 특징을 찾아낼 수 있습니다. 다음 다이어그램에서 클러스터 A는 자가용으로 통근하는 사람에 대한 데이터를 나타내고 클러스터 B는 자전거로 통근하는 사람에 대한 데이터를 나타냅니다.
클러스터링 알고리즘은 클러스터링 모델을 작성하기 위해 예측 가능한 열을 지정하지 않아도 된다는 점에서 Microsoft 의사결정 트리 알고리즘 등의 기타 데이터 마이닝 알고리즘과 다릅니다. 클러스터링 알고리즘은 데이터에 존재하는 관계와 알고리즘이 식별하는 클러스터를 통해서만 모델의 성향을 습득합니다.
예
인구 통계 정보가 유사하며 Adventure Works사에서 유사한 제품을 구입하는 고객 그룹을 가정해 봅니다. 이 고객 그룹은 데이터 클러스터를 나타냅니다. 데이터베이스에는 이러한 클러스터가 여러 개 존재할 수 있습니다. 클러스터를 구성하는 열을 관찰하면 데이터 집합의 레코드 간 관계를 보다 확실히 파악할 수 있습니다.
알고리즘 작동 방법
Microsoft 클러스터링 알고리즘은 먼저 데이터 집합 내 관계를 식별하고 이러한 관계를 기반으로 일련의 클러스터를 생성합니다. 다음 다이어그램에서 볼 수 있는 것과 같이 알고리즘이 데이터를 그룹화하는 방법을 시각적으로 나타내는 데에는 산점도가 유용합니다. 산점도는 데이터 집합 내 모든 사례를 나타내며 각 사례는 그래프에서 하나의 점으로 표시됩니다. 클러스터는 그래프에 나타난 요소를 그룹화하고 이를 통해 알고리즘이 식별하는 관계를 보여 줍니다.
클러스터를 정의한 다음 알고리즘은 클러스터가 요소의 그룹화를 얼마나 잘 나타내는지를 계산하고 그룹화를 다시 정의하여 데이터를 보다 잘 나타내는 클러스터를 만듭니다. 알고리즘은 클러스터를 다시 정의하여 결과를 더 이상 향상시킬 수 없을 때까지 이 과정을 반복합니다.
Microsoft 클러스터링 알고리즘은 클러스터가 요소에 얼마나 적합한지를 계산하는 메서드로 EM(Expectation Maximization)과 K-Means를 제공합니다. EM 클러스터링의 경우 알고리즘은 확률 메서드를 사용하여 데이터 요소가 클러스터에 존재할 확률을 결정합니다. K-Means의 경우 알고리즘은 거리 측정값을 사용하여 데이터 요소를 가장 가까운 클러스터에 할당합니다.
사용법이 PredictOnly로 설정된 열은 클러스터 작성에 사용되지 않으며 클러스터 내에서의 이러한 열 배포는 클러스터가 작성된 다음에 계산됩니다.
Microsoft 클러스터링 알고리즘의 자세한 작동 방법은 Scaling EM (Expectation Maximization) Clustering to Large Databases를 참조하십시오.
알고리즘 사용
클러스터링 모델은 키 열 및 입력 열을 포함해야 합니다. 입력 열을 예측 가능한 열로 정의할 수도 있습니다.
알고리즘은 다음 표에 나열된 특정 입력 열 내용 유형, 예측 가능한 열 내용 유형 및 모델링 플래그를 지원합니다.
입력 열 내용 유형 |
Continuous, Cyclical, Discrete, Discretized, Key, Table 및 Ordered |
예측 가능한 열 내용 유형 |
Continuous, Cyclical, Discrete, Discretized, Table 및 Ordered |
모델링 플래그 |
MODEL_EXISTENCE_ONLY 및 NOT NULL |
모든 Microsoft 알고리즘은 공통 함수 집합을 지원합니다. 그러나 Microsoft 클러스터링 알고리즘은 다음 표에 나열된 함수를 추가로 지원합니다.
|
모든 Microsoft 알고리즘에 공통된 함수 목록은 데이터 마이닝 알고리즘을 참조하십시오. 이러한 함수 사용 방법은 DMX(데이터 마이닝 확장) 함수 참조를 참조하십시오.
Microsoft 클러스터링 알고리즘에서는 PMML(Predictive Model Markup Language)을 사용하여 마이닝 모델을 만들 수 있습니다.
Microsoft 클러스터링 알고리즘은 결과 마이닝 모델의 성능 및 정확도에 영향을 주는 여러 매개 변수를 지원합니다. 다음 표에서는 각 매개 변수를 설명합니다.
매개 변수 | 설명 |
---|---|
CLUSTERING_METHOD |
알고리즘이 사용할 클러스터링 메서드를 지정합니다. 사용할 수 있는 클러스터링 메서드에는 Scalable EM (1), Non-scalable EM (2), Scalable K-Means (3) 및 Non-scalable K-Means (4)가 있습니다. 기본값은 1입니다. |
CLUSTER_COUNT |
알고리즘에서 작성할 클러스터의 대략적인 개수를 지정합니다. 데이터에서 대략적인 개수의 클러스터를 작성할 수 없는 경우 알고리즘은 가능한 많은 클러스터를 작성합니다. CLUSTER_COUNT를 0으로 설정하면 알고리즘은 작성할 클러스터의 수를 정확하게 결정하기 위해 발견적 해결 방법을 사용합니다. 기본값은 10입니다. |
CLUSTER_SEED |
모델 작성 초기 단계에서 임의로 클러스터를 생성하는 데 사용되는 초기값을 지정합니다. 기본값은 0입니다. |
MINIMUM_SUPPORT |
각 클러스터의 최소 사례 수를 지정합니다. 기본값은 1입니다. |
MODELLING_CARDINALITY |
클러스터링 프로세스 중 생성되는 샘플 모델 수를 지정합니다. 기본값은 10입니다. |
STOPPING_TOLERANCE |
일치성에 도달하고 알고리즘이 모델 작성을 마치는 시기를 결정하는 데 사용되는 값을 지정합니다. 클러스터 확률의 전체 변경 비율이 STOPPING_TOLERANCE 매개 변수를 모델 크기로 나눈 비율보다 작으면 일치성에 도달합니다. 기본값은 10입니다. |
SAMPLE_SIZE |
CLUSTERING_METHOD 매개 변수가 확장 가능한 클러스터링 메서드 중 하나로 설정될 경우 각 패스에서 알고리즘이 사용하는 사례 수를 지정합니다. SAMPLE_SIZE 매개 변수를 0으로 설정하면 전체 데이터 집합이 단일 패스에서 클러스터링되어 메모리 및 성능 문제가 발생할 수 있습니다. 기본값은 50000입니다. |
MAXIMUM_INPUT_ATTRIBUTES |
기능 선택을 호출하기 전에 알고리즘이 처리할 수 있는 최대 입력 특성 수를 지정합니다. 이 값을 0으로 설정하면 최대 특성 수가 없는 것으로 지정됩니다. 기본값은 255입니다. |
MAXIMUM_STATES |
알고리즘이 지원하는 최대 특성 상태 수를 지정합니다. 특성 상태 수가 최대 상태 수보다 크면 알고리즘은 특성의 가장 일반적인 상태를 사용하고 나머지 상태는 무시합니다. 기본값은 100입니다. |
참고 항목
개념
데이터 마이닝 알고리즘
데이터 마이닝 마법사
데이터 마이닝에서 기능 선택
데이터 마이닝 도구 사용
Microsoft 클러스터 뷰어를 사용하여 마이닝 모델 보기