2015. 9. 27. 17:35
Data Mining 03 - 군집 발견
- (p2) 데이터 클러스터링(군집화,Data Clustering) 개요
- 군집 분석(Clustering Analysis)
- 모집단 또는 범주에 대한 사전 정보가 없는 경우, 주어진 관측값들 사이의 거리 또는 유사성 을 이용하여, 전체를 몇 개의 집단으로 그룹화 하는 분석법
- 각 집단의 성격을 파악함으로써 데이터 전체의 구조에 대한 이해를 돕고자 하는 분석법
- 분류 분석(Classification Analysis,9장)과는 달리 목표 변수를 설정하지 않음.
- 따라서, 분류는 supervised learning[감독학습]이라고 하고, 군집분석은 unsupervised learning[무감독학습]이라고도 함
- 활용 예: 문서 분류, 고객세분화를 통한 타겟 마케팅 등
- (p3) 데이터 클러스터링(군집화,Data Clustering) 개요
- 데이터 군집화를 위한 변수의 예
- 인구통계적 변수 (성별, 나이, 거주지, 직업, 소득, 교육, 종교 등)
- 구매패턴 변수 (상품, 주기, 거래액 등)
- 생활패턴 변수 (라이프스타일, 성격, 취미, 가치관 등)
- 변수간의 거리 또는 유사성으로 군집화
- 주요 군집 분석 알고리즘
- K-Means - 꽃받침과 꽃잎 너비 변수를 이용한 군집화 K-Mean을 이용
- EM(Expectation Maximization) - EM 군집 (백화점 고객 데이터)
- 군집분석의 특징
- 군집분석은 자료의 사전정보 없이 자료를 파악하는 방법으로, 분석자의 주관에 결과가 달라질 수 있음
- 특이값을 갖는 개체의 발견, 결측값의 보정 등에 사용될 수 있음
- 변수의 선택이 중요
- (p7) 블로거 군집화 : 단어 벡터
- 블로거 데이터 상위 120명의 블로거
- 각 블로그안에 출현하는 특정단어들의 횟수
- 생성해야 할 데이터의 예 : 블로거와 블로그 단어의 빈도수 데이터
- (P8) 블로거 군집화 : 단어 벡터
- 블로그 군집화의 단계 URL의 데이터를 가져와서 Word Count blogdata.txt
- 데이터마이닝 : Collective Intelligence 8 Feedlist.txt Rss url 목록 파일
- 고빈도/저빈도 단어 필터링 Web RSS 블로그-단어 행렬을 저장 블로그
- 단어벡터 데이터 generatefeedvector.py 계층적 군집화 알고리즘 clusters.py 적용
- (p13) 블로거 군집화: 피드 내 단어 수 세기
- 고빈도/저빈도 단어 필터링 - 단어 필터링의 이유
- 고빈도 단어 : the, a 등 • 모든 블로그에 거의 공통적으로 나타나는 단어는 군집화 변수가 되기 어려움
- 저빈도 단어 : slang 또는 특수어
- 거의 한두번의 출현 빈도를 갖는 단어들은 다른 블로그와 유사성을 판단하기 어려움
- 필터링 factor – 다음 예제에서는 10%이상 50%이하로 주고 있으나, 환경에 따라 변경 가능
- (p15) 블로거 군집화 : 계층적 군집화
- 계층적 군집화란 - 가장 유사한 그룹을 계속 병합하여 그룹 계층을 만드는 방법
- 가까운 관측값들 끼리 묶는 병합(agglomeration)방법과 먼 관측값들을 나누어가는 분할(division) 방법이 존재
- 계층적 군집에서는 주로 병합 방법이 사용됨
- (p18) 블로거 군집화 : 계층적 군집화
- 유사성 거리 계산
- Pearson 계수를 이용한 상관 점수 계산 – 1.0이면 완전 유사, 0이면 전혀 관계없음, -1.0이면 완전 반대
- (p26) 블로거 군집화 : 세로줄 군집화(Column Clustering)
- 세로줄 군집화
- 예 : 함께 구매하는 물건 전시 선반 찾기
- 예 : 블로그간 군집화가 아니라, 블로그-단어간 군집화
- (p29) -평균 군집화(k-means clustering)
- 계층적 군집화의 문제점
- 트리 형태로 계층을 구성하긴 하나, 뚜렷한 그룹으로 분할하진 못함
- 매우 느리게 동작. 모든 항목마다 계산이 필요하고 항목들이 병합될 때에 재계산 필요
- K-평균 군집화의 특징 (wiki)주어진 데이터를 특정 성질에 기초해서 k개의 묶음(cluster)로 나누는 방법중 하나
- K개의 사전에 지정된 군집의 개수를 지정하고 군집화하므로 계층적 군집화 보다 빠름
- 단점 – 전역 최적값을 보장하지 않음
- 맨 처음 나눈 방법에 상당히 의존한 결과를 생성하므로 최적값에 비해 매우 나쁜 값을 얻을 수 있음
- 알고리즘이 빠르기 때문에 서로 다른 초기값으로 여러 번 시도하여 좋은 클러스터를 선택
- 알고리즘을 시작할때 사전 지식없이 k값을 정해주어야 하므로, 데이터가 자연스럽지 않게 분포되는 결과를 얻을 수 있음
- (p30) 평균 군집화(k-means clustering)
- 알고리즘
- 무작위로 선정된 k개의 중심점(centroid)을 선정
- 이 중심점에서 각 객체들의 거리를 계산하여 결정
- 최소 거리를 갖는 객체에 기반하여 그룹화
- (p35) 2차원으로 데이터 보기
- 다차원 비례 축소법(multidimensional scaling)
- 데이터의 유사성이나 비유사성을 탐색하기 위하여 자료와의 적합도가 유지되는 한도내에서 2-3차원의 도표로 차원을 낮추어 보여주기위한 테크닉들의 집합(wiki)
- 군집화 변수 등은 여러 개의 요소에 의해 결정되므로 사람이 쉽게 인식가능한 2-3차원 도표로 표현하기 어려움
- 정보 가시화(information visualization)에서 사용되며, 다차원 비례 축소법에 의해 그려지는 지도를 다차원 인식지도(perceptual map)이라고 함
- 다차원 비례 축소법(multidimensional scaling)의 예
- 상품과 상품 간의 관계 factor => 날씨, 일자, 온도, 고객 성향 등 다양 => 가시화 문제 발생
- 주요 factor를 단순화하여 2-3차원으로 변환하여 visualization
'Machine Learning & Data Mining' 카테고리의 다른 글
데이터마이닝 05-문서필터링-02 from Kwang Woo NAM (0) | 2015.09.27 |
---|---|
데이터마이닝 04-검색과 랭킹-02 from Kwang Woo NAM (0) | 2015.09.27 |
데이터마이닝 02-추천시스템 만들기 from Kwang Woo NAM (0) | 2015.09.27 |
데이터마이닝 01-데이터마이닝 개요 from Kwang Woo NAM (0) | 2015.09.27 |
Artificial Intelligence and Intelligence Business (펌) (0) | 2015.09.26 |