개요
데이터 사이언스를 접하기 앞서 데이터에 관한 용어와 데이터 사이언스의 목적 및 그 세부 분야에 대한 정의 및 설명
데이터 과학의 기본적인 배경지식을 설명함
데이터 마이닝
Large datasets으로부터 패턴이나 지식(정보)를 찾아내는 것
-> 어떻게 찾아야할 지 방법을 알아내는 것에 목적이 있음
머신 러닝
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.
[ "경험 E"로 인해서 "테스크 T"에 관한 성능이 "성능측정기준 P"로 측정되었을 때 향상된다면, "테스크 T"와 "성능측정기준 P"에 대하여 "경험 E"로 부터 배우는 컴퓨터 프로그램이라 부른다.]
-> 어떠한 프로그램에게 경험을 부여한 결과를 이끌어내는 방법
인공 지능
- 지능적인 행동을 할 수 있는 컴퓨터 또는 컴퓨터 소프트웨어 ( 학문적 정의 )
- 주변 환경을 인지(이해)하여 성공의 기회를 최대화하는 액션을 수행할 수 있는 지능적 에이전트 ( AI 분야에서의 정의 )
- the science and engineering of making intelligent machines ( 존 메카시의 정의 )
-> 태스크를 진행함에 있어 인간과 구별할 수 없는 것
데이터 사이언스
많은 분야의 학문들이 결합하여, 다양한 형태의 데이터로부터 지식이나 인사이트를 추출하는 방법 또는 시스템을 연구하는 분야
데이터 사이언스 활용 분야
- 보다 직관적인 이해를 돕기 위한 시각화 (Text를 분석하여, 워드클라우드)
-> NLP, 자연어처리에서 많이 보임
- 미래의 예측, 진단 탐지 (반도체 생산라인의 불량 예측)
-> 과거의 데이터를 이용해서 미래 예측
- 일상 생활에서의 의사 결정 지원 (온라인 쇼핑몰의 상품 추천, 헬스케어 : 질병 진단 시스템)
-> 개인마다 특성을 고려하여 추천 시스템
데이터 사이언스의 절차
-> 실무적으로 가장 중요함
-> 하지만 대개 위에서 시키는 대로, 주어진 대로 하는 것이 많으므로 대부분 2단계 부터 시작함
1. 프로젝트의 목적 및 문제 정의
프로젝트의 목적
- 왜 이 프로젝트를 진행하려고 하는가? 정성적 목표
- 이 프로젝트가 성공하면 무엇을 기대할 수 있는가?
- http://www.kdnuggets.com/polls/2016/industries-analytics-data-mining-data-science.html
데이터마이닝/기계학습으로 풀고자 하는 문제 정의
- 고객은 우리 서비스에서 한달에 얼마의 금액을 소비할 것인가?
- 현재 환자의 상태로 볼 때, 암으로 판정될 가능성은 얼마나 되는가?
문제에 맞는 기계학습 알고리즘 선택
- 분류 방법론
- 예측 방법론
- 연관규칙분석 등
2. 데이터 수집/검증/수정
데이터 수집
데이터 소스 : 내부 데이터(사내 DB), 외부 데이터(Open API, 웹 크롤링) 등
필요시 독립변수와 종속변수 정의
데이터 검증
이상치 : 값은 존재하되 실질적으로 가능하지 않은 값 (나이 999살, 키 100M)
결측치 : 값이 있어야 할 곳에 값이 존재하지 않는 상황
해결 방안 :
- 레코드의 수가 충분히 많다 -> 제거
- 레코드의 수가 충분치 않다 -> 합리적인 값으로 대치
데이터 수정
변수의 두 분류
수치형 변수 | numeric | - 많고 적음을 나타내는 수치 - 사칙 연산 가능 | • 키, 몸무게 |
분류형 변수 | categorical | - 특정 속성을 가진 자료 - 일반적으로 사직 연산 불가 | • 성별, 혈액형 |
3. 데이터 탐색 및 전처리
데이터 탐색
- 단변량(univariate) 분석 : 종속 변수가 1개
- 이변량(bivariate) 분석 : 종속 변수가 2개
- 다변량(multivariate) 분석 : 종속 변수가 여러개 (3이상)
독립 변수가 여러 개인 것을 '다변량 분석'이라고 하는 것은 틀림
통계학에서 독립 변수가 여러 개인 것은 'Multiple(다중)'이라고 말함
데이터 전처리 (차원 줄이기)
차원의 저주 : 변수가 증가할 수록 동일한 설명력을 유지하기 위해 필요한 레코드의 수는 기하급수적으로 증가함
변수 선택 ( feature selection )
- 전체 변수 중에서 유의미한 변수만을 선택 - select
- 그렇지 않으면 결과를 내는 것에 대한 어려움이 생김
- 원래 변수의 형태가 그대로 보존됨
변수 추출 ( feature extraction )
- 전체 데이터 집합을 잘 설명할 수 있는 적은 수의 변수를 생성
- 원래 변수의 형태가 그대로 보존되지 않음
데이터 전처리 (데이터 분할)
- 학습 데이터 ( Traning Data) : 데이터 마이닝 모델을 구축하는데 사용
- 검증 데이터 ( Validation Data ) : 모델의 최적 파라메터를 선택하는데 사용 (ex. K-means의 최적의 K는?)
- 테스트 데이터 ( Test Data ) : 학습된 모델의 성능을 평가하는데 사용
일반적으로 전체 데이터 셋을 비율에 따라 나누어서 사용함
데이터 전처리 (데이터 정규화)
- 정규화 ( Normalization ) : 각 변수들의 측정 단위가 다름으로 인해 나타날 수 있는 효과를 제거 (= 데이터의 범위를 맞추어 주거나, 분포를 유사하게 맞추어 주는 것)
- 단순하게는 단위의 Scale을 맞추어 주는 것을 의미하기도 하고,
- 복잡하게는 데이터의 확률분포상에서의 위치(확률값)을 나타내기도 함
- 예제 설명 - '나이'대비 '수입'은 단위가 매우 커서, '나이'의 변화량은 '수입'에 묻힐 수 있다. 그래서 데이터의 Scale을 맞추어 주는 작업이 필요하다.
4. 데이터마이닝/기계학습 모델 구축
분류 : Logistic regression, k-nearest neighbor, naive bayes, ...
예측 : Linear regression, k-nearest neighbor, ...
연관규칙 분석 : A priori algorithm
군집화 : Hierarchical clustering, K-Means clustering
5. 결과의 평가 및 해석
분류 성능 평가 지표
- Confusion matrixPredicted
Negative Positive Actual Negative a b Positive c d
회의 성능 평가 지표
- MSE (Mean squared error), RMSE (Root mean squared error)
- MAE (Mean absolute error)
- MAPE (Mean absolute percentage error)
군집화 성능 평가 지표
- 군집내 분산 : 동일 군집 내 레코드들은 가까워야 하며,
- 군집간 분산 : 다른 군집간 레코드들은 서로 멀리 떨어져 있어야 한다.
연관규칙분석 성능 평가 지표
- Support
- Confidence
- Lift
6. 모델의 적용 및 모니터링
모델 적용 : 실제 서비스에 적용.
모니터링 : 적용한 결과의 성과를 분석하고, 필요한 경우 모델 업데이트 수행