Introduction to ankus(data mining and machine learning open source)

Post on 22-Jan-2015

1.669 views 5 download

description

Introduction to ankus. Hadoop based data mining and machine learning open source framework.

Transcript of Introduction to ankus(data mining and machine learning open source)

하둡 기반 데이터 마이닝 / 기계학습 오픈소스!

ankus !

!ankus community / 전수현!suhyunjun@gmail.com!openankus.org

빅데이터와 데이터 마이닝

빅데이터 = 시스템 + 분석 + ..

시스템 (인프라) 데이터 분석

빅데이터 프로세스

collection (수집)

storage (저장)

analysis (분석)

빅데이터 과제

빅데이터를 도입하면 과연 효과를 얻을 수 있을까?

빅데이터의 성공적인 사례들은 직간접적으로 증명되고 있다!

오바마 美 행정부 빅데이터 '올인'···"효과 아니까~"

빅데이터의 성공적인 사례들은 직간접적으로 증명되고 있다!

Netflix 경영진은 자사 고객의 동영상 시청 선호도를 분석하여 1990년 BBC 사의 미스터리물을 리메이크하기로 결정!

대박 사건!!1억 달러(1천억원) 투자!!

빅데이터의 효율적인 활용을 위해서는 고급 분석 기법이 필요

데이터 마이닝 정의

Data + Mining

데이터 속의 잠재적인 유용한 의미를 가진 정보를 추출하는 것을 말하며

또한 KDD(knowledge-discovery in databases) 과정 중 한 단계이기도 하다.

데이터 마이닝의 이해 - 과거

메인프레임(Big Iron)!(고가의 비용)

데이터 분석 기법 적용!(데이터 마이닝)!

낮은 품질의 결과물 초래!

데이터 마이닝의 이해 - 현재

분산 컴퓨팅!(저렴한 비용)!

고급 데이터 분석 기법 재구현!(데이터 마이닝)!

자연스럽게 데이터 분석 !품질이 높아짐!

그래서 !데이터 분석 기법인 데이터 마이닝이 다시 주목받기 시작한 것이다.

�13

데이터 마이닝 기법

data mining

Predictive (예측 모델링)

Descriptive (기술 모델링)

Recommendation system

Classification (분류)

Clustering (군집화)

Association (연관성)

K-NN!Decision Tree!Neural Networks!SVM!Regression!Bayesian Network

K-Means!EM!Density Based!SOM!Hierarchical

Apriori!FP-Growth

�14

Classification(분류)

데이터들을 미리 지정된 카테고리나 등급으로 나누는 분석

�15

Clustering(군집)

데이터들을 유사한 성격을 가지는 임의의 그룹으로 분할

�16

Association(연관)

구매 데이터에서 반복적으로 함께 판매되는 상품들간의 연관성에 대한 규칙을 찾아내기

�17

데이터 마이닝의 이해

데이터의 특징과 !해결하려는 문제에 적합한 기법(알고리즘)을 잘 선택해야 한다.

Choice algorithm

하둡 기반의 데이터 분석

�19

전통적 데이터 분석 도구

WEKA

R

IBM SPSS Modeler

ECMiner

SAS Enterprise Miner

�20

하둡 기반 데이터 분석 도구

Data Analysis Data mining / machine learning

�21

데이터 분석을 위한 인프라 비교

……

Distributed Big Data System based on Hadoop

MapReduce Framework

Data Processing/Extraction

Local: Data Aggregation

Data Analysis Tool Data Processing/Extraction and Analysis Tool

Previous Analysis Tools MapReduce based Analysis

Data Mining /

맵리듀스 개념 및 예제

�23

맵리듀스 정의

• Hadoop으로 대표되는 빅데이터 플랫폼에서의 데이터

처리 프로세스!

• Map/Reduce : Key, Value 구조를 기반으로

하는 데이터 분산 처리 구조

(프레임워크)!

• Google에서 2004년 최초 발표

In Wikipedia!

MapReduce is a programming model for processing large data sets with a parallel, distributed algorithm on a cluster.!A MapReduce program comprises a Map() procedure that performs filtering and sorting !

and a Reduce() procedure that performs a summary operation.

�24

맵리듀스 예제 - Word count

�25

맵리듀스 예제 - Word count - Mapper

�26

맵리듀스 예제 - Word count - Reducer

하둡 기반 데이터 마이닝/기계학습!오픈소스 라이브러리 !

ankus

�28

ankus 목적

�29

ankus vs mahout

장점

• 별도의 전처리 없이 입력 파일 사용 가능!• 다양한 분석을 위한 파라미터 선택 분석 수행 지원!• 웹 기반 UI 지원으로 손 쉽게 분석 수행 가능!• 국내 순수 100% 기술

• 다양한 종류의 알고리즘 및 안정된 버전 제공(2008~)!• 시퀀스 파일을 이용한 빠른 수행 속도 지원!!

단점• 한정된 개수의 알고리즘 제공!!

• 시퀀스 파일 형태의 입력 파일 처리 필요!• 분석 수행 시 파라미터(속성) 선택 불가능!• CLI 중심의 개발

라이선스 • Apache License 2.0 • Apache License 2.0

�30

ankus 설계 구조

�31

ankus 주요 기능

�32

CLI 기반의 ankus 실행

�33

웹 기반의 ankus 실행 - 1

�34

웹 기반의 ankus 실행 - 2

�35

ankus 예제 - 유사/상관계수 - Pearson Correlation Coefficient

�36

ankus 예제 - 유사/상관계수 - Pearson Correlation Coefficient

ankus framework 데모

�37

ankus 예제 - 유사/상관계수 - Pearson Correlation Coefficient

input 데이터 (무비렌즈 데이터셋)

MR - 1 MR - 2

……. (생략)

첫번째 MR Job 결과 데이터

마지막 MR Job 결과 데이터

�38

ankus 커뮤니티

마지막 MR Job 결과 데이터

• 소스코드 다운로드!

• http://github.com/suhyunjeon/ankus

• http://sourceforge.net/projects/ankus

• 위키 - 사용자/개발자 가이드!

• http://openankus.org

• 사용자 그룹 - 페이스북!

• http://www.facebook.com/groups/openankus

• 사용자 포럼 - 구글 그룹스!

• http://goo.gl/d8nP81

감사합니다.