2. Bigdata & R … ??
BigData의 특징
5 V (Volume, Variety, Velocity, Variability, Veracity)
- Volume ?? - Big Data = 많은 데이터
- Variety ?? - 다양한 데이터 = 계량화, 구조화하기 어려운 데이터(SNS, Youtube, google 서칭…?)
- Velocity ?? - 많은 양의 데이터 에서 원하는 결과를 빨리 뽑아내야한다.
- Variability ?? - 데이터가 변동이 많다!!
- Veracity ?? – 수집된 데이터, 분석한 결과가 정당하고 원하는것이여야 한다.!!
생각해보면 BigData 용어 그래도 이해를 하면될것같다…. 정말 크고 많고 다양한 데이터!
3. Bigdata 사용 사례
• United Kingdom 사용사례
• National Institute for Health and Care Excellence(NICE), 영국 보건기구에서 처방된 약들간의 상관관계를 통해서
앞으로의 환자에게 주어질 약을 제안하는 프로젝트를 했다..(2015년에.. 하지만 자료를 못 찾겠다)
• 아래의 그림은 논문에서 분석한 빅데이터 분석 자료 이다.
* 출처는 Wikipedia 및Survey on Big Data Using Data Mining 논문
<bigData 마이닝 플랫폼>
<작업한 데이터>
4. Bigdata 사용사례
• 스포츠 분야에서도 당연히 사용된다.
• 대표적인 예로 영화 MoneyBall이 있다. (https://goo.gl/5Ghp0w)
• Moneyball은 스카우트의 영입 1순위의 선수, 인기많은 선수를를
영입하지만 실패에 따른 후 통계, 데이터 중심으로 선수를 운영한다는
영화이다.
• Mets이사 인 ‘PAUL Depodesta’ 를 모티브로 된 Jonah Hill은
다음과 같은 말을 했다.
“Subjectivity ruled the day in evaluating players,” he said.
“We had a completely new set of metrics
that bore no resemblance to anything you’d seen.
We didn’t solve baseball. But we reduced the inefficiency of our decision making.”
• PAUL Depodesta는 BigData의 중요한 포인트!를 말했다..
But we reduced the inefficiency of our decision making.
• 이 말을 쉽게 의역하면 “100%정확한 데이터가 아니라 그럴거 같다… 라는 데이터를 뽑는것!” 이라 할 수 있다.
5. Data Mininig
• 그러면 Bigdata 를 어떻게 우리가 사용할 수 있을까??
• 해답은 DataMinig 을 활용하는것이다….
• DataMinig은 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나
패턴을 찾아 내는 것
• 이것을 KDD(Knowledge Discovery in Databases)로 부르기도 한다.
• 그럼 Data Mining, KDD 의 기법을 살펴보자.
* 출처는 Wikipedia
6. Data Mininig 을 위한 Process
• 기본 5단계 혹은 간단히 하여 3단계로 요약할 수 있다.
• 여기서 나오는 3단계를 살펴보면 다음과 같다.
Selection
Pro-procsessing
Transformation
Data Mining
Interpretation/Evalution
simplified
Pro-procsessing
Data Mining
results validation.
7. Data Mininig 의 3단계란?
• Pre-Selection(선별작업) 단계
• 데이터 마이닝 알고리즘이 사용되기전에, 작업되며 대상이되는 데이터들은 패턴들을 포함할 정도로 충분한 양이어야
한다.
Pre-Selection 을 통해서 불필요하거나, 관련없는 데이터는 최종적으로 제거가 될것이다.
• Data Mining의 작업순서 단계
• Anomaly detection (Outlier/change/deviation detection) – 비정상 데이터를 기록
• Association rule learning (Dependency modeling) - 변수들간의 관계 파악
• Clustering – 데이터의 구조, 그룹을 발견하는 작업
• Classification – 새로운 데이터에 적용하기 위한 알려진 구조를 일반화시키는 작업
• Regression – 가장 작은 에러를 발생하는 데이터를 모델링하는 작업
• Summarization – 시각화, 일반화, 데이터 셋을 표현하는 요약.
8. Data Mininig 의 3단계란?
• Result validation(결과 검증) 단계
• 데이터 마이닝을 통해 좋은 데이터가 나오거나 잘못된 데이터가 나올수 있다.
• 이러한 데이터 마이닝 특징 때문에 적절하지 않은 통계 데이터 방식을 사용하거나 수많은 이론들을 검토하고,
조사하는 경우가 생기기도 한다.
• 이러한 데이터 마이닝에서 가장 흔한 문제인 Overfitting 이라는 것이 발생할 수 있다.
• Overfitting 이란? Over + fitting, 즉 과도하게(Over) 맞춘다(fitting). 라는 뜻이다. 이것을 흔히 과적합 이라고도 부른다.
즉 데이터 마이닝 하기 위한 자료들(Testing Data Set)에 너무 맞춰어져 있어 새로운 데이터에 대해 잘못된 결과를
도출하지 못하는 현상이다. 이러한 방법을 해결하기 위해 Artificail neural networks, Evergybased Model, Support
Vector Machine 등이 있다.
9. Data Mininig, KDD 기법
• 보통 6가지의 기법, 분류로 나눈다.
• 분류(Classification): 일정한 집단에 대한 특정 정의를 통해 분류 및 구분을 추론하는 방법
• 군집화(Clustering): 구체적인 특성을 공유하는 군집을 찾는 방법.
군집화는 미리 정의된 특성에 대한 정보를 가지지 않는다는 점에서 분류와 다르다 .
• 연관성(Association): 동시에 발생한 사건간의 관계를 정의하는 방법.
• 연속성(Sequencing): 특정 기간 동안에 발생하는 관계를 규명한다.
기간의 특성을 제외하면 연관성 분석과 유사하다 (예: 슈퍼마켓과 금융상품 사용에 대한 반복 방문)
• 예측(Forecasting): 대용량 데이터집합내의 패턴을 기반으로 미래를 예측하는 방법.
12. R과 BigData 관계??
• R은 수치 분석, 기계학습에 적합한 도구이다. 또한 사용하기에 쉬우며 다양한 데이터
집합, 도구, 소프트웨어 패키지를 제공한다.
• 또한 확장성이 뛰어나며, 다양한 통계 함수, 그래픽 기능을 제공한다. 더군다나 무료이다.
• 하지만….
• 메모리 관리, 속도, 보안과 같은 기능이 부족하다.
• 그러면 Matlab, SAS, SPSS, Excel과의 어떤 차이가 있을까?
13. R과 BigData 관계??
* 출처는 Brenocon(https://goo.gl/m9Z6P1)
• 특징으로는 R은 OpenSource이지만 나머지는 Open Source가 아니다.
• Matlab, Excel ,SAS등은 사용할려면 비용이 지불해야 하는 문제가 발생한다.
• SAS등이 멀티 스레드를 지원하는등 다양한 장점이 있지만 자세한 설명은 생략한다.
Name Advantages Disadvantages
Open
source?
Typical users
R
Library support;
visualization
Steep learning curve Yes
Finance;
Statistics
Matlab
Elegant matrix support;
visualization
Expensive; incomplete
statistics support
No Engineering
Excel Easy; visual; flexible Large datasets No Business
SAS Large datasets
Expensive; outdated
programming language
No
Business;
Government
Stata Easy statistical analysis No Science
SPSS Like Stata but more expensive and worse
14. R programming language
• R은 R Foundation for Statistical Computing 에서 제공하는 통계, 그래픽을 위한
소프트웨어 개발 툴이자, 프로그래밍 언어이다.
• R 소프트웨어는 C, Fortran, R로 작성되었고, R, Python(RPy), Perl등의 언어를 통해 사용
가능하다.
* 출처는 wikipedia.org