728x90

트리 모델

- 데이터 분석 과정을 트리로 구조화하여 분류/회귀 분석하는 기법

- 타겟 변수(목표 변수)가 카테고리형(범주형)인경우 분류기

- 목표 변수가 확률, 수인경우 회귀 모델 이용

-> 트리로 많은 양의 데이터를 분석할수 있음

 

 

트리

- 개요 : 데이터에 기반하여 노드들을 분할해나감. 분리 규칙을 구할지 판단.

- 사용 목표 : 분류, 변수 선택, 변수간 상관성 탐색 용도로 사용 가능

 

 

트리 모델의 역사

- 변수간 연관성 탐색하는 방법으로서 개발

- AID 1964

- THAID 1973, CHAID Squared Automatic Interaction Detection 1980

- CART Classfication And Regressions Trees 1984년도에 완성된 트리 모델

- C4.5 1983

- FACT 1988

- Quest 1997 : 이진 분할 + 나무모형 가지치기 수행

- Cruise 2001 : 다중 분할 나무모형

 

 

트리 모델 장점

- 독립 변수의 형태에 상관없이 사용

- 이해, 해석이 간편

- 변수간 상관성 쉽게 찾을수 있음

- 결측치 처리가 용이

- 새로운 데이터에 대해 쉽게 예측 가능

 

트리 모델 단점

- 단순함과 분리를 하는 만큼 타 모델보다 성능이 떨어질수 있음

- 학습 데이터가 적은 경우, 쉽게 변할 수 있음

 

 

CART 모델

- 불순도를 낮추도록 이진 분할 수행

- 불순도는 지니계수 함수로 계산

- 분할 임계치 선정과 분할을 재귀적으로 수행하여 트리 모델 완성

 

 

C4.5 트리모델

- CART 모델과 동일하나 엔트로피를 이용하여 불순도 계산

 * 엔트로피 : 정보의 불확실성 정도.

 ref: hyunw.kim/blog/2017/10/14/Entropy.html

 

CHAID Chi squared Automatic Interaction Detection 트리모델

- 카이제곱 검정을 이용하여 분할 임계점을 결정함

 

QUEST Quick Unbiased Effcient Statistical Tree 모델

- CART 모델의 변수 선택 편향성을 개선하기 위한 모델

 * CART 모델은 특정 분류값이 많을 수록 해당 변수 위주로 분할

- 변수 선택 : 일원배치 분산분석과 카이제곱검정이용

- 분할 임계치 선정 : CART의 임계치 선정 법과 2차 판별분석을 혼용

- 장점 : 연산 속도가 빠르며, CART의 편향성을 개선

 

 

CRUISE 트리 모델

- QUEST의 변수 선택 방법을 개선. 변수간 상관성을 더 반영

- 변수 선택 : 카이제곱 분할표 검정 이용

- 분할 임계치 선택 : 박스-콕스 변환후, CART의 방법과 선형 판별분석 수행

- 장점 : 다중 분할/ 선형 결합 분할 가능

 

 

트리 모델 크기 조절 방법

- 분할 정지 split 방법 : 통계적 유의성을 이용하여 분할을 해나갈지 평가

- 가치지기 pruning 방법 : 분할해 나간후. 적절하지 않은 일부 가지를 제거

 

 

300x250
728x90

빅데이터의 오류

- 결측치 : 누락된 변수 값

- 잡음 : 센서 노이즈로 인해 기존 값에서 벗어난 정도.

- 아웃라이어 : 기존의 데이터와 큰 차이를 보이는 데이터

 

 

 

빅데이터 분석 도구

- hadoop : 빅데이터 처리를 위한 자바 기반 오픈소스 프레임워크

- R : 통계 기법, 시각화 함수 제공. 하둡과 연동하여 빅데이터 처리

- presto : 페이스북에서 개발. 하둡 sql 처리 엔진

- bigquery : 구글 개발 빅데이터 처리 엔진.

- 맵리듀스 : 빅데이터 병렬처리 함수

- summingbird :  스톰과 하둡의 결합. 스트리밍 맵리듀스 시스템

 

 

 

빅데이터 솔루션

- 아파치 재단 : 오픈소스 프로젝트 수행

- cloudera : 하둡 배포판 제공

- 애저 : 빅데이터, 모바일, 저장소 등 통합 클라우드 플랫폼

- AWS : 애저와 동일

 

 

 

결측치 처리

- 삭제 : 결측치가 적은경우

- 대체 : 결측치가 많은 경우 다른 값으로 대치하는것이 좋음.

 

결측치 대체법

