SlideShare a Scribd company logo
1 of 12
부경대학교 IT융합응용공학과
발표자 : 서영원
분산 파일 시스템을 위한 맵 리듀스 기반
추천시스템 구현에 관한 연구
부경대학교 IT응용융합공학 1
1. 서론
2. 시스템 구성도
3. 데이터 전처리 및 클러스터링
4. 트리기반의 모델링
5. 결론 및 추후 연구 방향
CONTENTS
패턴분석을 통한 범죄 예측
부경대학교 IT응용융합공학 2
연구의 필요성 및 목적
1. 서론
연구의 필요성
대용량 데이터의 효율적인 처
리/관리 필요
대용량 소셜 데이터에 대한 중
요성 및 가치 증가
최근 데이터의 특성을 고려한
데이터 처리기술의 필요
:
:
:
연구의 목적
분산된 데이터에 대한 활용 시
스템 구현 방안 제시
맵리듀스 모델을 이용한 클러
스터링 알고리즘 제시
클러스터링 결과에 대한 학습
시스템 구현 방안
:
:
:
부경대학교 IT응용융합공학 3
관련연구
하둡
아파치의 분산시스템 솔루션
MapReduce 프로그래밍 모델
지원
HDFS(Hadoop Distribute File
System)
다양한 패키지 지원
:
:
:
:
맵리듀스
구글에서 개발한 병렬컴퓨팅
을 위한 프로그래밍 모델
맵과 리듀스로 구성된 함수형
프로그래밍
특정 데이터모델이나 스키
마, 질의에 의존적이지 않은 유
연성
:
:
:
1. 서론
부경대학교 IT응용융합공학 4
2. 시스템 구성도
데이터
전처리
클러스터링
결정트리
생성
• RDBMS 데이터의 이용
• 협업 필터링
• 맵리듀스 기반의 데이
터 전처리
• 유사도 계산 알고리
즘
• 맵리듀스 기반의
클러스터링
>
>
>
>
• 클러스터에 대한 트
리 생성
• 새로운 데이터에 대
한 학습가능 알고리
즘
본 연구에서 제안하는 분산시스템에 대한 추천 시스템 설계
부경대학교 IT응용융합공학 5
데이터의 특성을 고려한 맵리듀스 기반 전처리
3. 데이터 전처리 및 클러스터링
내용 기반 필터링(Content Based Filtering)
사용자 기반 필터링(User Based Filtering)
>
>
>
>
>
>
(>
>)
......
......
부경대학교 IT응용융합공학 6
RDBMS -> HDFS
3-1. 데이터 전처리
Client
Sqoop RDBMS
MapMapReduce MapMap
HDFS
Map MapMap
Reduce ReduceReduce
HDFS
1.임포트 실행
3.맵리듀스 잡 실행
2.매타데이터 전송
4.RDBMS의 데이터를 가져옴
6. 전처리에 대한 맵리듀스 잡 실행
procedure : ItemBasedToUserBasedMapper
input : item_purchased_historys
output : (userID,<itemID, rating>) pairs
begin
while(line in item_purchased_history)
while(userID,rating in line[userID,rating])
write(userID,<ltemID,rating>)
end
5.분산파일시스템에 저장
부경대학교 IT응용융합공학 7
유사도 측정과 맵리듀스 기반 클러스터링
3-2. 클러스터링
HDFS
아이템간/사용자간 유사도 비교(Cos Dist.)
대표 데이터 추출(ClusterID지정)
Map
(ClusterId,Value)
Map
(ClusterId,Value)
Map
(ClusterId,Value)
Reduce ReduceReduce
HDFS
Shuffle : Group By ClusterID
2 32 33 42 51 57 61 75
3 3 4 6 4 1 5 8
2 4 15 19 33 37 58 59 61
3 4 1 8 7 5 5 4 4
Dist(A,B) = 0.28
A:
B:
Procedure : calDist
input : List<itemID,rating> A,List<itemID,rating> B
output : result
idxOfA = idxOfB = da = db = n = 0
while(idxOfA < length(A) && idxOfB < length(b))
if(A[idxOfA].itemID == B[idxOfB].itemID)
n += A[idxOfA].rating ^ 2 + B[idxOfB].rating ^ 2
da += A[idxOfA].rating ^ 2, db += B[idxOfB].rating ^ 2
idxOfA += 1,idxOfB += 1
else if(A[idxOfA].itemID > B[idxOfA].itemID)
db += B[idxOfB++].rating ^ 2
else
da += A[idxOfA++].rating ^ 2
while(idxOfA < length(A))
da += A[idxOfA++].rating ^ 2
while(idxOfB < length(B))
db += B[idxOfB++].rating ^ 2
result = n/ (sqrt(da) * sqrt(db))
부경대학교 IT응용융합공학 8
사용자 데이터 개수에 대한 클러스터링 결과
3-2. 클러스터링
0
10000
20000
30000
40000
50000
60000
1000
2000
3000
4000
5000
8000
10000
20000
50000
100000
0.4
0.5
클러스터의 개수
사용자 데이터의 개수
17 59 283 428
8 2 7 6
17 288
7 9
428 712
7 6
31 59 283 821
4 6 7 6
하나의 클러스터에 대한 예
0.397 0.368
0.421
부경대학교 IT응용융합공학 9
클러스터의 관리 및 새로운 데이터의 대한 학습
4. 트리기반의 모델링
트리 사용의 목적
새로운 데이터에 대한 클러스
터링
명확한 결과 추론 및 다양한 관
계식 사용의 가능성
새로운 데이터에 대한 학습 가
능 모델 개발
모형구축의 복잡성 및 소요되
는 시간의 최소화
:
:
:
:
C5 C6
C7
C1 C2 C3 C4
User Layer
Depth 0
Depth 1
Depth 2
부경대학교 IT응용융합공학 10
연구 결론 및 향후 연구 방안
5. 결론 및 추후 연구
결론
맵리듀스를 이용한 데이터 클
러스터링 알고리즘 구현 방안
제시
대표 데이터 추출 방법 및 유사
도 임계치에 따라 클러스터링
의 정확도 결정
:
:
추후 연구
여러가지 실제 소셜 데이터에 대
한 분석 및 결과 비교
데이터의 특성을 이용한 유사도
계산 및 클러스터링 알고리즘 연
구
데이터 크기 별 정확한 성능 비교
필요
하둡 패키지들을 이용한 데이터
비교 및 데이터 학습시스템 구축
:
:
:
:
부경대학교 IT응용융합공학 11
부경대학교 IT응용융합공학 12

