Case Study: K-Means 알고리즘을 이용한

영화배우 클러스터링
윤진석 & 강현석
Goal:
1. Case Study를 통해 빅데이터 분석 전반을 설명
a. 분석 내용 및 활용 범위 간략히 소개
2. 각 솔루션의 역할, 특징 설명
a. MapReduce와 Hama 성능 평가 비교
3. 오늘 날의 빅데...
First of all, What’s Big Data?
● 대량의 비정형Unstructured 데이터 가공
● 데이터 자료들의 상관Correlations 관계 등의 통계적 과학 연
산을 통한 데이터 마이닝

● 궁극적으...
Case study. 영화배우 클러스터링
● 웹 문서 수집
● 비정형 웹 문서 가공
○ <영화배우 by 장르> 출현 빈도 행렬 추출
● 추출된 행렬을 기반으로 K-평균 클러스터링

● 출현장르 별로 즉, 유사 행동 집단...
클러스터링이란?
● 클러스터링이란,
○ 주어진 데이터 집합을 분류하는 알고리즘
● 기법엔 분할 접근과 계층 접근 법이 있음

● K-Means는 미리 정의된 K개의 분할 영역을 결정하는 분
할식Partitional 클러...
클러스터링이란?
● 소득과 명품 선호도 데이터 (고객 성향 군집 분석)
클러스터링이란?
● 소득과 명품 선호도 데이터 (고객 성향 군집 분석)
영화배우 클러스터링 Flow Diagram
4. 시각화 및 데이터베이스화

Result
DB

1. 다음 영화에서
샘플 영화 웹 문서 수집

2. 대량의 샘플 웹 문서에서
영화배우 장르 행렬 추출

3. 클러스터링 연산...
출현 빈도 행렬 추출
● 영화 사이트에서 수집 된 문서에서
배우의 장르 출현 빈도 행렬을 추출

Action

Drama

Fantasy

Horor

..

actorID

3

0

o

3

..

..

..

...
추출 작업엔 왜 Map/Reduce?
● Lightweight programming - 시스템의 물리적 구조를 몰라도 쉽게 데
이터를 분산 처리 할 수 있다.
● Shared nothing architecture - 데...
Map/Reduce Performance
K-Means 클러스터링
●

멜로, 로맨스, 성인 등 유사 장르를 하나의 차원으로 축소해서 2-D
points 데이터 집합 생성 (보기 쉽게) 한 후, 클러스터링 수행

Drama

Melo

ActorID

3.2
...
K-Means 클러스터링
● K개의 샘플을 임의로 선택하여 초기 클러스터 중심으로 할당
● K개의 클러스터의 중심이 바뀌지 않을 때 까지 반복:
○ 모든 샘플을 가까운 클러스터로 재-할당
■ 유클리드 거리 측정을 사용
...
K = 5, 클러스터링 결과
클러스터링은 왜 Hama?
● Map/Reduce는 여러 개의 Job을 반복하는 형태의 Iterative
Map/Reduce 처리해야 한다. 한마디로 느림.
● Hama는 모델 자체가 Iterative 알고리즘에 최적화...
Hama vs. Mahout (MapReduce)

* 대용량 처리에서는 x100 ~ x1,000 빠름
See http://wiki.apache.org/hama/Benchmarks#K-Means_Clustering
오늘 날의 빅데이터 솔루션 동향
현재 제안된
빅데이터 분석 솔루션들
Flume, Sqoop, Pig,
Hive, Impala, Tez,
Presto, …, etc.
Crawling
,or Gathering

Map/Re...
오늘 날의 빅데이터 솔루션 동향
엄밀히 얘기하면,
수집, 추출, 가공, 적재 분야

왜?

Flume, Sqoop, Pig,
Hive, Impala, Tez,
Presto, …, etc.
Crawling
,or Gath...
오늘 날의 빅데이터 솔루션 동향
엄밀히 얘기하면,
수집, 추출, 가공, 적재 분야

기존 DW or OLAP 분석
시스템

Flume, Sqoop, Pig,
Hive, Impala, Tez,
Presto, …, etc....
오늘 날의 빅데이터 솔루션 동향
반면 오픈소스-파는:
Beyond Map/Reduce!
Flume, Sqoop, Pig,
Hive, Impala, Tez,
Presto, …, etc.
Crawling
,or Gather...
결론
● Map/Reduce 기반은 대부분 ETL 도구
○ Extraction - (Filtering) Transform - Load
● Map/Reduce Alternatives 는 성능을 개선하여 분석 그 자체에 집...
K means 알고리즘을 이용한 영화배우 클러스터링
Upcoming SlideShare
Loading in …5
×

K means 알고리즘을 이용한 영화배우 클러스터링

7,374 views

Published on

Published in: Technology
  • Be the first to comment

