본문 바로가기

k-means

NLTK(Natural Language Tool Kit)을 이용한 K-means 클러스터링 아래는 NLTK를 이용한 K-means 클러스터링 예제이다. #!/usr/bin/python # -*- coding: utf-8 -*- from nltk import cluster from nltk.cluster.util import * # d0 = "김태호 탈세" # d1 = "이주호 탈세" # d2 = "신재민 위장전입 부동산투기" # d3 = "진수희 탈세" # d4 = "이현동 위장전입" # d5 = "유정복 탈세" # d6 = "이재훈 부동산투기" # features = [김태호, 이주호, 신재민, 진수희, 이현동, 유정복, 이재훈, 탈세, 위장전입, 부동산투기] d = [None] * 7 d[0] = [1, 0, 0, 0, 0, 0, 0, 1, 0, 0] d[1] = [0, 1, 0, 0, 0.. 더보기
K-means 알고리즘을 이용한 영화 배우 클러스터링 k-means 알고리즘을 이용해서 영화 배우 이름을 클러스터링 하는 실험을 해보았습니다. 단어가 문서에 출현하는 횟수를 다음과 같은 테이블로 표현할 수 있습니다. 각각의 열을 하나의 문서 벡터로 표현할 수 있는 것과 마찬가지로, 각각의 행은 하나의 '단어(텀) 벡터'로 표현할 수 있습니다. 즉, 아래와 같은 모습입니다. A = B = C = D = 이처럼 각각의 단어를 벡터로 표현할 수 있습니다. 또한, 이렇게 구한 벡터끼리 유사도(Similarity)를 구하면 두 단어가 얼마나 가까운 단어인지 계산할 수 있습니다. 위의 예를 보면 A와 B는 멀고, C는 A, B 양쪽에 모두 가깝다는 것을 알 수가 있습니다. 이런 벡터 표현을 이용하면, 문서를 클러스터링 하는 것과 똑같은 방법으로 단어를 클러스터링 할 .. 더보기