SlideShare a Scribd company logo
1 of 22
Download to read offline
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-평균 클러스터링

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

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

Result
DB

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

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

3. 클러스터링 연산

Map/Reduce

Hama

Crawling
HDFS
출현 빈도 행렬 추출
● 영화 사이트에서 수집 된 문서에서
배우의 장르 출현 빈도 행렬을 추출

Action

Drama

Fantasy

Horor

..

actorID

3

0

o

3

..

..

..

..

..
추출 작업엔 왜 Map/Reduce?
● Lightweight programming - 시스템의 물리적 구조를 몰라도 쉽게 데
이터를 분산 처리 할 수 있다.
● Shared nothing architecture - 데이터 분산 처리 효과
○ 이것은 큰 장점이면서, 동시에 하나의 제약 사항.

Data-Intensive!
Map/Reduce Performance
K-Means 클러스터링
●

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

Drama

Melo

ActorID

3.2

5.86

..

..
K-Means 클러스터링
● K개의 샘플을 임의로 선택하여 초기 클러스터 중심으로 할당
● K개의 클러스터의 중심이 바뀌지 않을 때 까지 반복:
○ 모든 샘플을 가까운 클러스터로 재-할당
■ 유클리드 거리 측정을 사용
○ 각 클러스터 중심을 다시 계산
K = 5, 클러스터링 결과
클러스터링은 왜 Hama?
● Map/Reduce는 여러 개의 Job을 반복하는 형태의 Iterative
Map/Reduce 처리해야 한다. 한마디로 느림.
● Hama는 모델 자체가 Iterative 알고리즘에 최적화되어 하나의 Job으
로 처리… 즉, 빠름빠름~.
Computational-Intensive!
* 대부분의 통계적 연산, 기계 학습 등의 과학 연산은 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/Reduce

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

왜?

Flume, Sqoop, Pig,
Hive, Impala, Tez,
Presto, …, etc.
Crawling
,or Gathering

Map/Reduce

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

기존 DW or OLAP 분석
시스템

Flume, Sqoop, Pig,
Hive, Impala, Tez,
Presto, …, etc.
Crawling
,or Gathering

Map/Reduce

HDFS

기존 시장에 좀 더 쉽게 접
근하려고 …
ETL tools on Hadoop
오늘 날의 빅데이터 솔루션 동향
반면 오픈소스-파는:
Beyond Map/Reduce!
Flume, Sqoop, Pig,
Hive, Impala, Tez,
Presto, …, etc.
Crawling
,or Gathering

이를 뛰어 넘어,
분석 그 자체에 집중

Spark, Hama, Storm,
Graphlab, …, etc.

Map/Reduce

HDFS
결론
● Map/Reduce 기반은 대부분 ETL 도구
○ Extraction - (Filtering) Transform - Load
● Map/Reduce Alternatives 는 성능을 개선하여 분석 그 자체에 집중
하고 있음
○ 스톰: 실시간 처리
○ Spark, Graphlab, 하마: Iterative 과학 연산 처리

● ~ 2013년: 빅 데이터 분석을 위한 전-처리 단계 고도화
○ 이제 데이터 관리 및 추출을 넘어 분석으로..

More Related Content

What's hot

3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learingHaesun Park
 
Deep learning framework 제작
Deep learning framework 제작Deep learning framework 제작
Deep learning framework 제작Tae Young Lee
 
Graph neural network #2-2 (heterogeneous graph transformer)
Graph neural network #2-2 (heterogeneous graph transformer)Graph neural network #2-2 (heterogeneous graph transformer)
Graph neural network #2-2 (heterogeneous graph transformer)seungwoo kim
 
Learning by association
Learning by associationLearning by association
Learning by association홍배 김
 
Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Jinwon Lee
 
4.convolutional neural networks
4.convolutional neural networks4.convolutional neural networks
4.convolutional neural networksHaesun Park
 
악플분류 모델링 프로젝트
악플분류 모델링 프로젝트악플분류 모델링 프로젝트
악플분류 모델링 프로젝트DataScienceLab
 
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어r-kor
 
