Ch2_01 데이터 전처리
Study/빅데이터분석기사 2020. 12. 9. 12:30데이터 정제
1. 데이터 정제
A. 데이터 전처리의 중요성
i. 반드시 거쳐야 하는 과정
ii. 분석 결과에 직접적인 영향을 주고 있어서 반복적 수행
iii. 데이터 정제 결측값 처리 이상값 처리 분석 변수 처리 순
B. 데이터 정제 개념 : 결측값을 채우거나 이상값을 제거하는 과정을 통해 데이터의 신뢰도를 높이는 작업
C. 정제 절차
i. 데이터 오류 원인 분석
1. 결측값 : 필수적인 데이터가 입력되지 않고 누락된 값
2. 노이즈 : 실제는 입력되지 않았지만 입력되었다고 잘못 판단된 값
3. 이상값 : 데이터의 범위에서 많이 벗어난 아주 작은 값이나 아주 큰 값
ii. 데이터 정제 대상 선정
iii. 데이저 정제 방법 결정
1. 삭제
2. 대체 예측값 삽입
D. 데이터 정제 기술
i. 데이터 일관성 유지를 위한 정제 기법
1. 변환 : 다양한 형태로 표현된 값을 일관된 형태로 변환하는 작업
2. 파싱 : 데이터를 정제 규칙을 적용하기 위한 유의미한 최소 단위로 분할하는 작업
3. 보강 : 변환, 파싱, 수정, 표준화 등을 통한 추가 정보를 반영하는 작업
ii. 데이터 정제 기술
1. ETL : 수집 대상 데이터를 추출, 가공하여 데이터 웨어하우스 및 데이터 마트에 저장하는 기술
2. 맵리듀스 : 구글에서 대용량 데이터 세트를 분산, 병렬 컴퓨팅에서 처리하거나 생성하기 위한 목적으로 만들어진 소프트웨어 프레임워크
3. 스파크 / 스톰 : 인메모리 기반 데이터 처리 방식
4. CEP : 실시간으로 발생하는 이벤트 처리에 대한 결괏값을 수집하고 처리하는 기술
5. 피그 : 대용량 데이터 집합을 분석하기 위한 플랫폼
6. 플럼 : 로그 데이터를 수집하고 처리하는 기법
E. 데이터 세분화
i. 데이터를 기준에 따라 나누고, 선택한 매개변수를 기반으로 유사한 데이터를 그룹화하여 효율적으로 사용할 수 있는 프로세스
ii. 방법
1. 계층적 방법 : 사전에 군집 수를 정하지 않고 단계적으로 단계별 군집결과를 산출하는 방법 (응집분석법, 분할분석법)
2. 비계층적 방법 : 군집을 위한 소집단의 개수를 정해놓고 각 객체 중 하나의 소집단으로 배정하는 방법 (인공신경망 모델, K-평균 군집화)
iii. 데이터 세분화 방법 상세
1. 응집분석법 : 각 객체를 소집단으로 간주하고 단계적으로 유사한 소집단들을 합쳐 새로운 소집단을 구성해가는 기법
2. 분할분석법 : 전체 집단으로부터 시작하여 유사성이 떨어지는 객체들을 분리해가는 기법
3. 인공신경망 모델 : 기계 학습에서 생물학의 신경망으로부터 영감을 얻은 통계학적 학습모델
4. K-평균 군집화 : K개의 소집단의 중심좌표를 이용하여 각 객체와 중심좌표 간의 거리를 산출하고, 가장 근접한 소집단에 배정한 후 해당 소집단의 중심 좌표를 업데이트하는 방식으로 군집화하는 방식
2. 데이터 결측값 처리
A. 결측값 : 입력이 누락된 값
B. 종류
i. 완전 무작위 결측 : 변수상에서 발생한 결측값이 다른 변수들과 아무런 상관이 없는 경우
ii. 무작위 결측 : 누락된 자료가 특정 변수와 관련되어 일어나지만, 그 변수의 결과는 관계가 없는 경우
iii. 비 무작위 결측 : 누락된 값이 다른 변수와 연관 있는 경우
C. 데이터 결측값 처리 절차
i. 결측값 식별
ii. 결측값 부호화
1. NA : 기록되지 않은 값
2. NaN : 수학적으로 정의되지 않은 값
3. Inf : 무한대
4. NULL : 값이 없음
iii. 결측값 대체
D. 데이터 결측값 처리 방법
i. 단순 대치법
1. 결측값을 그럴듯한 값으로 대체하는 통계적 기법
2. 종류
A. 완전 분석법 : 불완전 자료는 모두 무시하고 완전하게 관측된 자료만 사용하여 분석
B. 평균 대치법
C. 단순 확률 대치법 : 평균 대치법에서 관측된 자료를 토대로 추정된 통계량으로 결측값을 대치할 때 어떤 적절한 확률값을 부여한 후 대치하는 방법
3. 단순 확률 대치법의 종류
A. 핫덱 대체 : 무응답을 현재 진행 중인 연구에서 비슷한 성향을 가진 응답자의 자료로 대체하는 방법
B. 콜드덱 대체 : 핫덱과 비슷하나 대체할 자료를 진행중인 연구가 아닌 이전의 연구에서 가져오는 방법
C. 혼합 방법 : 몇가지 다른 방법을 혼합하는 방법
ii. 다중 대치법
1. 단순 대치법을 한 번 하지 않고 n번 대치를 통해 n개의 가상적 완전한 자료를 만들어서 분석하는 방법
2. 적용 방식
A. 원 표본 결측값을 한 번 이상 대치하여 여러 개의 대치된 표본을 구하는 방법
B. N개의 대치된 표본을 만들어야 하므로 항상 같은 값으로 결측 자료를 대체할 수 없음
C. 대치 : 각 대치 표본은 결측 자료의 예측분포 또는 사후분포에서 추출된 값으로 결측치를 대치하는 방법 활용
D. 분석 : 같은 예측 분포로부터 대치 값을 구하여 N개의 대치표본을 구하게 되면 이 N개의 대치표본으로부터 원하는 분석을 수행
E. 결합 : 모수 @의 점추정과 표준 오차의 추정치를 N개 구힌 후 이들을 결합하여 하나의 결과를 제시
3. 데이터 이상값 처리
A. 데이터 이상값 : 관측된 데이터의 범위에서 많이 벗어난 아주 작은 값이나 아주 큰 값
B. 발생 원인
i. 데이터 입력 오류
ii. 측정 오류
iii. 실험 오류
iv. 고의적인 이상값
v. 표본추출 에러
C. 데이터 이상값 검출 방법
i. 검출 방법
1. 개별 데이터 관찰
2. 통곗값
A. ESD : 평균으로부터 3표준편차 떨어진 값을 이상치로 판단
B. 기하평균 : 기하평균으로부터 2.5 표준편차 떨어진 값을 이상치로 판단
C. 사분위수 : 제1사분위, 제3사분위를 기준으로 사분위 간 범위의 1.5배 (1.5*(Q3-Q1)) 이상 떨어진 값을 이상값으로 판단
D. 표준화 점수
E. 딕슨의 Q검정 : 오름차순으로 정렬된 데이터에서 범위에 대한 관측치 간의 차이의 비율을 활용하여 이상값 여부를 검정하는 방법
F. 그럽스 T 검정 : 정규분포를 만족하는 단변량 자료에서 이상값 검정
G. 카이제곱 검정 : 정규분포를 만족하나, 자료의 수가 적은 경우
3. 시각화
A. 확률 밀도 함수
B. 히스토그램
C. 시계열 차트
4. 머신러닝 기법
A. 데이터 군집화
5. 마할라노비스 거리
A. 데이터의 분포를 고려한 거리 측도, 관측치가 평균으로부터 벗어난 정도를 측정하는 통계량 기법
6. LOF (Local Outlier Factor) : 관측치 주변의 밀도와 근접한 관측치 주변 밀도의 상대적인 비교를 통해 이상값들을 탐색하는 기법
7. iForest(Isolation Forest) : 관측치 사이의 거리 또는 밀도에 의존하지 않고, 데이터 마이닝 기법인 의사결정나무를 이용하여 이상값 탐지
A. DT기법으로 분류모형을 생성하여 모든 관측치를 고립시켜나가면서 분할 횟수로 이상값 탐색
B. 데이터의 평균적인 관측치와 멀리 떨어진 관측치일수록 적은 횟수의 공간분할을 통해 고립시킬 수 있음
D. 데이터 이상값 처리
i. 삭제
1. 기하평균을 이용한 제거
2. 하단 상단 %를 이용한 제거
ii. 대체법
1. 하한값과 상한값을 결정한 후 하한값보다 작으면 하한값으로 대체하고, 상한값보다 크면 상한값으로 대체
iii. 변환
iv. 박스 플롯 해석을 통한 이상값 제거 방법
1. 하위 경계 : 제1사분위에서 1.5IQR을 뺀 위치
2. 최솟값
3. 제1사분위
4. 제2사분위
5. 제3사분위
6. 최댓값
7. 상위 경계 : 제3사분위에서 IQR의 1.5배 위치
8. 수염 : Q1, Q3로부터 IQR의 1.5배 내의 있는 가장 멀리 떨어진 데이터까지 이어진 선
9. 이상값 : 수염보다 바깥쪽에 데이터가 존재한다면 이상값
v. 분류하여 처리
분석 변수 처리
1. 변수 선택
A. 변수 : 데이터 모델에서 사용하는 예측을 수행하는 데 사용되는 입력변수
i. 명칭
1. 알려진 값 : 변수, 속성, 예측변수, 차원, 관측치, 독립변수
2. 예측 값 : 라벨, 클래스, 목푯값, 반응, 종속변수
B. 변수 유형
i. 인과관계
1. 독립변수 : 종속변수의 값에 영향을 미쳐 종속변수가 특정한 값을 갖게 되는 원인이 된다고 가정한 변수
2. 종속변수 : 독립변수에 영향을 받아 변화하는 종속적인 변수
3. 독립변수와 종속변수는 인과 관계를 가지고 있으며 독립변수, 종속변수 모두 연속형, 범주형 자료로 분석이 가능
4. 연속형 자료라면 공변량이라 하고, 범주형 자료라면 요인이라고 함.
ii. 변수 속성
1. 범주형 : 명목형, 순서형
2. 수치형 : 이상현, 연속형
C. 변수 선택
i. 데이터의 독립변수 중 종속변수에 가장 관련성이 높은 변수만을 선정하는 방법
ii. 특징
1. 모델 단순화, 훈련시간 축소, 차원의 저주 방지, 과적합 줄임
iii. 변수 선택 기법
1. 필터기법 : 특정 모델링 기법에 의존하지 않고 데이터의 통계학적 특성으로부터 변수를 택하는 기법
2. 래퍼 기법 : 변수 일부만을 모델링에 사용하고 그 결과를 확인하는 작업을 반복하면서 변수를 선택해나가는 기법
3. 임베디드 기법 : 모델 자체에 변수 선택이 포함된 기법
iv. 변수 선택 기법 상세
1. 필터 기법
A. 특징 변수의 전체 집합 가장 적합한 하위 집합 선택 알고리즘 학습 성능 평가
B. 사례
i. 정보 소득 : 가장 정보 소득이 높은 속성을 선택하여 데이터를 더 잘 구분하게 되는 것
ii. 카이제곱 검정 : 카이제곱 분포에 기초한 통계적 방법, 관찰된 빈도가 기대되는 빈도와 의미있게 다른지 여부를 검증하기 위해 사용되는 검증 방법
iii. 피셔 스코어 : 최대 가능성 방정식을 풀기 위해 통계에 사용되는 뉴턴의 방법
iv. 상관계수
2. 래퍼 기법
A. 예측 정확도 측면에서 가장 좋은 성능을 보이는 하위 집합을 선택하는 기법
B. 알고리즘 유형
i. 전진 선택법
ii. 후진 제거법
iii. 단계적 방법
C. 래퍼 기법 상세
i. RFE : SVM을 사용하여 재귀적으로 제거하는 방법
ii. SFS : 그리디 알고리즘으로 빈 부분 집합에서 특성 변수를 하나씩 추가하는 방법
iii. 유전 알고리즘 : 자연 세계의 진화과정에 기초한 계산 모델
iv. 단변량 선택 : 하나의 변수선택법으로 각 피쳐를 개별적으로 검사하여 피쳐와 반응변수 간 관계의 강도 결정
v. mRMR : 특성 변수의 중복성을 최소화하는 방법으로 종속변수를 잘 예측하면서, 독립변수들과도 중복성이 적은 변수들을 선택하는 방법
3. 임베디드 기법
A. 모델의 정확도에 기여 하는 변수를 학습
B. 좀 더 적은 계수를 가지는 회귀식을 찾는 방향으로 제약조건을 주어 이를 제어
C. 사례
i. 라쏘 : 가중치의 절댓값의 합을 최소화하는 것을 추가적인 제약조건으로 하는 방법 (L1-norm)
ii. 릿지 : 가중치들의 제곱 합을 최소화하는 것을 추가적인 제약조건으로 하는 방법 (L2-norm)
iii. 엘라스틱 넷 : 가중치 절댓값의 합과 제곱 합을 동시에 추가적인 제약조건으로 하는 방법 (라쏘와 릿지 선형 결합)
iv. SelectFromModel : 의사결정나무 기반 알고리즘에서 변수를 선택하는 방법
2. 차원축소
A. 차원축소 : 분석 대상이 되는 여러 변수의 정보를 최대한 유지하면서 데이터 세트 변수의 개수를 줄이는 탐색적 분석 기법
B. 특징
i. 축약되는 변수 세트는 원래의 전체 데이터의 변수들의 정보를 최대한 유지해야 함
ii. 변수들 사이에서 내재한 특성이나 관계를 분석할 때 이들을 잘 표현할 수 있는 새로운 선형 혹은 비선형 결합을 만들어내서 해당 결합변수만으로도 전체변수를 적절히 설명할 수 있어야 함
iii. 차원축소 기법은 하나의 완결된 분석기법으로 사용되기보다 다른 분석과정을 위한 전 단계, 분석 수행 후 개선 방법 또는 시각화 목적으로 사용
C. 차원축소 기법
i. 주성분 분석
1. 변수들의 공분산 행렬이나 상관행렬을 이용
2. 원래 데이터 특징을 잘 설명해주는 성분을 추출하기 위하여 고차원 공간의 표본들을 선형 연관성이 없는 저차원 공간으로 변환하는 기법
ii. 특이값 분해
1. M X N 차원의 행렬데이터에서 특이값을 추출하고 이를 통해 주어진 데이터 세트를 효과적으로 축약할 수 있는 기법
iii. 요인분석
1. 데이터 안에 관찰할 수 없는 잠재적인 변수가 존재한다고 가정
2. 모형을 세운 뒤 관찰 가능한 데이터를 이용하여 해당 잠재 요인을 도출하고 데이터 안의 구조를 해석하는 기법
iv. 독립성분분석
1. 주성분 분석과는 달리 다변량의 신호를 통계적으로 독립적인 하부성분으로 분리하여 차원을 축소하는 기법
v. 다차원척도법
1. 개체들 사이의 유사성, 비유사성을 측정하여 2차원 또는 3차원 공간상에 점으로 표현하여 개체들 사이의 집단화를 시각적으로 표현하는 분석 방법
D. 차원축소 기법 주요 활용 분야
i. 탐색적 데이터분석
ii. 시각화
iii. 모형 성능 개선 등
3. 파생변수 생성
A. 생성 방법
i. 단위 변환
ii. 표현형식 변환
iii. 요약 통계량 변환
iv. 변수 결합
4. 변수 변환
A. 단순 기능 변환 : 한쪽으로 치우친 변수를 변환하여 분석 모형을 적합하게 만드는 방법 (로그 변환, 역수 변환 등)
i. 로그
1. 변수의 분포를 변경하기 위해 사용하는 변환 방법
2. 변수들의 분포가 오른쪽으로 기울어진 것을 감소, 0과 음수의 값은 불가
ii. 제곱/세제곱 루트 변환
B. 비닝 : 기존 데이터를 범주화하기 위해 사용 (상, 중, 하로 나누기 등)
C. 정규화 : 데이터를 특정 구간으로 바꾸는 척도법 (minman 정규화, z-score 정규화)
D. 표준화 : 데이터를 0을 중심으로 양쪽으로 데이터를 분포시키는 방법
5. 불균형 데이터 처리
A. 언더 샘플링
i. 다수 클래스의 데이터를 일부만 선택해 데이터의 비율을 맞추는 방법
ii. 데이터의 소실이 큼
iii. 기법
1. 랜덤 언더 샘플링 : 무작위로 다수 클래스 데이터의 일부만 선택하는 방법
2. ENN : 소수 클래스 주위에 인접한 다수 클래스 데이터를 제거하여 데이터의 비율을 맞추는 방법
3. 토멕 링크 방법 : 토멕링크는 클래스를 구분하는 경계선 가까이에 존재하는 데이터, 다수 클래스에 속한 토멕 링크를 제거하는 방법
4. CNN : 다수 클래스에 밀집한 데이터가 없을 때 까지 데이터를 제거하여 데이터 분포에서 대표적인 데이터만 남도록 하는 방법
5. OSS : 다수 클래스의 데이터를 토멕 링크 방법으로 제거한 후, CNN을 이용하여 밀집된 데이터 제거
B. 오버 샘플링
i. 소수 클래스의 데이터를 복제 또는 생성하여 데이터의 비율을 맞추는 방법
ii. 정보가 손실되지 않으나 과적합 초래
iii. 알고리즘 성능은 좋으나 검증 성능이 나빠짐
1. 랜덤 오버 샘플링 : 무작위로 소수 클래스 데이터를 복제하여 데이터의 비율을 맞추는 방법
2. SMOTE : 소수 클래스에서 중심이 되는 데이터와 주변 데이터 사이에 가상의 직선을 만든 후 그 위에 데이터를 추가하는 방법
3. Borderline-SMOTE : 다수 클래스와 소수 클래스의 경계선에 SMOTE를 적용하는 방법
4. ADASYN : 모든 소수 클래스에서 다수 클래스의 관측비율을 계산하여 SMOTE를 적용
C. 임곗값 이동
i. 임계값을 데이터가 많은 쪽으로 이동시키는 방법
D. 앙상블 기법
i. 같거나 서로 다른 여러가지 모형들의 예측/분류 결과를 종합하여 최종적인 의사결정에 활용
'Study > 빅데이터분석기사' 카테고리의 다른 글
Ch2_03 통계기법 이해 (0) | 2020.12.14 |
---|---|
Ch2_02 데이터 탐색 (0) | 2020.12.11 |
Ch1_03 데이터 수집 및 저장 계획 - 2 (0) | 2020.12.08 |
Ch1_03 데이터 수집 및 저장 계획 - 1 (0) | 2020.12.08 |
Ch1_02 데이터 분석 계획 (0) | 2020.12.04 |