- 평균 삽입 : 해당 변수의 평균값을 결칙치에 삽입

- 보간법 : 시계열 데이터의 경우 보간하여 삽입

- 추정법 : 누락 값을 추정하여 삽입.

 

 

300x250
728x90

빅데이터 수집 과정

1. 데이터 유형 파악하기 : 종류, 크기, 수집 주기에 따라 구분 -> RDB data, JSON, img, log

2. 수집 방법 : 유형에 따라 최적

     -> 정형 데이터는 Sqoop, Vendor Driver, API

     ->  로그/센서는 Scribe, Flume

     ->  텍스트/이미지/영상 등 FTP/크롤러 등

3. 수집 솔루션 : 구성요소, 데이터 처리방식, 기본 아키텍처 확인

4. HW 구축 : 서버, 저장소, 네트워크 등 구축, 스펙 검토

5. 실행 환경 호가인 : 수집 프로그램의 동작 환경 확인.

 

 

 

빅데이터 수집 유형

1. 정형 데이터

- 테이블 형테의 데이터 -> RDB 데이터, Excel

 

2. 반정형 데이터 

- 웹 문서 같은 데이터로 내부에 메타 데이터를 가짐.

- HTML, XML, JSON 등

 

3. 비정형 데이터

- 텍스트, 이미지 같은 데이터

- 그대로 분석하기 힘들어 전처리 과정을 거침

 

 

 

 

 

데이터 유형에 따른 수집 

1. 정형 데이터

- Apache Scoop, API 등과 같은 수집/소켓프로그램으로 모음

 

2. 반정형 데이터

- Flume, Scribe, 블루투스, Log collector, 스트리밍

 

3. 비정형 데이터

- 웹/소셜 -> 크롤러

- 텍스트,이미지 등 -> FTP/API

 

 

 

 

데이터 형태 별 대표적인 수집 기술

- Apache Sqoop(정형 데이터용) : Hadoop과 연계한 대량 데이터 전송 및 분석, 병렬 데이터 전송

- Apach Flume(반정형 데이터용) :  로그 수집기, 분산 서비스, 대량 이벤트 정보 전송

- Scrapy(비정형) : 웹 크롤링하여 수집 -> 마이닝 등에 활용

 

 

 

텍스트 수집 기법

- scarping : 웹 문서에 대한 정보를 수집

- crawling : url link로 반복 수집

- ftp : 파일 전송 프로토콜

- rss : 사이트 정보를 공유하기 위한 기술로 xml 기반 콘텐츠 배급 프로토콜. 

- 개방 api : 외부에서 접근 가능

 

 

 

변수의 분류

- 계량적 변수와 비계량적 변수

- 계량적 변수 : 수치로 측정되는 데이터에 대한 변수. 연속/이산 변수로 또 나뉨 -> 매출액

- 비계량적 변수 : 수치로 측정과는 관련없는 데이터에 대한 변수 -> 성별, 의견

 

 

데이터 척도

- 명목 척도 normial scale : 소속 분류. -> 성별, 나라, 구분

- 서열 척도 ordinal scale : 순위 구분 -> 등수, 평점

- 구간 척도 interval scale : 서열과 차이 구분 -> 온도

- 비율 척도 ration scale : 척도간 비율 -> 나이, 길이

 

 

 

빅데이터 분석 기술의 활용 사례

- 머신 러닝 : 영화 구매 패턴으로 다른 영화 추천

- 감정 분석 : 고객 반응 분석

- 소설 네트워크 분석 : 평판이 어떤지 관찰

- 연관 분석 : 관련 상품 구입 여부 분석

- 분류 : 새 고객이 어느 집단에 속하는가

- 회귀 : 고객 연령대에 따라 구입 상품에 어떻게 되는 확인

 

 

 

저장 시스템

1. RDBMS 관계형 데이터베이스 시스템

- 정형 데이터 저장

- 반정형 데이터로부터 추출

- 개념/논리/물리 db 설계

- Mysql, oracle 등

 

2. nosql dbms

- json 형태의 데이터 관리. 제약이 덜함

- mongodb와 cassandra 등

* 카산드라 : 오픈소스 dbms, 분산 시스템 이용.

 

 

300x250
728x90

선형 회귀 모형

- 입력이 주어질때 결과를 예측하는 모형

- i번쨰 목표 변수의 값을 Y_i, 입력 변수들의 값 X_1i, ... X_pi라 할때 아래와 같이 정의

- 입력 변수와 회귀 계수의 선형 결합의 형태로 된 모델