알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기Kwangsik Lee
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learningYongdae Kim
 
딥러닝의 기본
딥러닝의 기본딥러닝의 기본
딥러닝의 기본deepseaswjh
 
Deview deep learning-김정희
Deview deep learning-김정희Deview deep learning-김정희
Deview deep learning-김정희NAVER D2
 
Learning to remember rare events
Learning to remember rare eventsLearning to remember rare events
Learning to remember rare events홍배 김
 
Binarized CNN on FPGA
Binarized CNN on FPGABinarized CNN on FPGA
Binarized CNN on FPGA홍배 김
 
Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)홍배 김
 
MNIST for ML beginners
MNIST for ML beginnersMNIST for ML beginners
MNIST for ML beginners홍배 김
 
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기NAVER D2
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3Haesun Park
 

What's hot (20)

3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learing
 
Deep learning framework 제작
Deep learning framework 제작Deep learning framework 제작
Deep learning framework 제작
 
Keras
KerasKeras
Keras
 
Graph neural network #2-2 (heterogeneous graph transformer)
Graph neural network #2-2 (heterogeneous graph transformer)Graph neural network #2-2 (heterogeneous graph transformer)
Graph neural network #2-2 (heterogeneous graph transformer)
 
Learning by association
Learning by associationLearning by association
Learning by association
 
Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Deep learning seminar_snu_161031
Deep learning seminar_snu_161031
 
4.convolutional neural networks
4.convolutional neural networks4.convolutional neural networks
4.convolutional neural networks
 
악플분류 모델링 프로젝트
악플분류 모델링 프로젝트악플분류 모델링 프로젝트
악플분류 모델링 프로젝트
 
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
 
알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learning
 
딥러닝의 기본
딥러닝의 기본딥러닝의 기본
딥러닝의 기본
 
Digit recognizer
Digit recognizerDigit recognizer
Digit recognizer
 
Deview deep learning-김정희
Deview deep learning-김정희Deview deep learning-김정희
Deview deep learning-김정희
 
Learning to remember rare events
Learning to remember rare eventsLearning to remember rare events
Learning to remember rare events
 
Binarized CNN on FPGA
Binarized CNN on FPGABinarized CNN on FPGA
Binarized CNN on FPGA
 
Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)
 
MNIST for ML beginners
MNIST for ML beginnersMNIST for ML beginners
MNIST for ML beginners
 
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
 

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

네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLDKim Junghoon
 
Introduction toDQN
Introduction toDQNIntroduction toDQN
Introduction toDQNCurt Park
 
기계학습을 이용한 숫자인식기 제작
기계학습을 이용한 숫자인식기 제작기계학습을 이용한 숫자인식기 제작
기계학습을 이용한 숫자인식기 제작Do Hoerin
 
5일차.map reduce 활용
5일차.map reduce 활용5일차.map reduce 활용
5일차.map reduce 활용주영 송
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장Sunggon Song
 
News clustering and Recommendation system using Word Embedding
News clustering and Recommendation system using Word EmbeddingNews clustering and Recommendation system using Word Embedding
News clustering and Recommendation system using Word EmbeddingJunyoung Park
 
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석Kwang Woo NAM
 
데이터분석의 길 5: “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
데이터분석의 길 5:  “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)데이터분석의 길 5:  “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
데이터분석의 길 5: “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)Jaimie Kwon (권재명)
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks ISang Jun Lee
 
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) 파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) Yunho Maeng
 
Deep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural NetworkDeep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural Networkagdatalab
 
RUCK 2017 빅데이터 분석에서 모형의 역할
RUCK 2017 빅데이터 분석에서 모형의 역할RUCK 2017 빅데이터 분석에서 모형의 역할
RUCK 2017 빅데이터 분석에서 모형의 역할r-kor
 
(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)MYEONGGYU LEE
 
001 k means clustering 알고리즘을 활용한 가정 전기 사용량 분석-ver0
001 k means clustering 알고리즘을 활용한 가정 전기 사용량 분석-ver0001 k means clustering 알고리즘을 활용한 가정 전기 사용량 분석-ver0
001 k means clustering 알고리즘을 활용한 가정 전기 사용량 분석-ver0Hyun Wong Choi
 
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계PgDay.Seoul
 
