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 


Posted by Name_null