K means 알고리즘을 이용한 영화배우 클러스터링

  1. 1. Case Study: K-Means 알고리즘을 이용한 영화배우 클러스터링 윤진석 & 강현석
  2. 2. Goal: 1. Case Study를 통해 빅데이터 분석 전반을 설명 a. 분석 내용 및 활용 범위 간략히 소개 2. 각 솔루션의 역할, 특징 설명 a. MapReduce와 Hama 성능 평가 비교 3. 오늘 날의 빅데이터 솔루션의 동향
  3. 3. First of all, What’s Big Data? ● 대량의 비정형Unstructured 데이터 가공 ● 데이터 자료들의 상관Correlations 관계 등의 통계적 과학 연 산을 통한 데이터 마이닝 ● 궁극적으로는 가치 정보를 추출
  4. 4. Case study. 영화배우 클러스터링 ● 웹 문서 수집 ● 비정형 웹 문서 가공 ○ <영화배우 by 장르> 출현 빈도 행렬 추출 ● 추출된 행렬을 기반으로 K-평균 클러스터링 ● 출현장르 별로 즉, 유사 행동 집단Cluster 생성
  5. 5. 클러스터링이란? ● 클러스터링이란, ○ 주어진 데이터 집합을 분류하는 알고리즘 ● 기법엔 분할 접근과 계층 접근 법이 있음 ● K-Means는 미리 정의된 K개의 분할 영역을 결정하는 분 할식Partitional 클러스터링
  6. 6. 클러스터링이란? ● 소득과 명품 선호도 데이터 (고객 성향 군집 분석)
  7. 7. 클러스터링이란? ● 소득과 명품 선호도 데이터 (고객 성향 군집 분석)
  8. 8. 영화배우 클러스터링 Flow Diagram 4. 시각화 및 데이터베이스화 Result DB 1. 다음 영화에서 샘플 영화 웹 문서 수집 2. 대량의 샘플 웹 문서에서 영화배우 장르 행렬 추출 3. 클러스터링 연산 Map/Reduce Hama Crawling HDFS
  9. 9. 출현 빈도 행렬 추출 ● 영화 사이트에서 수집 된 문서에서 배우의 장르 출현 빈도 행렬을 추출 Action Drama Fantasy Horor .. actorID 3 0 o 3 .. .. .. .. ..
  10. 10. 추출 작업엔 왜 Map/Reduce? ● Lightweight programming - 시스템의 물리적 구조를 몰라도 쉽게 데 이터를 분산 처리 할 수 있다. ● Shared nothing architecture - 데이터 분산 처리 효과 ○ 이것은 큰 장점이면서, 동시에 하나의 제약 사항. Data-Intensive!
  11. 11. Map/Reduce Performance
  12. 12. K-Means 클러스터링 ● 멜로, 로맨스, 성인 등 유사 장르를 하나의 차원으로 축소해서 2-D points 데이터 집합 생성 (보기 쉽게) 한 후, 클러스터링 수행 Drama Melo ActorID 3.2 5.86 .. ..
  13. 13. K-Means 클러스터링 ● K개의 샘플을 임의로 선택하여 초기 클러스터 중심으로 할당 ● K개의 클러스터의 중심이 바뀌지 않을 때 까지 반복: ○ 모든 샘플을 가까운 클러스터로 재-할당 ■ 유클리드 거리 측정을 사용 ○ 각 클러스터 중심을 다시 계산
  14. 14. K = 5, 클러스터링 결과
  15. 15. 클러스터링은 왜 Hama? ● Map/Reduce는 여러 개의 Job을 반복하는 형태의 Iterative Map/Reduce 처리해야 한다. 한마디로 느림. ● Hama는 모델 자체가 Iterative 알고리즘에 최적화되어 하나의 Job으 로 처리… 즉, 빠름빠름~. Computational-Intensive! * 대부분의 통계적 연산, 기계 학습 등의 과학 연산은 Iterative.
  16. 16. Hama vs. Mahout (MapReduce) * 대용량 처리에서는 x100 ~ x1,000 빠름 See http://wiki.apache.org/hama/Benchmarks#K-Means_Clustering
  17. 17. 오늘 날의 빅데이터 솔루션 동향 현재 제안된 빅데이터 분석 솔루션들 Flume, Sqoop, Pig, Hive, Impala, Tez, Presto, …, etc. Crawling ,or Gathering Map/Reduce HDFS
  18. 18. 오늘 날의 빅데이터 솔루션 동향 엄밀히 얘기하면, 수집, 추출, 가공, 적재 분야 왜? Flume, Sqoop, Pig, Hive, Impala, Tez, Presto, …, etc. Crawling ,or Gathering Map/Reduce HDFS
  19. 19. 오늘 날의 빅데이터 솔루션 동향 엄밀히 얘기하면, 수집, 추출, 가공, 적재 분야 기존 DW or OLAP 분석 시스템 Flume, Sqoop, Pig, Hive, Impala, Tez, Presto, …, etc. Crawling ,or Gathering Map/Reduce HDFS 기존 시장에 좀 더 쉽게 접 근하려고 … ETL tools on Hadoop
  20. 20. 오늘 날의 빅데이터 솔루션 동향 반면 오픈소스-파는: Beyond Map/Reduce! Flume, Sqoop, Pig, Hive, Impala, Tez, Presto, …, etc. Crawling ,or Gathering 이를 뛰어 넘어, 분석 그 자체에 집중 Spark, Hama, Storm, Graphlab, …, etc. Map/Reduce HDFS
  21. 21. 결론 ● Map/Reduce 기반은 대부분 ETL 도구 ○ Extraction - (Filtering) Transform - Load ● Map/Reduce Alternatives 는 성능을 개선하여 분석 그 자체에 집중 하고 있음 ○ 스톰: 실시간 처리 ○ Spark, Graphlab, 하마: Iterative 과학 연산 처리 ● ~ 2013년: 빅 데이터 분석을 위한 전-처리 단계 고도화 ○ 이제 데이터 관리 및 추출을 넘어 분석으로..

×