Intriguing properties of contrastive losses
Intriguing properties of contrastive lossesIntriguing properties of contrastive losses
Intriguing properties of contrastive lossestaeseon ryu
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement LearningKiho Suh
 

Similar to K means 알고리즘을 이용한 영화배우 클러스터링 (20)

네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD
 
Introduction toDQN
Introduction toDQNIntroduction toDQN
Introduction toDQN
 
Naive ML Overview
Naive ML OverviewNaive ML Overview
Naive ML Overview
 
기계학습을 이용한 숫자인식기 제작
기계학습을 이용한 숫자인식기 제작기계학습을 이용한 숫자인식기 제작
기계학습을 이용한 숫자인식기 제작
 
5일차.map reduce 활용
5일차.map reduce 활용5일차.map reduce 활용
5일차.map reduce 활용
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장
 
News clustering and Recommendation system using Word Embedding
News clustering and Recommendation system using Word EmbeddingNews clustering and Recommendation system using Word Embedding
News clustering and Recommendation system using Word Embedding
 
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
 
데이터분석의 길 5: “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
데이터분석의 길 5:  “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)데이터분석의 길 5:  “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
데이터분석의 길 5: “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) 파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
 
Deep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural NetworkDeep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural Network
 
RUCK 2017 빅데이터 분석에서 모형의 역할
RUCK 2017 빅데이터 분석에서 모형의 역할RUCK 2017 빅데이터 분석에서 모형의 역할
RUCK 2017 빅데이터 분석에서 모형의 역할
 
(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)
 
001 k means clustering 알고리즘을 활용한 가정 전기 사용량 분석-ver0
001 k means clustering 알고리즘을 활용한 가정 전기 사용량 분석-ver0001 k means clustering 알고리즘을 활용한 가정 전기 사용량 분석-ver0
001 k means clustering 알고리즘을 활용한 가정 전기 사용량 분석-ver0
 
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
 
Intriguing properties of contrastive losses
Intriguing properties of contrastive lossesIntriguing properties of contrastive losses
Intriguing properties of contrastive losses
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
 
AUTOML
AUTOMLAUTOML
AUTOML
 
Automl
AutomlAutoml
Automl
 

More from Edward Yoon

(소스콘 2015 발표자료) Apache HORN, a large scale deep learning
(소스콘 2015 발표자료) Apache HORN, a large scale deep learning(소스콘 2015 발표자료) Apache HORN, a large scale deep learning
(소스콘 2015 발표자료) Apache HORN, a large scale deep learningEdward Yoon
 
Introduction to apache horn (incubating)
Introduction to apache horn (incubating)Introduction to apache horn (incubating)
Introduction to apache horn (incubating)Edward Yoon
 
Apache Hama at Samsung Open Source Conference
Apache Hama at Samsung Open Source ConferenceApache Hama at Samsung Open Source Conference
Apache Hama at Samsung Open Source ConferenceEdward Yoon
 
차세대하둡과 주목해야할 오픈소스
차세대하둡과 주목해야할 오픈소스차세대하둡과 주목해야할 오픈소스
차세대하둡과 주목해야할 오픈소스Edward Yoon
 
Quick Understanding of NoSQL
Quick Understanding of NoSQLQuick Understanding of NoSQL
Quick Understanding of NoSQLEdward Yoon
 
The evolution of web and big data
The evolution of web and big dataThe evolution of web and big data
The evolution of web and big dataEdward Yoon
 
Apache hama @ Samsung SW Academy
Apache hama @ Samsung SW AcademyApache hama @ Samsung SW Academy
Apache hama @ Samsung SW AcademyEdward Yoon
 
Introduction of Apache Hama - 2011
Introduction of Apache Hama - 2011Introduction of Apache Hama - 2011
Introduction of Apache Hama - 2011Edward Yoon
 