- beta_0, ..., beta_p는 회귀 모수 regression parameter or regression coefficient로 아직모르는상수

- eta_i는 Y_i의 근사오차. 오차는 서로 독립이고 평균이 0, 일정한 분산을 가짐

 

 

회귀 계수를 추정하기

- 최소제곱법 least sequare method을 사용

- 각 관측치와 회귀 선까지 거리(오차) 제곱의 합을 최소화하는 계수들을 구함.

- 각 회귀 계수 beta_i에 대해 편미분하여 각각의 추정 회귀계수 hat_beta_i를 구함

- 추정해낸 회귀 모델은 아래와 같음.

 

회귀 계수의 의미

- beta_j는 타 변수가 일정할댸 j번째 변수가 변동시 Y의 변동량

- beta_j = Y에 대한 X_j의 기여도

- beta가 양수이면 X가 증가시 Y도 증가

 

 

입력 변수의 중요도

- 선형 회귀 모형에서 변수 중요도는 t value로 측정

- j번째 입력 X_j에 대한 t는 아래와 같이 정의 (SE는 표준 오차)

- SE(hat_beta_j)는 j번째 회귀계수 추정치 hat_beta_i의 표준오차

 ->t의 절대값이 클수록 영향력이 크다고 할 수 있다.

 

 

모형의 적합도 1 - F value

- F value :  모형 상수항 beta_를 제외한 모든 회귀계수가 0인지 아닌지 검정하는 측도

 -> F value는 회귀 직선으로 평균적으로 설명가능한 부분(mean squared regression:MSR)을

     설명할수없는 부분(mean sqared error; MSE)로 나눈값.

=> 에러에 비해서 직선이 얼마나 설명력이 큰가.

 ex. MSE가 매우크다 -> F는 작다 -> p value가 더크다

 -> 귀무 가설(모든 회귀 계수가 0)이다 채택 -> 유용하지 않은 회귀직선

 

- F value가 크면 입력변수들 중에서 하나는 유의(회귀 계수가 0이 아님).

- F value가 작아서 p value가 크다면 모든 입력가 유의하지 않으므로, 회귀 직선이 유용하지 않음.

 

 

모형의 적합도 2 - R-sqaured 결정계수

- 모형의 적합도 goodness of fit를 결정계수 (coefficient of determination) Rsquared로 측정  

- 결정계수 R2 : 직선이 설명하는 부분의 총합/ 변동의 총합으로 0~1값

- R squared는 변수 갯수가 많아질수록 증가함

=> adjusted R square 사용

 

 

 

회귀 모형으로 예측

- 새로운 입력 x_1i*, x_2i*, ..., x_pi*을 회귀식에 대입하여 hat_y_i*를 얻음.

 

예측력

- 회귀 모형이 얼마나 좋은지는 MSE를 주로 사용

 

로지스틱 회귀모형

- 목표 변수가 0, 1인 경우 아래와 같은 선형 회귀모형으로 설명할수가 없음.

- y_i = 0 또는 1은 힘드니 P(y=1) or P(y = 0)으로 다루자.

- 목표변수가 1이 될 확률을 pi_i = P(y_i = 1)이라 할때 아래와 같이 로지스틱 회귀모형 정의

  *성공확률 pi_i는 확률이므로 0~1사이 값

- pi_i의 오즈비는 양수값의 범위를 가짐.

- 로짓의 범위는 실수 영역이 됨. 우리가 구하고자하는 선형 회귀모형이 나옴.

- 성공 확률 pi와 입력변수는 로지스틱 반응함수 형태(S 형태의 곡선으로 나타남)로 표현

- 입력 변수와 로짓의 관계는 직선이 됨.

 

 

로지스틱 회귀모형의 모수 추정

- 로지스틱 회귀모형의 모수는 최대가능도 추정법 maximum likelihood estimation method MLE로 추정

- 가능도 함수를 최대화하는 모수 추정값은 뉴턴 랩슨이나 피셔 스코어링 방법으로 구함.

모형을 이용한 예측

- hat pi_i*이 크면 hat_y_i* = 1, 작은경우 hat_y_i* = 0

- pi_0는 0.5를 사용하나 적용 분야에 따라 달리 결정가능.

분류성능 평가지표  Confusion Matrix

- 볼떄마다 맨날 햇갈린다. 

- TP True Positive : 실제로 참이고 참으로 판단.

- TN True Negative : 실제로 거짓이고 거짓으로 판단.

- FP False Positive : 실제로 거짓이나 참이라 판단.

- FN False Negative : 실제로 참이나 거짓이라 판단.

