데이터 정제 전처리 - deiteo jeongje jeoncheoli

데이터 전처리

  • 데이터 분석 과정에서 데이터 전처리는 반드시 거쳐야 하는 과정
  • 전처리 결과가 분석 결과에 직접적인 영향을 주고 있어서 반복적으로 수행함
  • 데이터 분석의 단계 중 가장 많은 시간이 소요됨
  • 데이터 정제 → 결측값 처리 → 이상값 처리 → 분석변수처리 순서로 진행

데이터 정제

  • 데이터 정제(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)을 이용하게 되고, 수염 밖에 있는 값을 이상값으로 판단
데이터 정제 전처리 - deiteo jeongje jeoncheoli
박스 플롯 해석을 통한 이상값 제거

⑤ 분류하여 처리

  • 이상값이 많을 경우에 사용하는 방법으로 서로 다른 그룹으로 통계적인 분석을 실행하여 처리
  • 각각의 그룹에 대해서 통계적인 모형을 생성하고, 결과를 결합하는 방법을 사용함

분석 변수 처리

  • 변수(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)

  • 앙상블은 같거나 서로 다른 여러 가지 모형들의 예측/분류 결과를 종합하여 최종적인 의사결정에 활용하는 기법
  • 가장 많은 표를 받은 클래스를 최종적으로 선택