3. 군집 발견 : 정제되지 않은 데이터를 정제 시켜준다.
데이터 군집 : 밀접히 관련된 사물, 사람, 아이디어들의 그룹을 찾고 시각화하는 기법
(1) 감독 대 무감독 학습
- supervised learning(감독 학습 기법) : 예제 입출력을 사용해서 예측하는 방법을 학습하는 기법
EX) 신경망, 결정트리, SVM, 베이지안 필터링
- unsupervised learning(무감독 학습) : 어떤 올바른 답을 찾는 것이 아니고 데이터 집합 내에서 구조를 발견. 데이터를 취해 그 안에 있는 개별 그룹들을 발견하는 것이 목표
EX) 군집

(2) 단어 벡터
- 피드 내 단어 수 세기 : Universal Feed Parser 모듈 이용
Ex) 블로그에서 상위10%와 하위 50%의 단어들을 나열

(3) hierarchical clustering algorithm(계층적 군집화 알고리즘) : 가장 유사한 두 그룹을 계속 병합하는 방식으로 그룹 계층을 만든다.
1) 원래의 항목들만으로 구성된 군집 그룹에서 시작
2) 모든 쌍마다 그들 간의 상관 계수를 계산한 후 가장 유사한 두 개를 찾음
3) 군집들에서 가장 유사한 쌍을 합쳐 한 개의 단일 군집을 만든다.
4) 이 새로운 군집용 데이터는 앞의 두 군집들에 대한 데이터의 평균값
5) 이 과정을 단 한 개의 군집만 남을 때까지 반복 수행

Ex) 블로그 데이터 세트를 군집화해서 블로그 계층도를 만들어 본다.

(4) 계통도 출력

(5) 세로줄 군집화

(6) K평균 군집화 : 가장 많이 사용 됨. 계층적 군집화 기법은 모든 항목마다 계산이 필요하고 항목들이 병합될 때에도 재계산이 필요하기 때문에 큰 데이터 세트에서는 매우 느리게 동작한다.
사전에 생성할 군집의 개수가 지정된다.
무작위로 선정된 k개의 중심점(centroid: 군집의 중심)을 선정하고 이 점에서 가장 근접한 항목들을 할당하면서 시작

(7) 선호도 군집
소셜 네트워크 사이트 : 자발적으로 공헌한 대량의 데이터가 발생함
*타니모토 계수(Tanimoto coefficient) : 각 집합의 모든 항목을 가진 합집합에 비해 양쪽 집합에 모두 있는 교집합의 비율
def tanamoto(v1, v2):
c1, c2, shr = 0, 0, 0
for i in range(len(v1)):
if v1[i] != 0: c1 += 1
if v2[i] != 0: c2 += 1
if v1[i] != 0 and v2[i] != 0: shr += 1
return 1.0 - (float(shr) / (c1+c2-shr))

(8) 2차원으로 데이터 보기
다차원 비례 축소법 : 데이터 세트에 대한 2차원 표현을 찾는 데 사용
모든 항목 쌍의 차이 값을 구하고 이 값과 항목 간 거리가 일치하도록 도표를 만듬

신고
Posted by 공놀이나하여보세

(1) 협업 필터링 : 큰 무리의 사람들을 검색해서 유사한 취향을 가진 작은 집합을 발견하는 방식으로 동작함
(2) 중첩 딕셔너리 : 사람들이 선호하는 정보를 수집
(3) 유사 사용자 찾기
각각의 사람을 다른 모든 사람들과 비교해서 유사도를 계산
* 유클리디안 거리 점수(euclidean distance score)
* 피어슨 상관점수(Pearson correlation score) : 두 개의 데이터 집합이 한 직선으로 얼마나 잘 표현되는가를 나타내는 측정값

신고
Posted by 공놀이나하여보세

(1) 기계학습(machine learning) : 주어진 데이터의 집합을 이용해서 데이터의 속성에 관한 정보를 추론하는 알고리즘

신고
Posted by 공놀이나하여보세


티스토리 툴바