- 정밀도 precision = TP/(TP+FP) : Positive 정답률. 모델 예측이 실제로 맞은 비율

- 재현율 recall = TP/(TP+FN) : 민감도라고도 하며, 실제 참 중에서 모델이 참이라고 맞춘 비율

- 정확도 accuracy : 옳게 판단한 비율

Fall-OUT

- FPR(False Positive Rate) = FP/(TN + FP)

- 실제 거짓중에 모델이 True라한 비율

-> 낮을수록 좋음.

 

TPR(=Recall 재현율)

- TPR = TP/(TP + FN)

- 실제 참중에 모델이 참이라 한 비율

-> 높을 수록 좋음

 

ROC(Receiver Operating Characterisitc) Curve

- FPR이 작고, 재현률(TPR)이 클수록 좋음

- 곡선이; 왼쪽에 가까울수록 좋은 모델

 

https://www.jtcvs.org/article/S0022-5223(18)32875-7/fulltext

 

 

300x250
728x90

빅데이터

- 정형 + 비정형 데이터. 기존의 방식으로 처리하기 방대한 데이터

- 3V : velocity, volume, variate

 

데이터 분석의 역사

- 로널드 피셔 ronald fisher : 곡물 관련 실험결과를 연구하며 실험 계획법 토대 마련

- 조지 갤럽 george gallup : 사람의 생각을 문항으로 데이터 수집

- 윌리엄 페어 william fair : 고객 행동을 예측하여 의사결정 개념 소개

 

 

다양한 통계적 기법들

- 실험 계획법 : 일원요인 분산분석, 이원요인 분산분석, 공분산분석, 요인배치법 등 

- 다변량 분석법 : 주성분 분석, 인자 분석 , 군집 분석, 판별분석, 로지스틱 회귀분석

- 데이터 마이닝 : 회귀 모델, 나무 모델, 군집 모델, 신경망 모델, 연관성 모델 등

 

 

데이터 마이닝의 등장 배경

- 데이터 웨어하수의 보급과 도입

 -> 복잡한 데이터를 다룰수 있는 새로운 데이터 분석법 필요.

 

 

데이터 웨어하우스 data warehouse

- 중앙 축적 데이터베이스

 

데이터 마트 data mart

- 데이터 웨어하우스와 사용자 사이에 존재.

- 데이터 웨어하우스의 한 주제나 복제

 

 

 

 

데이터 과학자

- 윌리엄 클리블랜드 교수 : 데이터 과학은 향상된 데이터 분석을 위해 통계학이 전산과 융합하여 영역을 확장하는과정

-> 데이터 과학자가 되기 위해 데이터 마이닝같은 통계학이나 전산 지식 뿐만아니라 많은 경험과 스토리 텔링,

   문제해결의지, 시각적 전달 시 사용할 디자인 감각 등 종합적 능력 요구.

 

 

 

데이터 마이닝

- 대용량의 데이터로부터 관계, 패턴을 탐색, 모형화하여 지식을 추출하는 과정

 -> 모수적 모형과 알고리즘 접근 방법을 알아야함.

- 다양한 업무분야에 활용되어 의사결정에 도움줌

 

 

관련 분야

1. KDD knowledge Discovery in Database

- 데이터베이스 안에서 지식 발견 과정

2. 기계 학습 Machine Learning

- 인공지능 한분야, 데이터로부터 판단

 

 

 

데이터마이닝 기법

- 지도 학습 : 목표 값이 존재

  -> 분류 : 판별, 로지스틱 회귀, 최근접이웃, 의사결정나무, 나이브 베이즈

  -> 회귀 : 회귀 분석, 최근접 이웃, 신경망

- 비지도 학습 : 목표 값 없음

 -> 군집 : k-means, 계층적 군집분석, 이중 군집법, 유한혼합모형

 -> 연관 :  장바구니분석, 서열분석, 트랜잭션 데이터분석

 -> 가중치 : 신경망

 

 

데이터 마이닝 활용 분야

1. 고객 관계 관리 CRM

2. 신용 평가

3. 품질 개선

4. 부정행위적발

5. 영상 분석

6. 생명정보학

7. 인터넷 비즈니스

 

 

 

 

 

 

300x250
728x90

빅데이터 실무자

- 빅데이터 분석 기획, 수집, 저장, 처리, 시각화 수행 실무자

- 분석 기획 : 분석 과제 정리, 데이터 이해, 분석 계획

- 수집과 전처리 : 수집, 추출, 정제

- 탐색과 초기분석 : 탐색, 적재