MongoDB introduction
MongoDB introductionMongoDB introduction
MongoDB introductionEdward Yoon
 
Monitoring and mining network traffic in clouds
Monitoring and mining network traffic in cloudsMonitoring and mining network traffic in clouds
Monitoring and mining network traffic in cloudsEdward Yoon
 
Apache hama 0.2-userguide
Apache hama 0.2-userguideApache hama 0.2-userguide
Apache hama 0.2-userguideEdward Yoon
 
Usage case of HBase for real-time application
Usage case of HBase for real-time applicationUsage case of HBase for real-time application
Usage case of HBase for real-time applicationEdward Yoon
 
Apache HAMA: An Introduction toBulk Synchronization Parallel on Hadoop
Apache HAMA: An Introduction toBulk Synchronization Parallel on HadoopApache HAMA: An Introduction toBulk Synchronization Parallel on Hadoop
Apache HAMA: An Introduction toBulk Synchronization Parallel on HadoopEdward Yoon
 
Understand Of Linear Algebra
Understand Of Linear AlgebraUnderstand Of Linear Algebra
Understand Of Linear AlgebraEdward Yoon
 
BigTable And Hbase
BigTable And HbaseBigTable And Hbase
BigTable And HbaseEdward Yoon
 

More from Edward Yoon (17)

(소스콘 2015 발표자료) Apache HORN, a large scale deep learning
(소스콘 2015 발표자료) Apache HORN, a large scale deep learning(소스콘 2015 발표자료) Apache HORN, a large scale deep learning
(소스콘 2015 발표자료) Apache HORN, a large scale deep learning
 
Introduction to apache horn (incubating)
Introduction to apache horn (incubating)Introduction to apache horn (incubating)
Introduction to apache horn (incubating)
 
Apache Hama at Samsung Open Source Conference
Apache Hama at Samsung Open Source ConferenceApache Hama at Samsung Open Source Conference
Apache Hama at Samsung Open Source Conference
 
차세대하둡과 주목해야할 오픈소스
차세대하둡과 주목해야할 오픈소스차세대하둡과 주목해야할 오픈소스
차세대하둡과 주목해야할 오픈소스
 
Quick Understanding of NoSQL
Quick Understanding of NoSQLQuick Understanding of NoSQL
Quick Understanding of NoSQL
 
The evolution of web and big data
The evolution of web and big dataThe evolution of web and big data
The evolution of web and big data
 
Apache hama @ Samsung SW Academy
Apache hama @ Samsung SW AcademyApache hama @ Samsung SW Academy
Apache hama @ Samsung SW Academy
 
Apache Hama 0.4
Apache Hama 0.4Apache Hama 0.4
Apache Hama 0.4
 
Introduction of Apache Hama - 2011
Introduction of Apache Hama - 2011Introduction of Apache Hama - 2011
Introduction of Apache Hama - 2011
 
MongoDB introduction
MongoDB introductionMongoDB introduction
MongoDB introduction
 
Monitoring and mining network traffic in clouds
Monitoring and mining network traffic in cloudsMonitoring and mining network traffic in clouds
Monitoring and mining network traffic in clouds
 
Apache hama 0.2-userguide
Apache hama 0.2-userguideApache hama 0.2-userguide
Apache hama 0.2-userguide
 
Usage case of HBase for real-time application
Usage case of HBase for real-time applicationUsage case of HBase for real-time application
Usage case of HBase for real-time application
 
Apache HAMA: An Introduction toBulk Synchronization Parallel on Hadoop
Apache HAMA: An Introduction toBulk Synchronization Parallel on HadoopApache HAMA: An Introduction toBulk Synchronization Parallel on Hadoop
Apache HAMA: An Introduction toBulk Synchronization Parallel on Hadoop
 
Understand Of Linear Algebra
Understand Of Linear AlgebraUnderstand Of Linear Algebra
Understand Of Linear Algebra
 
BigTable And Hbase
BigTable And HbaseBigTable And Hbase
BigTable And Hbase
 
Heart Proposal
Heart ProposalHeart Proposal
Heart Proposal
 

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

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