More Related Content

Similar to 분산 파일 시스템을 위한 맵 리듀스 기반 추천

QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)Byeong-Hyeok Yu
 
좌충우돌 Data Engineering 학습기
좌충우돌 Data Engineering 학습기좌충우돌 Data Engineering 학습기
좌충우돌 Data Engineering 학습기DONGMIN LEE
 
KCSE 2015 Tutorial 빅데이터 분석 기술의 소프트웨어 공학 분야 활용 (...
KCSE 2015 Tutorial 빅데이터 분석 기술의  소프트웨어 공학 분야 활용 (...KCSE 2015 Tutorial 빅데이터 분석 기술의  소프트웨어 공학 분야 활용 (...
KCSE 2015 Tutorial 빅데이터 분석 기술의 소프트웨어 공학 분야 활용 (...Chanjin Park
 
공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습BJ Jang
 
Deep Learning for AI (1)
Deep Learning for AI (1)Deep Learning for AI (1)
Deep Learning for AI (1)Dongheon Lee
 
Workshop 210417 dhlee
Workshop 210417 dhleeWorkshop 210417 dhlee
Workshop 210417 dhleeDongheon Lee
 
생체 광학 데이터 분석 AI 경진대회 3위 수상작
생체 광학 데이터 분석 AI 경진대회 3위 수상작생체 광학 데이터 분석 AI 경진대회 3위 수상작
생체 광학 데이터 분석 AI 경진대회 3위 수상작DACON AI 데이콘
 
빅데이터 기술전문가
빅데이터 기술전문가 빅데이터 기술전문가
빅데이터 기술전문가 YeLim Yu
 
데이터드리븐 DX 추진방안_202306.pdf
데이터드리븐 DX 추진방안_202306.pdf데이터드리븐 DX 추진방안_202306.pdf
데이터드리븐 DX 추진방안_202306.pdfYunjeong Susan Hong
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축BOAZ Bigdata
 
집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking
집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking
집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & RankingIan Choi
 
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개I Goo Lee
 
파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트itproman35
 
D bguide 데이터 기반 연구 패러다임(최종회)_데이터 관리 계획서와 rdms
D bguide 데이터 기반 연구 패러다임(최종회)_데이터 관리 계획서와 rdmsD bguide 데이터 기반 연구 패러다임(최종회)_데이터 관리 계획서와 rdms
D bguide 데이터 기반 연구 패러다임(최종회)_데이터 관리 계획서와 rdmsSuntae Kim
 
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...Amazon Web Services Korea
 
공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발MinPa Lee
 
Flamingo 1.2 릴리즈의 지원 기능 정리
Flamingo 1.2 릴리즈의 지원 기능 정리Flamingo 1.2 릴리즈의 지원 기능 정리
Flamingo 1.2 릴리즈의 지원 기능 정리BYOUNG GON KIM
 
Introduction to ankus(data mining and machine learning open source)
Introduction to ankus(data mining and machine learning open source)Introduction to ankus(data mining and machine learning open source)
Introduction to ankus(data mining and machine learning open source)SuHyun Jeon
 
기계독해를 위한 BERT 언어처리 모델 활용
기계독해를 위한 BERT 언어처리 모델 활용기계독해를 위한 BERT 언어처리 모델 활용
기계독해를 위한 BERT 언어처리 모델 활용Kenneth Jung
 

Similar to 분산 파일 시스템을 위한 맵 리듀스 기반 추천 (20)

QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)
 
좌충우돌 Data Engineering 학습기
좌충우돌 Data Engineering 학습기좌충우돌 Data Engineering 학습기
좌충우돌 Data Engineering 학습기
 
KCSE 2015 Tutorial 빅데이터 분석 기술의 소프트웨어 공학 분야 활용 (...
KCSE 2015 Tutorial 빅데이터 분석 기술의  소프트웨어 공학 분야 활용 (...KCSE 2015 Tutorial 빅데이터 분석 기술의  소프트웨어 공학 분야 활용 (...
KCSE 2015 Tutorial 빅데이터 분석 기술의 소프트웨어 공학 분야 활용 (...
 
공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습
 
Deep Learning for AI (1)
Deep Learning for AI (1)Deep Learning for AI (1)
Deep Learning for AI (1)
 
Workshop 210417 dhlee
Workshop 210417 dhleeWorkshop 210417 dhlee
Workshop 210417 dhlee
 
생체 광학 데이터 분석 AI 경진대회 3위 수상작
생체 광학 데이터 분석 AI 경진대회 3위 수상작생체 광학 데이터 분석 AI 경진대회 3위 수상작
생체 광학 데이터 분석 AI 경진대회 3위 수상작
 
빅데이터 기술전문가
빅데이터 기술전문가 빅데이터 기술전문가
빅데이터 기술전문가
 
데이터드리븐 DX 추진방안_202306.pdf
데이터드리븐 DX 추진방안_202306.pdf데이터드리븐 DX 추진방안_202306.pdf
데이터드리븐 DX 추진방안_202306.pdf
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
 
집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking
집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking
집단 지성 (Programming collective intelligence) 스터디: Chapter 4 - Searching & Ranking
 
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
 
파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트
 
Mongo db 최범균
Mongo db 최범균Mongo db 최범균
Mongo db 최범균
 
D bguide 데이터 기반 연구 패러다임(최종회)_데이터 관리 계획서와 rdms
D bguide 데이터 기반 연구 패러다임(최종회)_데이터 관리 계획서와 rdmsD bguide 데이터 기반 연구 패러다임(최종회)_데이터 관리 계획서와 rdms
D bguide 데이터 기반 연구 패러다임(최종회)_데이터 관리 계획서와 rdms
 
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
 
공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발
 
Flamingo 1.2 릴리즈의 지원 기능 정리
Flamingo 1.2 릴리즈의 지원 기능 정리Flamingo 1.2 릴리즈의 지원 기능 정리
Flamingo 1.2 릴리즈의 지원 기능 정리
 
Introduction to ankus(data mining and machine learning open source)
Introduction to ankus(data mining and machine learning open source)Introduction to ankus(data mining and machine learning open source)
Introduction to ankus(data mining and machine learning open source)
 
기계독해를 위한 BERT 언어처리 모델 활용
기계독해를 위한 BERT 언어처리 모델 활용기계독해를 위한 BERT 언어처리 모델 활용
기계독해를 위한 BERT 언어처리 모델 활용
 

Recently uploaded

JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 

Recently uploaded (8)

JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 

분산 파일 시스템을 위한 맵 리듀스 기반 추천

  • 1. 부경대학교 IT융합응용공학과 발표자 : 서영원 분산 파일 시스템을 위한 맵 리듀스 기반 추천시스템 구현에 관한 연구 부경대학교 IT응용융합공학 1
  • 2. 1. 서론 2. 시스템 구성도 3. 데이터 전처리 및 클러스터링 4. 트리기반의 모델링 5. 결론 및 추후 연구 방향 CONTENTS 패턴분석을 통한 범죄 예측 부경대학교 IT응용융합공학 2
  • 3. 연구의 필요성 및 목적 1. 서론 연구의 필요성 대용량 데이터의 효율적인 처 리/관리 필요 대용량 소셜 데이터에 대한 중 요성 및 가치 증가 최근 데이터의 특성을 고려한 데이터 처리기술의 필요 : : : 연구의 목적 분산된 데이터에 대한 활용 시 스템 구현 방안 제시 맵리듀스 모델을 이용한 클러 스터링 알고리즘 제시 클러스터링 결과에 대한 학습 시스템 구현 방안 : : : 부경대학교 IT응용융합공학 3
  • 4. 관련연구 하둡 아파치의 분산시스템 솔루션 MapReduce 프로그래밍 모델 지원 HDFS(Hadoop Distribute File System) 다양한 패키지 지원 : : : : 맵리듀스 구글에서 개발한 병렬컴퓨팅 을 위한 프로그래밍 모델 맵과 리듀스로 구성된 함수형 프로그래밍 특정 데이터모델이나 스키 마, 질의에 의존적이지 않은 유 연성 : : : 1. 서론 부경대학교 IT응용융합공학 4
  • 5. 2. 시스템 구성도 데이터 전처리 클러스터링 결정트리 생성 • RDBMS 데이터의 이용 • 협업 필터링 • 맵리듀스 기반의 데이 터 전처리 • 유사도 계산 알고리 즘 • 맵리듀스 기반의 클러스터링 > > > > • 클러스터에 대한 트 리 생성 • 새로운 데이터에 대 한 학습가능 알고리 즘 본 연구에서 제안하는 분산시스템에 대한 추천 시스템 설계 부경대학교 IT응용융합공학 5
  • 6. 데이터의 특성을 고려한 맵리듀스 기반 전처리 3. 데이터 전처리 및 클러스터링 내용 기반 필터링(Content Based Filtering) 사용자 기반 필터링(User Based Filtering) > > > > > > (> >) ...... ...... 부경대학교 IT응용융합공학 6
  • 7. RDBMS -> HDFS 3-1. 데이터 전처리 Client Sqoop RDBMS MapMapReduce MapMap HDFS Map MapMap Reduce ReduceReduce HDFS 1.임포트 실행 3.맵리듀스 잡 실행 2.매타데이터 전송 4.RDBMS의 데이터를 가져옴 6. 전처리에 대한 맵리듀스 잡 실행 procedure : ItemBasedToUserBasedMapper input : item_purchased_historys output : (userID,<itemID, rating>) pairs begin while(line in item_purchased_history) while(userID,rating in line[userID,rating]) write(userID,<ltemID,rating>) end 5.분산파일시스템에 저장 부경대학교 IT응용융합공학 7
  • 8. 유사도 측정과 맵리듀스 기반 클러스터링 3-2. 클러스터링 HDFS 아이템간/사용자간 유사도 비교(Cos Dist.) 대표 데이터 추출(ClusterID지정) Map (ClusterId,Value) Map (ClusterId,Value) Map (ClusterId,Value) Reduce ReduceReduce HDFS Shuffle : Group By ClusterID 2 32 33 42 51 57 61 75 3 3 4 6 4 1 5 8 2 4 15 19 33 37 58 59 61 3 4 1 8 7 5 5 4 4 Dist(A,B) = 0.28 A: B: Procedure : calDist input : List<itemID,rating> A,List<itemID,rating> B output : result idxOfA = idxOfB = da = db = n = 0 while(idxOfA < length(A) && idxOfB < length(b)) if(A[idxOfA].itemID == B[idxOfB].itemID) n += A[idxOfA].rating ^ 2 + B[idxOfB].rating ^ 2 da += A[idxOfA].rating ^ 2, db += B[idxOfB].rating ^ 2 idxOfA += 1,idxOfB += 1 else if(A[idxOfA].itemID > B[idxOfA].itemID) db += B[idxOfB++].rating ^ 2 else da += A[idxOfA++].rating ^ 2 while(idxOfA < length(A)) da += A[idxOfA++].rating ^ 2 while(idxOfB < length(B)) db += B[idxOfB++].rating ^ 2 result = n/ (sqrt(da) * sqrt(db)) 부경대학교 IT응용융합공학 8
  • 9. 사용자 데이터 개수에 대한 클러스터링 결과 3-2. 클러스터링 0 10000 20000 30000 40000 50000 60000 1000 2000 3000 4000 5000 8000 10000 20000 50000 100000 0.4 0.5 클러스터의 개수 사용자 데이터의 개수 17 59 283 428 8 2 7 6 17 288 7 9 428 712 7 6 31 59 283 821 4 6 7 6 하나의 클러스터에 대한 예 0.397 0.368 0.421 부경대학교 IT응용융합공학 9
  • 10. 클러스터의 관리 및 새로운 데이터의 대한 학습 4. 트리기반의 모델링 트리 사용의 목적 새로운 데이터에 대한 클러스 터링 명확한 결과 추론 및 다양한 관 계식 사용의 가능성 새로운 데이터에 대한 학습 가 능 모델 개발 모형구축의 복잡성 및 소요되 는 시간의 최소화 : : : : C5 C6 C7 C1 C2 C3 C4 User Layer Depth 0 Depth 1 Depth 2 부경대학교 IT응용융합공학 10
  • 11. 연구 결론 및 향후 연구 방안 5. 결론 및 추후 연구 결론 맵리듀스를 이용한 데이터 클 러스터링 알고리즘 구현 방안 제시 대표 데이터 추출 방법 및 유사 도 임계치에 따라 클러스터링 의 정확도 결정 : : 추후 연구 여러가지 실제 소셜 데이터에 대 한 분석 및 결과 비교 데이터의 특성을 이용한 유사도 계산 및 클러스터링 알고리즘 연 구 데이터 크기 별 정확한 성능 비교 필요 하둡 패키지들을 이용한 데이터 비교 및 데이터 학습시스템 구축 : : : : 부경대학교 IT응용융합공학 11