- 빅데이터 모형 설계 : 연관성과 군집 분석, 확률 모형 검토, 모형과 관련 자료 선정

- 모형 적합 : 자료 전처리, 분석 알고리즘 구축, 적합 결과 도출

- 모형 평가 : 자료 타당성 검토, 모형 타당성 검토, 적합 타당성 검토

- 결과 활용 : 분석 결과 해석, 표현, 적용 및 검증

 

관련 직무

- 데이터 엔지니어 : 데이터 공급, 처리, 분석, 시각화

- 데이터 과학자 : 통계, 데이터 모델링, 분석, 알고리즘 개발

- 비즈니스 분석가 : 데이터 중심 의사결정 지원

 

 

 

빅데이터

- 기존 데이터베이스로 처리할수 없는 방대한 데이터(정형, 비정형)로부터 가치를 추출하고, 분석하는 기술

- 3V velocity, volume, variate

- 5V value, veracity

 

빅데이터의 크기

- 단위 데이터 집합 크기가 테라에서 페타바이트에 이름

byte -> kb -> mb -> gb -> tb -> pb -> eb -> zb -> yb

 

 

데이터 유형

- 정형 데이터 structuerd data : 업무, 인사 정보와 같이 구조화된 데이터

- 비정형 데이터 unstrucuted data : 그림, 음성 처럼 형태나 구조가 정형되지 않은 데이터

- 반정형 데이터 semi structured data : 데이터 구조에 대한 메타 정보를 가진 데이터

- 빅데이터 : 정형 + 비정형 + 반정형, 형태나 구조에 얽히지 않은 데이터 형식

 

 

 

 

빅데이터 분석기획

1. 도메인 이슈 도출

2. 분석 목표 수립 - 분석 목표 정의서 수립

3. 프로젝트 계획 - WBS 설계

4. 보유데이터 확인

 

 

 

ETL Extract/Transform/Load

- 도메인 검증, 데이터 요약

- 논리적 데이터/DBMS 데이터 변환

 

작업 분할 구조도 Work Breakdown Strucure 설계 절차

- 데이터 분석 과제 정의

- 데이터 준비, 탐색

- 데이터 분석 모델링, 검증

- 산출물

 

 

 

데이터 마이닝

- 데이터로부터 의미있는 패턴, 규칙을 찾는 방법

 ex. 분류, 군집화(k-means clustering), 연관성, 연속성, 예측(의사 결정 나무)

 

 

 

빅데이터 분석과정

1. 문제인식

2. 조사

3. 모형화(변수 선정)

4. 자료수집(변수 측정)

5. 자료분석(통계적 데이터 분석 기법, 데이터 마이닝)

 

 

데이터 분석 과정

1. 이슈 도출

2. 분석 목표 설정

3. 프로젝트 계획 수립

4. 보유 데이터 확인

5. 빅데이터 결과 시각화

 

 

개인정보 비식별화 조치 절차

- 사전 검토 -> 비식별조치 ->적정성평가 ->사후관리

300x250
728x90

빅데이터의 생성 위치에 따른 구분

- 내부 데이터 : 업무 과정에 생성되어 db에 저장된 데이터

- 외부 데이터 ; 인터넷에서 구할수 있는 데이터

 

 

외부 데이터 수집 방법

- 정부 : 통계청의 KOSIS 등 통계 DB, 공개 API나 파일로 공개

- 네이버, 다음, 페이스북, 구글 : 보유 데이터 중 일부를 공개 API로 접근

- 검색 허용 홈페이지 : 데이터 수집 기술을 이용하여 정보 수집

 

 

데이터 수집

- 내부/외부 데이터를 검색 수집하여 이를 변환 통합

 -> 반(비)정형 데이터를 분석가능한 정형 데이터로 변환과 통합까지

 

 

내부 데이터 수집

- 로그 데이터 : 스크라이브, 플룸 등의 로그 수집기

 

외부 데이터 수집

- 외부 데이터베이스 : 통계 KOSIS, 세계은행, Yahoo finance 등

- 포털 : 네이버, 다음, 구글, 줌 등

 

 

 

외부 데이터 수집 하기

- 웹 크롤링 : 웹 로봇으로 HTML 데이터 읽고 수집

- 공개 API : 데이터 공개하는 쪽에서 JSON이나 XML 형식에 맞게 가공해서 공개

 

 

 

트위터

-  짧은 문장 공유하는 블로그 서비스

 

트위터 API

- 외부에서 트위터 기능으로 3자 어플리케이션 개발하거나 트위터 데이터 수집할수있도록 공개 API 제공

 

