반응형
SMALL
데이터 전처리
- 데이터 분석 과정에서 데이터 전처리는 반드시 거쳐야 하는 과정
- 전처리 결과가 분석 결과에 직접적인 영향을 주고 있어서 반복적으로 수행함
- 데이터 분석의 단계 중 가장 많은 시간이 소요됨
- 데이터 정제 → 결측값 처리 → 이상값 처리 → 분석변수처리 순서로 진행
데이터 정제
- 데이터 정제(Data Cleansing)는 결측값을 채우거나 이상값을 제거하는 과정을 통해 데이터의 신뢰도를 높이는 작업
1. 데이터 정제 절차
① 데이터 오류 원인 분석
- 데이터 오류는 원천 데이터의 오류로 인해서 발생하거나 빅데이터 플로우의 문제로부터 발생함
원인 | 설명 | 오류 처리 방법 |
결측값(Missing Value) | ☞ 필수적인 데이터가 입력되지 않고 누락된 값 | ☞ 평균값, 중앙값, 최빈값 같은 중심 경향값 넣기 ☞ 랜덤에 의하여 자주 나타나는 값을 넣는 분포기반 처리 |
노이즈(Noise) | ☞ 실제는 입력되지 않았지만 입력되었다고 잘못 판단된 값 | ☞ 일정 간격으로 이동하면서 주변보다 높거나 낮으면 평균값 대체 ☞ 일정 범위 중간값 대체 |
이상값(Outlier) | ☞ 데이터의 범위에서 많이 벗어난 아주 작은 값이나 아주 큰 값 | ☞ 하한보다 낮으면 하한값 대체 ☞ 상한보다 높으면 상한값 대체 |
② 데이터 정제 대상 선정
- 모든 데이터를 대상으로 정제 활동을 하는 것이 기본
- 특별히 데이터 품질 저하의 위험이 있는 데이터에 대해서는 더 많은 정제 활동을 수행해야 함
- 원천 데이터의 위치를 기준으로 분류한다면 내부 데이터보다 외부 데이터가 품질 저하 위협에 많이 노출되어 있으며, 정형 데이터보다는 비정형과 반정형 데이터가 품질 저하 위협에 많이 노출되어 있음
③ 데이터 정제 방법 결정
- 데이터 정제는 오류 데이터값을 정확한 데이터로 수정하거나 삭제하는 과정
- 정제 여부의 점검은 정제 규칙을 이용하여 위반되는 데이터를 검색하는 방법을 사용
- 노이즈와 이상값은 특히 비정형 데이터에서 자주 발생하므로 데이터 특성에 맞는 정제 규칙을 수립하여 점검
- 데이터 정제 방법은 아래와 같음
방법 | 설명 |
삭제 | ☞ 오류 데이터에 대해 전체 또는 부분삭제 ☞ 무작위적인 삭제는 데이터 활용에 문제를 일으킬 수 있음 |
대체 | ☞ 오류 데이터를 평균값, 최빈값, 중앙값으로 대체 ☞ 오류 데이터가 수집된 다른 데이터와 관계가 있는 경우 유용할 수 있으나 그렇지 않은 경우에는 왜곡이 발생 |
예측값 | ☞ 회귀식 등을 이용한 예측값을 생성하여 삽입 ☞ 예측값을 적용하기 위해서는 정상 데이터 구간에 대해서도 회귀식이 잘 성립되어야 함 |
2. 데이터 정제 기술
① 데이터 일관성 유지를 위한 정제 기법
기법 | 설명 | 사례 |
변환(Transform) | ☞ 다양한 형태로 표현된 값을 일관된 형태로 변환하는 작업 | ☞ 코드, 형식 변환 |
파싱(Parsing) | ☞ 데이터를 정제 규칙을 적용하기 위한 유의미한 최소 단위로 분할하는 과정 | ☞ 주민등록번호를 생년월일, 성별로 분할 |
보강(Enhancement) | ☞ 변환, 파싱, 수정, 표주화 등을 통한 추가 정보를 반영하는 작업 | ☞ 주민등록번호를 통해 성별을 추출한 후 추가 정보 반영 |
② 데이터 정제 기술
기술 | 설명 |
ETL | ☞ 수집 대상 데이터를 추출, 가공(변환, 정제)하여 데이터 웨어하우스 및 데이터 마트에 저장하는 기술 |
맵리듀스(Map Reduce) | ☞ 구글에서 대용량 데이터 세트를 분산, 병렬 컴퓨팅에서 처리하거나 생성하기 위한 목적으로 만들어진 소프트웨어 프레임워크 ☞ 모든 데이터를 키-값 쌍으로 구성하여 데이터를 분류 ☞ 데이터를 추출하는 맵(Map) 기술과 추출한 데이터를 중복 없게 처리하는 리듀스(Reduce) 기술로 구성 ☞ 배치(Batch) 형태 처리 방식으로 많은 데이터를 처리할 때 성능이 느림 |
스파크/스톰(Spark/Storm) | ☞ In-Memory 기반 데이터 처리 방식 ☞ 스파크는 맵리듀스를 기반으로 성능을 개선한 것으로 실시간, 배치 처리 모두 가능하며, 기계 학습과 라이브러리도 지원 가능 |
CEP(Complex Event Processing) | ☞ 실시간으로 발생하는 이벤트 처리에 대한 결괏값을 수집하고 처리하는 기술 ☞ IoT 센싱 데이터, 로그, 음성 데이터 등 실시간 데이터의 처리 기술 |
피그(Pig) | ☞ 대용량 데이터 집합을 분석하기 위한 플랫폼 ☞ 하둡을 이용하여 맵리듀스를 사용하기 위한 높은 수준의 스크립트 언어인 피그 라틴(Pig Latin)을 제공 |
플럼(Flume) | ☞ 로그 데이터를 수집하고 처리하는 기법 ☞ 실시간에 근접하게 데이터를 전처리하고 수집하는 기술 |
3. 데이터 세분화(Data Segmentatioin)
- 데이터를 기준에 따라 나누고, 선택한 매개변수를 기반으로 유사한 데이터를 그룹화하여 효율적으로 사용할 수 있는 프로세스
- 사전에 군집 수를 정하지 않고 단계적으로 단계별 군집결과를 산출하는 계층적 방법과 군집을 위한 소집단의 개수를 정해놓고 각 객체 중 하나의 소집단으로 배정하는 비 계층적 방법이 있음
구분 | 기법 | 설명 |
계층적 방법 | 응집분석법 | ☞ 각 객체를 하나의 소집단으로 간주하고 단계적으로 유사한 소집단들을 합쳐 새로운 소집단을 구성해가는 기법 |
분할분석법 | ☞ 전체 집단으로부터 시작하여 유사성이 떨어지는 객체들을 분리해가는 기법 | |
비 계층적 방법 | 인공신경망 모델 | ☞ 기계 학습에서 생물학의 신경망으로부터 영감을 얻은 통계학적 학습모델 |
K-평균 군집화 | ☞ K개 소집단의 중심좌표를 이용하여 각 객체와 중심좌표 간의 거리를 산출하고, 가장 근접한 소집단에 배정한 후 해당 소집단의 중심좌표를 업데이트하는 방식으로 군집화하는 방식 |
데이터 결측값 처리
- 결측값이란 입력이 누락된 값을 의미
- 결측값은 NA, 999999, Null 등으로 표현함
1. 데이터 결측값의 종류
종류 | 설명 |
완전 무작위 결측(Missing Completely At Random) | ☞ 변수상에서 발생한 결측값이 다른 변수들과 아무런 상관이 없는 경우 |
무작위 결측(Missing At Random) | ☞ 누락된 자료가 특정 변수와 관련되어 일어나지만, 그 변수의 결과는 관계가 없는 경우 ☞ 누락이 전체 정보가 있는 변수로 설명이 될 수 있음을 의미 |
비 무작위 결측(Missing Not At Random) | ☞ 누락된 값(변수의 결과)이 다른 변수와 연관 있는 경우 |
2. 데이터 결측값 처리 절차
① 결측값 식별
- 원본 데이터에서 다양한 형태로 결측 정보가 표현되어 있으므로 현황 파악을 해야 함
② 결측값 부호화
- 파악된 정보를 바탕으로 컴퓨터가 처리 가능한 형태로 부호화
- NA(Not Available), NaN(Not a Number), inf(Infinite), NULL
③ 결측값 대체
- 결측값을 자료형에 맞춰 대체 알고리즘을 통해 결측값을 처리
3. 데이터 결측값 처리 방법
① 단순 대치법(Single Imputation)
- 결측값을 그럴듯한 값으로 대체하는 통계적 기법
- 결측값을 가진 자료 분석에 사용하기가 쉽고, 통계적 추론에 사용된 통계량의 효율성 및 일치성 등의 문제를 부분적으로 보완
- 대체된 자료는 결측값 없이 완전한 형태를 지님
- 단순 대치법의 종류는 아래와 같음
종류 | 설명 |
완전 분석법(Completes Analysis) | ☞ 불완전 자료는 모두 무시하고 완전하게 관측된 자료만 사용하여 분석하는 방법 ☞ 분석은 쉽지만 부분적으로 관측된 자료가 무시되어 효율성이 상실되고 통계적 추론의 타당성 문제가 발생 |
평균 대치법(Mean Imputation) | ☞ 관측 또는 실험되어 얻어진 자료의 평균값으로 결측값을 대치해서 불완전한 자료를 완전한 자료로 만드는 방법 ☞ 대표적 방법으로 관측값이 빠져있을 경우 평균으로 대치하는 비 조건부 평균 대치법과 회귀 분석(Regression Analysis)을 활용하여 결측값을 대치하는 조건부 평균 대치법이 있음 |
단순 확률 대치법(Single Stochastic Imputation) | ☞ 평균 대치법에서 관측된 자료를 토대로 추정된 통계량으로 결측값을 대치할 때 어떤 적절한 확률값을 부여한 후 대치하는 방법 ☞ 무응답을 현재 진행 중인 연구에서 비슷한 성향을 가진 응답자의 자료로 대체하는 핫덱(Hot-Deck) 대체, 핫덱과 비슷하나 대체할 자료를 현재 진행 중인 연구에서 얻는 것이 아닌 외부 출처 또는 이전의 비슷한 연구에서 가져오는 콜드덱(Cold-Deck) 대체, 몇 가지 다른 방법을 혼합하는 혼합 방법이 있음 |
② 다중 대치법(Multiple Imputation)
- 단순 대치법을 한 번 하지 않고 m번 대치를 통해 m개의 가상적 완전한 자료를 만들어서 분석하는 방법
- 원 표본의 결측값을 한 번 이상 대치하여 여러 개의 대치된 표본을 만들어야 하므로 항상 같은 값으로 결측 자료를 대치할 수 없음
- 여러 번의 대체표본으로 대체 내 분산과 대체 간 분산을 구하여 추정치의 총 분산을 추정하는 방법
- 대체로 발생하는 불확실성은 대체-간 부분에서 고려함으로써 과소 추정된 분산 추정치가 원 분산에 가까워지도록 해야 함
- 다중 대치법은 대치 → 분석 → 결합의 3단계로 구성
적용 방식 | 설명 |
대치 | ☞ 각 대치표본은 결측 자료의 예측분포 또는 사후분포(Posterior Distribution)에서 추출된 값으로 결측값을 대치하는 방법 활용 ☞ 다중 대치 방법은 베이지안 방법(Bayes' Theorem) 이용 ※ 베이지안 방법은 어떤 사건의 관측 전의 원인에 대한 가능성과 관측 후 원인의 가능성 사이의 관계를 설명하는 확률이론을 말함 |
분석 | ☞ 같은 예측 분포로부터 대치 값을 구하여 D개의 대치표본을 구하게 되면 이 D개의 대치표본으로부터 원하는 분석을 각각 수행 |
결합 | ☞ 모수의 점 추정(Point Estimation)과 표준 오차의 추정치를 D개 구한 후 이들을 결합하여 하나의 결과를 제시 ※ 점 추정은 통계학에서 미지의 분포에 대하여 가장 근사한 단일값을 구하는 기법을 말함 |
데이터 이상값 처리
- 데이터 이상값(Data Outlier)은 관측된 데이터의 범위에서 많이 벗어난 아주 작은 값이나 아주 큰 값을 의미
- 데이터 이상값은 입력 오류, 데이터 처리 오류 등의 이유로 특정 범위에서 벗어난 데이터 값을 의미
1. 데이터 이상값 발생 원인
① 데이터 입력 오류
- 데이터를 수집하는 과정에서 발생할 수 있는 에러
- 전체 데이터의 분포를 보면 쉽게 발견 가능
② 측정 오류
- 데이터를 측정하는 과정에서 발생하는 에러
③ 실험 오류
- 실험조건이 동일하지 않은 경우 발생
④ 고의적인 이상값
- 자기 보고식 측정(Self Reported Measure)에서 나타나는 에러
- 정확하게 기입한 값이 이상값으로 보일 수 있음
⑤ 표본추출 에러
- 데이터를 샘플링(Sampling)하는 과정에서 나타나는 에러
2. 데이터 이상값 검출 방법
① 개별 데이터 관찰
- 전체 데이터의 추이나 특이 사항을 관찰하여 이상값 검출
- 전체 데이터 중 무작위 표본 추출 후 관찰하여 이상값 검출
② 통계 기법(값) 이용
- 통계 지표 데이터(평균, 중앙값, 최빈값)와 데이터 분산도(범위, 분산)를 활용한 이상값 검출
검출 기법 | 설명 |
ESD(Extreme Studentized Deviation) | ☞ 평균으로부터 3 표준편차 떨어진 값(각 0.15%)을 이상값으로 판단 |
기하평균을 활용한 방법 | ☞ 기하평균으로부터 2.5 표준편차 떨어진 값을 이상값으로 판단 ※ 기하 평균은 n개의 양수 값을 모두 곱한 것의 n제곱근임 |
사분위 수를 이용한 방법 | ☞ 제1사분위, 제3사분위를 기준으로 사분위 간 범위의 1.5배 이상 떨어진 값을 이상값으로 판단 |
표준화 점수(Z-Score)를 활용한 방법 | ☞ 정규분포를 따르는 관측치들이 자료의 중심인 평균에서 얼마나 떨어져 있는지를 나타냄에 따라서 이상값을 검출 |
딕슨의 Q-검정 | ☞ 오름차순으로 정렬된 데이터에서 범위에 대한 관측치 간의 차이의 비율을 활용하여 이상값 여부를 검정하는 방법 ☞ 데이터 수가 30개 미만인 경우에 적절한 방법 |
그럽스 T-검정 | ☞ 정규 분포를 만족하는 단변량 자료(Univariate Data)에서 이상값을 검정하는 방법 |
카이제곱 검정 | ☞ 데이터가 정규 분포를 만족하나, 자료의 수가 적은 경우에 이상값을 검정하는 방법 |
③ 시각화 이용
- 데이터 시각화(Data Visualization)를 통한 지표 확인으로 이상값 검출
- 확률 밀도 함수, 히스토그램, 시계열 차트 등
④ 머신 러닝 기법 이용
- 데이터 군집화를 통한 이상값 검출
- 주어진 데이터를 K개의 클러스터로 묶고, 각 클러스터와 거리 차이의 분산을 최소화하는 방식의 K-평균 군집화 알고리즘 등이 있음
⑤ 마할라노비스 거리(Mahalanobis Distance) 활용
- 데이터의 분포를 고려한 거리 측도로, 관측치가 평균으로부터 벗어난 정도를 측정하는 통계량 기법
- 데이터의 분포를 측정할 수 있는 마할라노비스 거리를 이용하여 평균으로부터 벗어난 이상값을 검출할 수 있음
- 이상값 탐색을 위해 고려되는 모든 변수 간에 성형관계를 만족하고, 각 변수들이 정규분포를 따르는 경우에 적용할 수 있는 전통적인 접근법
⑥ LOF(Local Outlier Factor)
- 관측치 주변의 밀도와 근접한 관측치 주변 밀도의 상대적인 비교를 통해 이상값을 탐색하는 기법
- 각 관측치에서 k번째 근접이웃까지의 거리를 산출하여 해당 거리 안에 포함되는 관측치의 개수를 나눈 역수 값으로 산출
⑦ iForest(Isolation Forest)
- 관측치 사이의 거리 또는 밀도에 의존하지 않고, 데이터 마이닝 기법인 의사결정나무(Decision Tree)를 이용하여 이상값을 탐지하는 방법
- 의사결정나무 기법으로 분류 모형을 생성하여 모든 관측치를 고립시켜나가면서 분할 횟수로 이상값을 탐색
- 데이터의 평균적인 관측치와 멀리 떨어진 관측치일수록 적은 횟수의 공간 분할을 통해 고립시킬 수 있음
- 의사결정나무 모형에서 적은 횟수로 리프 노트에 도달하는 관측치일수록 이상값일 가능성이 큼
3. 데이터 이상값 처리
① 삭제(Deleting Observations)
- 이상값으로 판단되는 관측값을 제외하고 분석하는 방법
- 추정치의 분산은 작아지지만 실제보다 과소 또는 과대 추정되어 편의가 발생할 가능성이 있음
- 이상값을 제외시키기 위해 양극단의 값을 절단(Trimming)하기도 함
- 절단을 위해 기하평균 혹은 하단, 상단 %를 이용함
- 이상값 자료도 실제 조사된 수치이므로 이상값을 제외하는 것은 현실을 제대로 반영하는 방법으로 적절하지 않을 수도 있음
- 극단값 절단 방법을 활용해 데이터를 제거하는 것보다는 극단값 조정 방법을 활용하는 것이 데이터 손실률이 적고, 설명력이 높아짐
② 대체법(Imputation)
- 하한값과 상한값을 결정한 후 하한값보다 작으면 하한값으로 대체하고 상한값보다 크면 상한값으로 대체
- 이상값을 평균이나 중앙값 등으로 대체하는 방법
- 데이터의 결측값 처리의 내용과 동일
③ 변환(Transformation)
- 극단적인 값으로 인해 이상값이 발생했다면 자연로그를 취해서 값을 감소시킬 수 있음
- 상한값과 하한값을 벗어나는 값들을 하한, 상한값으로 바꾸어 활용하는 극단값 조정(Winsorizing) 방법도 활용됨
④ 박스 플롯 해석을 통한 이상값 제거
- 사분위 수를 이용해서 제거하는 방법을 사용
- 이상값을 구하기 위해서는 수염(Whiskers)을 이용하게 되고, 수염 밖에 있는 값을 이상값으로 판단
⑤ 분류하여 처리
- 이상값이 많을 경우에 사용하는 방법으로 서로 다른 그룹으로 통계적인 분석을 실행하여 처리
- 각각의 그룹에 대해서 통계적인 모형을 생성하고, 결과를 결합하는 방법을 사용함
분석 변수 처리
- 변수(Feature)는 데이터 모델에서 사용하는 예측을 수행하는 데 사용되는 입력변수를 의미함
- RDBMS에서 속성(열)을 머신 러닝(Machine Learning)에서는 변수(Feature)라고 함
1. 변수 선택
① 변수 유형
기준 | 유형 | 설명 |
변수 명칭 | 알려진 값 | ☞ 변수(Feature), 속성(Attribute), 예측변수(Predictor), 차원(Dimension), 관측치(Observation), 독립변수(Independent Variable) |
예측 값 | ☞ 라벨(Label), 클래스(Class), 목푯값(Target), 반응(Response), 종속변수(Dependent Variable) | |
인과 관계 | 독립변수 | ☞ 다른 변수에 영향을 받지 않고 종속변수에 영향을 주는 변수 ☞ 연구자가 의도적으로 변화시키는 변수 ☞ 기계 학습 혹은 패턴 인식에서는 변수라고 함 ☞ 예측변수(Predictor Variable), 회귀자(Regressor), 통제변수(Controlled Variable), 조작변수(Manipulated Variable), 노출변수(Exposure Variable), 리스크 팩터(Risk Factor), 설명변수(Explanatory Variable), 입력변수(Input Variable), 공변량(Covariate), 요인(Factor) |
종속변수 | ☞ 다른 변수로부터 영향을 받는 변수 ☞ 독립변수의 변화에 따라 어떻게 변하는지 연구하는 변수 ☞ 반응변수(Response Variable), 결과변수(Outcome Variable), 표적변수(Target Variable) |
|
변수 속성 | 범주형 | ☞ 범위와 순서가 있는 변수 ☞ 명사형으로 변수, 변수의 크기, 순서와 무관하게 의미 없이 이름만 의미를 부여할 수 있는 명목형(Nominal)과 변수가 어떤 기준에 따라 순서에 의미를 부여할 수 있는 순서형(Ordinal)이 있음 |
수치형 | ☞ 수치로 표현되는 변수 ☞ 변수가 취할 수 있는 값을 셀 수 있는 이산형(Discrete)과 변수가 구간 안의 모든 값을 가질 수 있는 연속형(Continuous)가 있음 |
② 변수 선택
- 변수 선택(Feature Selection)은 데이터의 독립변수 중 종속변수에 가장 관련성이 높은 변수만을 선정하는 방법임
- 사용자가 해석하기 쉽게 모델을 단순화해주고 훈련 시간 축소, 차원의 저주 방지, 과적합(Over-fitting)을 줄여 일반화해주는 장점이 있음
- 모델의 정확도 향상 및 성능 향상을 기대할 수 있음
③ 변수 선택 기법
- 변수 선택은 예측대상이 되는 분류를 참고하지 않고 변수들만으로 수행하는 비지도(Unsupervised) 방식과 분류를 참고하여 변수를 선택하는 지도(Supervised) 방식으로도 분류할 수 있음
㉮ 필터 기법(Filter Method)
- 데이터의 통계적 측정 방법을 사용하여 변수들의 상관관계를 알아냄
- 계산속도가 빠르고 변수 간 상관관계를 알아내는 데 적합하여 래퍼 기법(Wrapper Method)을 사용하기 전에 전처리하는 데 사용
- 특정 모델링 기법에 의존하지 않고 데이터의 통계적 특성부터 변수를 택하는 기법
기법 | 설명 |
정보 소득(Information Gain) | 가장 정보 소득이 높은 속성을 선택하여 데이터를 더 잘 구분하게 되는 것 |
카이제곱 검정(Chi-Square Test) | 카이제곱 분포에 기초한 통계적 방법으로 관찰된 빈도가 기대되는 빈도와 의미있게 다른지 여부를 검증하기 위해 사용되는 검증 방법 |
피셔 스코어(Fisher Score) | 최대 가능성 방정식을 풀기 위해 통계에 사용되는 뉴턴(Newton)의 방법 |
상관계수(Correlation Coefficient) | 두 변수 사이의 통계적 관계를 표현하기 위해 특정한 상관관계의 정도를 수치적으로 나타낸 계수 |
㉯ 래퍼 기법(Wrapper Method)
- 예측 정확도 측면에서 가장 좋은 성능을 보이는 하위 집합을 선택하는 기법
- 검색 가능한 방법으로 하위 집합을 반복해서 선택하여 테스트하는 것이므로 그리디 알고리즘(Greedy Algorithm)에 속함
- 반복하여 선택하는 방법으로 시간이 오래 걸리고 부분집합의 수가 기하급수적으로 늘어 과적합의 위험이 발생할 수 있음
- 일반적으로 래퍼 방법은 필터 방법보다 예측 정확도가 높음
- 변수 선택을 위한 알고리즘과 선택기준을 결정해야 함
- 전진 선택법(Forward Selection) : 모형을 가장 많이 향상시키는 변수를 하나씩 점진적으로 추가하는 방법
- 후진 제거법(Backward Elimination) : 모두 포함된 상태에서 시작하여 가장 적은 영향을 주는 변수부터 하나씩 제거
- 단계적 방법(Stepwise Method) : 전진 선택과 후진 제거를 함께 사용
- 아래와 같은 래퍼 기법이 있음
기법 | 설명 |
RFE (Recursive Feature Elimination) |
☞ SVM(Support Vector Machine)을 사용하여 재귀적으로 제거하는 방법 ☞ 전진 선택, 후진 제거, 단계적 방법 사용 |
SFS (Sequential Feature Selection) |
☞ 그리디 알고리즘으로 빈 부분 집합에서 특성 변수를 하나씩 추가하는 방법 |
유전 알고리즘 (Genetic Algorithm) |
☞ 자연 세계의 진화과정에 기초한 계산 모델 ☞ 존 홀랜드에 의해서 1975년에 개발된 전역 최적화 기법으로 최적화 문제를 해결하는 기법 |
단변량 선택 (Univariable Selection) |
☞ 하나의 변수 선택법으로 각 변수를 개별적으로 검사하여 변수와 반응변수 간 관계의 강도를 결정 ☞ 실행 및 이해가 간단하며 일반적으로 데이터에 대한 이해를 높일 때 사용 |
mRMR (Minimum Redundancy Maximum Relevance) |
☞ 특성 변수의 중복성을 최소화하는 방법으로 종속변수를 잘 예측하면서, 독립변수들과도 중복성이 적은 변수들을 선택하는 방법 |
㉰ 임베디드 기법(Embedded Method)
- 임베디드 기법은 모델의 정확도에 기여하는 변수를 학습함
- 좀 더 적은 계수를 가지는 회귀식을 찾는 방향으로 제약조건을 주어 이를 제어
기법 | 설명 |
LASSO (Least Absolute Shrinkage and Selection Operator) |
☞ 가중치의 절댓값의 합을 최소화하는 것을 추가적인 제약조건으로 하는 방법 ☞ L1-norm을 통해 제약을 주는 방법 |
릿지 (Ridge) |
☞ 가중치들의 제곱 합을 최소화하는 것을 추가적인 제약조건으로 하는 방법 ☞ L2-norm을 통해 제약을 주는 방법 |
엘라스틱 넷 (Elastic Net) |
☞ 가중치 절댓값의 합과 제곱 합을 동시에 추가적인 제약조건으로 하는 방법 ☞ LASSO와 릿지 두개를 선형 결합한 방법 |
SelectFromModel | ☞ 의사결정나무 기반 알고리즘에서 변수를 선택하는 기법 |
2. 차원축소
- 차원축소(Dimensionality Reduction)는 분석 대상이 되는 여러 변수의 정보를 최대한 유지하면서 데이터 세트 변수의 개수를 줄이는 탐색적 분석 기법임
- 원래의 데이터를 최대한 효과적으로 축약하기 위해 목표변수는 사용하지 않고 특성 변수만 사용하기 때문에 비지도 학습 머신러닝 기법임
- 차원축소를 수행할 때, 축약되는 변수 세트는 원래의 전체 데이터의 변수들의 정보를 최대한 유지해야 함
- 변수들 사이에 내재한 특성이나 관계를 분석하여 이들을 잘 표현할 수 있는 새로운 선형 혹은 비선형 결합을 만들어 해당 결합변수만으로도 전체변수를 적절히 설명할 수 있어야 함
- 하나의 완결된 분석기법으로 사용되기보다는 다른 분석과정을 위한 전 단계, 분석 수행 후 개선 방법, 효과적인 시각화 등의 목적으로 사용됨
- 고차원 변수보다 변환된 저차원으로 학습할 경우, 회귀나 분류, 클러스터링 등의 머신러닝 알고리즘이 더 잘 작동함
- 새로운 저차원 변수 공간에서 가시적으로 시각화하기도 함
기법 | 설명 |
주성분 분석 (Principal Component Analysis) |
☞ 변수들의 공분산 행렬이나 상관행렬을 이용 ☞ 원래 데이터 특징을 잘 설명해주는 성분을 추출하기 이하여 고차원 공간의 표본들을 선형 연관성이 없는 저차원 공간으로 변환하는 기법 ☞ 행의 수와 열의 수가 같은 정방행렬에서만 사용 |
특이값 분해 (Singular Value Decomposition) |
☞ M X N 차원의 행렬데이터에서 특이값을 추출하고 이를 통해 주어진 데이터 세트를 효과적으로 축약할 수 있는 기법 |
요인분석 (Factor Analysis) |
☞ 데이터 안에 관찰할 수 있는 잠재적인 변수(Latent Variable)가 존재한다고 가정 ☞ 모형을 세운 뒤 관찰 가능한 데이터를 이용하여 해당 잠재 요인을 도출하고 데이터 안의 구조를 해석하는 기법 ☞ 주로 사회과학이나 설문 조사 등에서 많이 활용 |
독립성분분석 (Independent Component Analysis) |
☞ 주성분 분석과는 달리 다변량의 신호를 통계적으로 독립적인 하부성분으로 분리하여 차원을 축소하는 기법 ☞ 독립 성분의 분포는 비정규 분포를 따르게 되는 차원축소 기법 |
다차원 척도법 (Multi-Dimensional Scaling) |
☞ 개체들 사이의 유사성, 비유사성을 측정하여 2차원 또는 3차원 공간상에 점으로 표현하여 개체들 사이의 집단화를 시각적으로 표현하는 분석 방법 |
3. 파생변수 생성
- 파생변수(Derived Variance)는 기존 변수에 특정 조건 혹은 함수 등을 사용하여 새롭게 재정의한 변수를 의미함
- 데이터에 들어 있는 변수만 이용해서 분석할 수도 있지만 변수를 조합하거나 함수를 적용해서 새 변수를 만들어 분석함
- 변수를 생성할 때는 논리적 타당성과 기준을 가지고 생성해야 함
방법 | 설명 |
단위 변환 | ☞ 주어진 변수의 단위 혹은 척도를 변환하여 새로운 단위로 표현 |
표현방식 변환 | ☞ 단순한 표현 방법으로 변환 |
요약 통계량 변환 | ☞ 요약 통계량 등을 활용하여 생성 |
변수 결합 | ☞ 다양한 함수 등 수학적 결합을 통해 새로운 변수를 정의 |
4. 변수 변환
- 변수 변환(Variable Transformation)은 분석을 위해 불필요한 변수를 제거, 반환, 생성시키는 작업
- 변수들이 선형관계가 아닌 로그, 제곱, 지수 등의 모습을 보일 때 변수 변환을 통해 선형관계로 만듬
① 단순 기능 변환(Simple Functions Transformation)
- 한쪽으로 치우친 변수를 변환하여 분석 모형을 적합하게 만드는 방법
- 로그(Logarithm), 제곱/세제곱 루트 변환(Square/Cube Root)
② 비닝(Binning)
- 데이터 값을 몇 개의 Bin 혹은 Bucket으로 분할하여 계산하는 방법
- 데이터 평활화(Smoothing)에서도 사용되는 기술이며, 기존 데이터를 범주화하기 위해 사용함
- Categrorization 기술의 결정은 비즈니스 도메인 지식 필요
- 두 개 이상 변수의 값에 따라 공변량 비닝(co-variate binning) 수행
③ 정규화(Normalization)
- 데이터를 특정 구간으로 바꾸는 척도법
- 최소-최대 정규화, Z-Score 정규화 유형이 있음
④ 표준화(Standardization)
- 데이터를 0을 중심으로 양쪽으로 데이터를 분포시키는 방법
- 표준화와 정규화는 데이터 전처리에서 상호 교환하여 사용
5. 불균형 데이터 처리
- 탐색하는 목표 데이터의 수가 매우 극소수인 경우에 불균형 데이터 처리를 함
① 언더 샘플링(Under-Sampling)
- 다수 클래스의 데이터를 일부만 선택하여 데이터의 비율을 맞추는 방법
- 데이터 소실이 매우 크고, 중요한 정상 데이터를 잃을 수 있음
기법 | 설명 |
랜덤 언더 샘플링 (Random Under-Sampling) |
☞ 무작위로 다수 클래스 데이터의 일부만 선택하는 방법 |
ENN (Edited Nearest Neighbours) |
☞ 소수 클래스 주위에 인접한 다수 클래스 데이터를 제거하여 데이터의 비율을 맞추는 방법 |
토멕 링크 방법 (Tomek Link Method) |
☞ 토멕 링크는 클래스를 구분하는 경계선 가까이에 존재하는 데이터 ☞ 다수 클래스에 속한 토멕 링크를 제거하는 방법 |
CNN (Condensed Nearest Neighbor) |
☞ 다수 클래스에 밀집된 데이터가 없을 때까지 데이터를 제거하여 데이터 분포에서 대표적인 데이터만 남도록 하는 방법 |
OSS (One Sided Selection) |
☞ 토멕 링크 방법과 CNN 기법의 장점을 섞은 방법 ☞ 다수 클래스의 데이터를 토멕 링크 방법으로 제거한 후 CNN를 이용하여 밀집한 데이터 제거 |
② 오버 샘플링(Over-Sampling)
- 소수 클래스의 데이터를 복제 또는 생성하여 데이터의 비율을 맞추는 방법으로 과대 샘플링이라고도 함
- 정보가 손실되지 않는다는 장점이 있으나 과적합(Over-fitting)을 초래할 수 있음
- 알고리즘의 성능은 높으나 검증의 성능은 나빠질 수 있음
기법 | 설명 |
랜덤 오버 샘플링 (Random Over-Sampling) |
☞ 무작위로 소수 클래스 데이터를 복제하여 데이터의 비율을 맞추는 방법 |
SMOTE (Synthetic Minority Over-sampling TEchnique) |
☞ 소수 클래스에서 중심이 되는 데이터와 주변 데이터 사이에 가상의 직선을 만든 후, 그 위에 데이터를 추가하는 방법 |
Borderline-SMOTE | ☞ 다수 클래스와 소수 클래스의 경계선에서 SMOTE를 적용하는 방법 |
ADASYN (ADAptive SYNthetic) |
☞ 모든 소수 클래스에서 다수 클래스의 관측비율을 계산하여 SMOTE를 적용하는 방법 |
③ 임곗값 이동(Threshold-Moving)
- 임곗값 이동은 임곗값을 데이터가 많은 쪽으로 이동시키는 방법
- 학습 단계에서는 변화 없이 학습하고 테스트 단계에서 임곗값을 이동함
④ 앙상블 기법(Ensemble Technique)
- 앙상블은 같거나 서로 다른 여러 가지 모형들의 예측/분류 결과를 종합하여 최종적인 의사결정에 활용하는 기법
- 가장 많은 표를 받은 클래스를 최종적으로 선택
반응형
LIST
'Database' 카테고리의 다른 글
[Big Data] 통계기법 (0) | 2020.11.19 |
---|---|
[Big Data] 데이터 탐색 (0) | 2020.11.15 |
[Database] 성능 개선 (0) | 2020.11.13 |
[Database] 데이터 품질과 표준화 (0) | 2020.11.12 |
[Database] 함수 종속성(Functional Dependency)과 정규화(Normalization) (0) | 2020.11.11 |