5-2. K-means Clustering
K-means Clustering은 분류분석 방법 중 하나로 오래됐지만 매우 유용한 통계분석 방법 중 하나입니다. 익히 잘 알려진데로 Unsupervised learning 방법 중 하나이며 데이터와 나눌 군집 갯수만 주어지면 데이터간 거리를 활용하여 데이터를 분류해냅니다. 이번에도 잘알려진 Iris 데이터를 활용하여 진행하겠습니다.
해당 데이터를 Spotfire로 가져옵니다.
Spotfire에서 K-means Clustering을 할 때 선 조건이 있습니다. 특정 차트를 그려야하는데 바로 라인차트가 필요합니다. 라인차트가 없는 상태에서 K-means Clustering을 실행하면 다음과 같은 메시지가 뜹니다.
이유는 생각해보면 당연한데 Spotfire는 기본적으로 시각화 툴이며 시각화하여 표현하는 것을 기본으로 하고 있습니다. K-means Clustering을 실행할 때 투입 변수가 2개 또는 3개라면 각각 산점도, 3d 산점도로 표현할 수 있겠지만 그 이상의 경우는 표현이 불가능합니다. 그래서 라인차트를 활용하여 얼마든지 투입변수를 넣더라고 시각적으로 표현할 수 있습니다.
먼저 Line Chart룰 준비합니다.
- X축은 (Column Names)를 선택
- Y축은 투입변수들을 모두 넣는다. 단 주의할 점은 집단을 나누고자는 대상이 행인지 특정 집단인지가 중요한데 여기서는 각 데이터의 행에 대해서 군집 분석을 진행하는 기준이다. 고로 집계함수가 들어가는 것에 대해서 주의가 필요함, 여기서는 집계함수 없이 4개 변수를 지정함
- Color By, 또는 Line By에 (Row number)를 선택한다.
위와 같이 그리게 되면 하나의 행이 하나의 데이터를 표현한다. 이 상태에서 상단 Tool - K-means Clustering을 실행합니다.
- Result column options : K-means Clustering 결과를 받을 칼럼을 정한다. 기존 칼럼으로 할 지 새칼럼을 만들지
- Distance measure : 각 데이터간 연관성을 파악하기 위해 거리를 측정하는데 Correlation similarity 또는 Euclidean distance 중에 선택 가능
- Max number of clusters : 최대 분류 군집 갯수
기본설정을 그대로 두고 실행을 합니다.
지정한대로 총 9개 군집으로 분류가 되었습니다. 그럼 Iris 는 총 3개 품종이 있으니 3개로 군집을 진행해보겠습니다.
이번에는 최대 군집갯수 3개로 하고 기존 Column을 그대로 쓰는 것으로 설정한 후 실행을 하면 다음과 같습니다.
그러면 실제 품종과 맞는지 비교를 해보겠습니다.
우측에 교차표를 만들었습니다. X 축은 (row count), Y 축은 K-means Clustering, Species 로 입력했습니다. 각각 군집을 선택해보면
1,3번째 그룹에서 오분류 케이스가 존재하지만 매우 양호한 결과라 할 수 있습니다.
'Data Analysis > Spotfire' 카테고리의 다른 글
[TIBCO Spotfire]Hierarchical Clustering (0) | 2019.10.30 |
---|---|
Line Similarity (0) | 2019.10.16 |
[TIBCO Spotfire] Data Relationship - Chi-square (0) | 2019.09.25 |
[TIBCO Spotfire] Data Relationship - Anova (0) | 2019.09.10 |
[TIBCO Spotfire] Data Relationship - Linear Regression (3) | 2019.09.04 |
댓글