트위터 API 이용

- 트위터 API 사용시 트위터 개발자로 등록하여, 제작 어플리케이션 정보 등록

- 해당 어플리케이션이 트위터 서비스에 접속할 수 있도록 인증키를 받아야함

- REST API : 기본 제공 API

- STREAMING API : 트윗들을 실시간으로 스트리밍 해줌.

  * public stream api: 전체 트윗 데이터중 1%를 무작위로 실시간 전송 -> 트렌드 분석에 사용

  * user stream api : 지정한 트위터 계정의 모든정보를 실시간으로 전송 -> 특정 계정 활동을 모니터링

  * site streaming api : 특정 키워드나 특정 인물의 트윗을 지속적으로 받는 경우 사용하는 api

 

 

 

트위터를 이용한 분석

- 트윗 글들을 API로 수집하여 분석 -> 사람들의 관심사 파악

- 미국 대선 관련 트윗으로 정치 지수, 여론 흐름 파악

- 유엔 글로벌 펄스는 2010~2011년 그로벌 경제위기에 어떻게 사람들이 대처하는지 인도네시아와 미국 공개 트윗 분석

 -> 트윗 텍스트 데이터 수집, 텍스트 카테고리 분류하여 통계적 패턴 분류

  => 미국 주택 구입 가능성, 인도네시아의 식량, 정전 및 연료 부족상황을 언급한 트윗 수 분석

 

 

 

 

페이스북

- 친밀한 그룹 간 메시지, 사진, 영상 등 정보 공유

 

페이스북 API

- 개발자 등록을 마친후, 사용할 어플리케이션 생성후 이용

- Graph API를 제공. 다양한 메소드를 테스트, 데이터 종류, 구조 쉽게 파악

 

 

 

 

공공 데이터

- 정부, 공공기관이 통계, 행정 목적으로 수집한 데이터

 

공공 데이터 활용 사례

- 서울 버스 앱 : 폰으로 버스 정류장에 버스가 몇 분후에 오는지 알 수 있음.

- 심야 버스 노선 : 교통카드 이용량과 통화 데이터 이용으로 심야 교통 수요를 측정하고, 관련된 심야버스 노선 찾음.

 

 

 

 

 

300x250
728x90

 

일반적인 분산 파일 시스템 

- 마스터 노드 : 관리자 (1대)

- 스레이브 노드 : 실제 데이터 분산 저장 (여러대). 분산 상태를 마스터가 관리

 

하둡 분산 파일 시스템 HDFS

- 네임 노드(마스터 노드) : 슬레이브 노드 동작, 메타데이터 실시간 관리

- 데이터 노드(슬레이브 노드) : 하나의 데이터 블록을 몇 대의 데이터 노드가 복제하여 보관(잃어버리지 않도록)

- 신뢰성과 고장감내성

 

 

하둡과 맵리듀스 구조

 

http://www.incodom.kr/hadoop_%EC%B4%9D%EC%A0%95%EB%A6%AC

 

HDFS 특징

- 한 블록의 크기가 크게 설정되어 큰 데이터를 한번에 가져올수있도록 설계

- 데이터 일괄 처리에 최적화 <- 수집된 데이터를 수정할 필요가 없기 때문

 

 

HDFS 상에서의 데이터 분석 프레임 워크

- 데이터 중심 프로그래밍 모형 : 작업 분할, 스케줄링, 네트워크 구성 등은 플랫폼 차원에서 수행하여 단순화 됨

- 프로그래머는 맵/리듀스 함수만을 작성 : 데이터 노드에서 실행(데이터 전송 최소화 - 일괄처리)

 

 

맵리듀스 프로그래밍 모형

- 맵함수 : 입력 <키. 값>을 새로운 <키, 값>으로 변환

- 리듀스 함수 : 시스템이 수집한 < 키, (값, ... )>을  다시 <키, 값>으로 변환하여 HDFS에 저장

- 중간 과정은 하둡 시스템이 해결

 

 

 

맵리듀스 프로그래밍 예제

- 여러 문서에 등장하는 단어 수 새기

- 맵 : <단어1, 1>, <단어2, 1>, . . .. .

- ( 중간 과정 : <단어1, (1, 1, 1,  . . .)>  )

- 리듀스 : <단어1, 1+1+1+1+ . . .>, . . .

 

map(key:document, value:text){

  for word in tokenize(value)

      emit(word, 1)

}

 

reduce(key:word, value: list of 1s){

    emit(key, sum(value))

}

 

https://dzone.com/articles/word-count-hello-word-program-in-mapreduce

 

 

 

단어 세기를 맵리듀스로 하는 이유

- 문서가 10억개고, 문서 하나당 100kb시 -> 전체 용량은 100TB(빅데이터)

- 하나의 디스크에 저장 불가능 (분산 파일 시스템)

- 100MB/초 컴퓨터 1대로 순차 처리시 12일 소요

- 1000대로 처리시 17분(분산 처리)

 

 

 

 

 

컴바인 함수

- 노드간 데이터 전송을 최소화하기 위함. 중간 과정 제어

- 맵 작업과 같은 데이터 노드에서 실행.

 

 

 

 

맵리듀스 프로그램 개발 편의를 위한 설정들

- 환전 분산 모드 : 여러대 서버로 구성. 개인 구성 힘듬

- 의사 분산 모드  : 한대의 컴퓨터에서 완전 분산 모드 흉내 HDFS

- 도자 모드 : 의사 분산 모드에서 로컬 파일 시스템 사용

 

 

 

R로 맵리듀스 프로그래밍

- rhdfs로 R에서 접근가능 : to.dfs(), from.dfs()

- rmr로 R에서 맵리듀스 함수 작성, 프로그램 실행

 

 

 

R과 빅데이터 결합

- 비분산 저장, 처리기술 -> 빅메모리, 빅애널리틱스

- 분산 저장, 처리 기술 -> 하둡

 

300x250
728x90

데이터

- 정형 데이터 : 형태가 고정된 데이터. 데이터베이스 테이블

 -> 데이터베이스 관리 시스템 DBMS 큰 규모 테이블(정형 데이터) 관리

- 비정형 데이터 : 형태가 고정되지 않음. 문자, 영상 등

 -> 정보 추출이 필요. 기존의 DBMS에서는 불가

 

 

빅데이터

- 데이터 크기가 커. 기존 시스템으로 획득, 저장, 관리, 분석이 불가능한 데이터

- 주로 비정형 데이터 -> 분산 시스템으로 처리

 

 

분산 시스템

- 여러 서버가 공통의 문제를 푸는 시스템

 -> 한 작업을 여러개로 분할. 각 서버가 할당된 작업을 병렬 수행.

 

 

하둡

- 클라우드 빅데이터 처리 기술, 환경

- 데이터 처리 위주 분산 시스템.

- 저비용으로 빅데이터 처리 가능 <- 1. 저가 서버로 분산 시스템, 2. 오픈소스

 

 

빅데이터 분석, 표현

- 분석 : 텍스트 마이닝, 데이터 마이닝(소셜 네트워크 분석)

- 표현 : 데이터 시각화

 

 

 

R

- 오픈소스

- 빅데이터 처리 가능

 

 

 

R 기반 비분산 빅데이터 처리

- 분산 시스템이 필요하지 않을만큼 큰 빅데이터의 경우 :  모든 데이터가 메모리에 있어야하는 R의 한계

-> 해결책으로 빅메모리와 빅애널리스틱스 패키지 제공

  => 데이터 구조만 메모리에 저장 : 실제 데이터는 필요한 경우 디스크에서 로드

 

 

 

분산 빅데이터 처리

 

하둡 구성요소

하둡 공통 hadoop common 하둡분산파일시스템 HDFS 하둡 맵리듀스 mapreduce
다른 구성 요소 지원 유틸리티 모음 빅데이터를 다수 컴퓨터에 분산 저장 HDFS에 저장된 빅데이터를 병렬처리
HDFS 접근 등 확장, 신뢰, 단순 빅데이터 분석 핵심 프로그래밍 모델

 

 

빅데이터 처리 구현 간소화와 구현 사례

- 기존에는 작업 분할과 분산 처리가 힘들었음. -> 간소화로 데이터와 처리에 집중 가능

 1. 대용량 스팸 메일 처리 (자연어 데이터)

 2. 다중 염기서열 정렬 (생물 정보)

 3. 내용 기반 음악 검색 (음악 데이터)

 4. 비디오 트랜스 코딩 (동영상 데이터)

 

 

빅데이터 기반 통계 분석 수요 증가

- 빅데이터 처리 간소화에 따른 자연스러운 현상

 -> 분석을 통한 새로운 현상의 발견이 빅데이터의 가치

- 마하둡(하둡 기반 기계학습 lib) : 군집분석, 분류, 협업 필터링 구현

 

 

R과 하둡을 이용한 빅데이터 통계 분석

- 리퍼 Rhipe : R에서 맵리듀스 프로그래밍 가능

- RHadoop : R에서 편리하게 맵리듀스 프로그래밍 가능. 개인 사용자는 무료. 4개의 R패키지로 제공

 

rhadoop rmr rhbase plyrmr
R에서 HDFS 접근 R에서 맵리듀스 프로그래밍 지원 하둡 기반 분산 데이터베이스  HBase 관리 rmr 패키지에서 생성된 정형 데이터를 plyr 패키지 방식으로 처리

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

빅데이터 - 4. 빅데이터 수집  (0) 2020.11.18
빅데이터 - 3. 하둡 프로그래밍  (0) 2020.11.17
빅데이터 - 1. 빅데이터, 데이터 과학, 활용  (0) 2020.11.17
네트워크  (0) 2020.05.23
보안  (0) 2020.05.23
728x90

빅데이터 시작

- 다양한 데이터 축적, 활용 -> 정책 결정, 마케팅

-> 빅데이터 개념, 활용, 문제 등 포괄적 이해 필요

 

 

 

데이터는 많은 것인가?

-> 많긴 하나 기존 기술(RDBMS)로는 보관 처리 분석 하기 힘듬

 

 

기업의 데이터 관리 어려움 증가

- 적절하게 수집, 저장, 분석이 힘듬

 -> 개인정보 유출, 오용 증가

 

 

빅데이터 출현 배경

- 데이터 저장 매체 가격 하락

- 연결, 소통 증가

- 정보 기술 발전

 

 

빅데이터 

- velocity

- variate

- volume

=> 3V

 

 

데이터 과학

- 빅데이터를 효과적으로 수집, 분석 -> 통찰 -> 최종 사용자에게 간단한 비기술적 언어로 표현하는 것과 관련된 학문

 * 통계 + 수학 + 프로그래밍 + 컴퓨터 과학 등 기술과 이론이 결합된 융합학문

 

 

데이터 과학자 data scientist

- 비즈니스를 우선 이해하고, 프로그래밍, 통계학 + 결과를 설득할수 있는 대화 능력을 가져야 함.

=> 하드 스킬 : 빅데이터 처리, 분석에 필요한 이론/기술 지식. ex. DB, 프로그래밍, 통계, 데이터마이닝, 텍스트마이닝

=> 소프트 스킬 : 빅데이터서 가치 발견하는 통찰력, 스토리 텔링, 시각화등 전달 능력, 타 분야 전문가와 소통 협력하는 능력

 

 

 

 

일반 경영과 데이터

- 경영 활동의 부산물

 -> 수익에 직접적 영향

 

빅데이터 경영과 데이터

- 데이터가 생산을 위한 투입물 -> 기업 성공과 의사 결정에 좌우

 

 

 

산업에서의 빅데이터

- 금융: 기존의 신용 위험 모델이 실제 금융 위기 파악 못함 -> 빅데이터로 초래된 첫 위기

- 의료 : 전자 의료 기록(EMR), 잘못된 약물과 처방을 찾거나 효과적인 치료법 찾는게 가능

 

 

빅데이터 활용 사례

 

https://cdckytweb.tistory.com/34

 

 

 

기업 경영과 데이터

- 경영 성과에 직결될 만큼 필수적 -> 의사 결정의 질을 높이기 위해 빅데이터 활용해야함

- 국내 기업은 기존 시스템 ERM 전사적 자원 관리, CRM 고객관계 관리 활용

- 경영자 1/3은 자신의 의사결정을 신뢰하지 못하거나 모르는 정보에 근거. 1/2는 필요 정보에 접근 조차 못함.

- 경험의 함정에 벗어나 신속한 의사결정이 필요함. 빅데이터가 보조

 

 

 

빅데이터 기반 의사결정 4단계

 

https://blog.naver.com/sslee4ever/130166255753

 

자동차 의사결정 4단계 (빅데이터 기반 의사결정 4단계 비교)

- 1단계 ; 운전자가 속도계를 보며 상황 파악

- 2단계 : 대시보드로 연료, 바퀴 등 차량 문제를 구체적 확인

- 3단계 : 네비게이션으로 목적지까지 소요 시간과 연료소모량 예측 및 대응

- 4단계 : 출발지에서 목적지까지 최적 경로를 자동화해 시간, 연료 최소화하도록 주행

 

 

 

 

 

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

빅데이터 - 3. 하둡 프로그래밍  (0) 2020.11.17
빅데이터 - 2. 빅데이터 기술  (0) 2020.11.17
네트워크  (0) 2020.05.23
보안  (0) 2020.05.23
테스트  (0) 2020.05.23

+ Recent posts