728x90
📌 1장. 데이터 전처리
⭐ 데이터 준비 : 결측치, 이상시 식별 👉 필터링, 정제
⭐ Preprocessing : 변환, 통합, 축소
1️⃣ 데이터 전처리
1. 전처리 필요성
- 데이터의 질 : 데이터의 다양성, 데이터의 형태
- 다양성 : 현실을 반영하는 데이터의 필요성 (ex. 정확한 발음의 음성 데이터, 소음이 섞인 음성 데이터)
- 형태 : 분석이 가능한 형태로 준비되어야 함 (ex. 이미지 데이터의 어노테이션 과정 - 경계선 짓기 + 라벨링)
2. 전처리 유형
- 데이터 정제 : 이상치, 결측치를 파악해 제거하거나 적절한 값으로 대치
- 데이터 통합 : 여러 테이블에 있는 데이터를 병합 + 통합하여 적절한 데이터셋 생성
- 데이터 축소 : 변수 선택, 요약변수 생성 등을 통해 데이터의 차원을 줄임
- 데이터 변환 : 정규화, 표준화 등의 작업 수행, 데이터의 형식 변환
(1) 데이터 정제
1. 결측치 ⭐⭐ - 유형, 처리 방법
- 유형 : 완전 무작위결측(MCAR) , 무작위 결측(MAR) , 비무작위 결측(NMAR)
- MCAR : 다른 변수들과 아무런 연관없이 완전히 랜덤하게 결측이 발생한 경우로, 이 경우 관측된 데이터는 확률표본으로 간주
- MAR : 가장 빈번한 형태. 다른 변수에 영향을 받지만 해당 변수의 비관측값들과 연관되어 있지 않은 경우 (ex. 젊은 연령대에 비해 고 연령대의 결측이 더 많은 경우)
- NMAR : MCAR 도 MAR 도 아닌 경우. 결측 자체의 의미가 있는 경우로, 결측 발생 원인을 이해할 필요가 있다.
- 처리 : 단순 대치법, 다중 대치법
- 단순 대치법 : 단순 삭제, 평균 대치법 (비조건부 평균 대치법 👉 평균값 , 조건부 평균 대치법 👉 회귀 분석을 활용한 값) , 단순확률 대치법 (Hot deck 방법 👉 유사한 집단 중 하나의 개체를 선택, Nearest Neighbor 방법 👉 이웃 데이터의 최빈값/중앙값/가중 평균값 으로 대체)
- 다중 대치법 : 단순 대치법을 한 번이 아닌 여러번 수행하여 여러개의 가상적 완전 데이터를 만드는 방법으로 대치 - 분석 - 결합 단계로 이루어진다.
- 그외 : 수작업으로 입력, 전역 상수(예. 0) 를 사용, 결측치 무시
✔ 결측값 처리의 고질적인 문제 : 표준 오차의 과소추정 문제 발생
2. 이상치 ⭐⭐ - 판별과 처리 방법의 개념, 특징, 극단값 조정 방법을 이용하는 것이 데이터 손실률이 적다는 것
- 개념 : 의도하지 않게 잘못 입력한 경우 등 잘못된 데이터 혹은 의도하지 않은 현상이지만 분석에 포함해야 하는 경우, 의도된 이상값 (fraud, 불량) 등 다양함. 정상 범위 밖에 있는 값을 뜻하는데, 잘못 입력된 값일 수 있지만 실제로 존재할 수도 있는 값이므로 주의해야 한다.
- 판별
- 사분위수 : Q1 - 1.5*IQR , Q3 + 1.5*IQR 범위 밖에 있는 수를 이상치로 판별
- 정규분포 : 평균으로부터 (+- 3*시그마) 떨어진 값을 이상치로 판별. 즉 양 끝단의 0.15% 에 분포한 값을 이상치로 간주한다.
- 군집화 : 작은 크기의 클러스터나 클러스터 사이의 거리가 너무 먼 경우, 해당 클러스터에 속한 관측치를 이상치로 간주
- 처리
- 결측처리 : 정상 범주를 벗어난 극단값도 있지만, 13월처럼 아예 존재할 수 없는 경우도 있다. 이런 경우 바로 결측으로 처리한다.
- 극단치 기준 이용 : boxplot 에서 기준 범위를 벗어난 데이터 제거
- 극단값 절단 방법 : 하단, 상단 %를 이용한 제거법. 10% 절단이라 하면 boxplot 에서 상하위 5%에 해당되는 데이터를 삭제한다.
- 극단값 조정 방법 : 상단과 하단의 각 극단치 경계 값들을 하한값과 상한값으로 조정
3. 데이터 불일치 해결
- 입력설계가 잘못된 경우, 입력장치 오류, 답변의 회피 같은 의도적 오류, 정보의 변경 같은 데이터의 노후화
4. 필터링
- 조건식을 통해 분석에 맞는 데이터를 찾는 것
- 분석 시간 단축과 저장 공간 효율화를 가져옴
(2) 데이터 통합
1. 개념
- 서로 다른 원천의 여러 데이터를 결합 + 서로 다른 데이터를 호환 가능하도록 통합
- 메타데이터 기반의 데이터 품질 관리, 데이터 충돌 탐지, 의미적 이질성 해소
- 데이터 웨어 하우스 : 분산 운영되는 DBMS 를 통합해 조정 및 관리하는 데이터 관리 도구
2. 고려사항
- 스키마 통합, 개체의 매칭 : 개체 식별
- 데이터 중복
- 하나의 속성에 대해 상충되는 값
(3) 데이터 축소
- 중복, 불필요하게 나열된 데이터를 축소하는 작업
- 고유한 특성은 손상되지 않도록 유지하면서 분석에 효과적일 수 있도록 변수 선택/변수 요약 하는 작업
(4) 데이터 변환
1. 변환 기법
- 형식 및 구조 변환 : ex. 수치형 데이터를 문자형으로 변환 , reshape
- 데이터 스케일링 : 측정 단위나 값 범위가 다를 때 min-max 정규화, 표준화 등을 적용한다.
- 표준화 : 평균을 기준으로 각 개체가 얼마나 떨어져 있는지를 나타내는 값으로 변환. 이상치를 판별할 수 있음. Z-score 표준화는 데이터 분포를 평균은 0 표준편차는 1로 변환시켜준다.
- 정규화 : 데이터의 범위를 0과 1사이로 변환하여 데이터의 분포를 조정. min-max 정규화
- 평활화 : 노이즈로 인해 거칠게 분포된 데이터를 매끄럽게 만드는 방법. 대표적으로 구간화 (히스토그램의 경우 구간 너비를 작게함) 와 군집화 방법이 있다.
- 비정형 데이터 변화 : 텍스트 👉 단어의 빈도로 표현 , 이미지 👉 픽셀마다 rfb 수로 변환
2️⃣ 분석 변수 처리
(1) 변수 ⭐⭐ - 개념과 예시
- 데이터를 담는 장소. 속성이라고 부르며 테이블의 열에 해당
- 독립변수, 종속변수
- 범주형 👉 명목형, 순서형 / 수치형 👉 연속형, 이산형
(2) 변수 선택 ⭐⭐ - 개념, 래퍼방법
a. 필터 방법
- 특정 모델링 기법이 아닌, 데이터에 대한 통계적 특징을 이용해 변수 선택
- 상호 정보량, 상관계수 등 변수 간의 연관성 측정. 변수 순위를 정해고 가장 높은 순위의 변수 선택
- 0에 가까운 분산을 가지는 변수 제거 : 0에 가까운 분산을 갖는 변수는 서로 다른 관찰을 구분하는데 큰 의미가 없으므로 이를 제거
- 상관관계가 높은 변수 : PCA 를 사용해 독립된 차원으로 변환하거나 상관계수가 큰 변수들을 제거
b. 래퍼방법 ⭐⭐
- 변수의 일부만 사용해 모델링을 수행하고 결과를 확인하는 작업을 반복해 변수를 선택
- 가장 좋은 성능을 보이는 변수 집합을 찾아내는 방법으로 필터 방법보다 정확도가 더 높다.
- 시간이 오래걸리고 과적합 위험이 발생할 수 있다는 단점
방법 | 설명 |
FeedForward Selection | 변수가 없는 상태서 시작해 가장 중요한 변수를 하나씩 추가 |
Backward Elimination | 모든 변수를 포함한 모델에서 가장 덜 중요한 변수를 하나씩 제거 |
Stepwise Selection | 전진선택법과 후진제거법을 결합하여 사용. 모든 변수를 포함한 모델에서 변수 삭제 및 추가를 반복 혹은 변수가 없는 상태에서 출발해 변수 삭제 및 추가를 반복 |
Best Subset | 모든 경우의 모델을 비교해 최선의 모형을 찾음. 독립변수의 개수에 따라 모델 비교 횟수가 달라진다. 독립변수가 1개일때, 2개일때, 3개일때 ... |
c. 임베디드 방법
- 모델링 기법 자체에 변수 선택이 포함된 방법
- 가장 좋은 성능을 보이는 변수 집합을 찾는 방법
방법 | 설명 |
라쏘 회귀 | L1 규제. 가중치 절대값의 합을 최소화하는 규제를 포함. 중요하지 않은 가중치는 0이됨 |
릿지 회귀 | L2 규제. 가중치 제곱합을 최소화 하는 것을 제약조건에 포함. 가중치가 0에 가까워짐 |
엘라스틱넷 | L1 과 L2 규제의 결합. 상관관계가 큰 변수를 동시에 선택하거나 배제하는 특성이 있다. |
(3) 차원축소 ⭐⭐
- 다차원 데이터 셋에서 변수의 개수를 줄임으로서 차원을 축소
- 다중공선성 문제를 해결
- 유형
방법 | 설명 |
피처선택 | 데이터의 특징을 가장 잘 나타내는 주요 피처만 선택 |
피처 추출 | 선형 혹은 비선형 결합을 활용해 새로운 피처를 추출. 혹은 기존의 변수들을 함축하는 피처로 변수들을 요약해서 줄이는 방법 |
- 방법
방법 | 설명 |
다차원척도법 MDS | 데이터 속 잠재된 패턴, 구조를 찾아내 소수 차원의 공간에 객체간 근접성을 시각화하는 통계기법. 군집분석 후 2차원 또는 3차원 공간상에 점으로 표현하여 개체들 사이의 집단화를 시각적으로 표현하는 분석방법이다. |
주성분 분석 PCA | - 분석변수를 선형적으로 결합해 데이터를 가장 잘 표현하는 축 (주성분) 을 찾아내고 그 축을 중심으로 데이터 차원을 축소하는 방법이다. 즉 주성분이라는 새로운 변수를 만들어 기존의 변수들을 요약하여 축소한다. - 제 1 주성분이 데이터의 가장 많은 부분을 설명할 수 있어 가장 중요하고 제 2 주성분이 그다음으로 중요하게 간주됨 - 핵심적 속성을 결합하는 방식 - 변수 사이에 강력한 선형관계가 존재하는 경우 유용하다. 데이터가 부족하거나 비대칭 형태를 가지는 경우에도 적용이 가능하다. - 보통 다중 회귀 분석, 군집분석에서 많이 이용 |
선형판별분석 LDA | - PCA 와 비슷하게 데이터를 저차원 공간에 투영해 차원을 축소 - 데이터가 서로 다른 군집으로 구성되어 있을 때 군집을 잘 구분해내는 축을 찾아 데이터를 2차원 혹은 3차원으로 축소해서 서로 다른 군집을 분류해낼 수 있도록 표현해준다. - 지도학습의 분류 문제에 사용할 수 있도록 클래스 구분 기준을 유지하면서 차원을 축소한다. - 군집의 수가 적은데 분석 차원이 너무 많으면 오류가 발생할 위험이 높다. |
요인분석 Factor Analysis | 상관관계를 고려하여 서로 유사한 변수들을 묶어 새로운 잠재요인을 추출해내는 분석방법으로, 도출한 요인들은 대등한 관계이고, 목표변수를 고려하지 않고 주어진 변수 중 성격이 비슷한 것들을 묶어 새로운 변수를 생성한다. |
특이값분해 SVD | - SVD 는 행렬의 인수분해로, 선형대수의 일반적인 기법이며 실수 공간에서 정의된 mxn 차원의 행렬에서 특이값을 추출하고 이를 활용해 데이터의 차원을 축소한다. - m 차원의 벡터를 n 차원으로 변환시키는 것. m>n 이면 차원축소를 의미 |
t-SNE | - 데이터에서 지역 인접성을 보존하려고 시도하는 차원축소 알고리즘으로 비선형적이고 비결정적이다. - 2D 또는 3D 투영을 계산할 때 이용할 수 있다. - t-SNE 임베딩을 사용하면 차원을 줄이고 다른 방법이 놓칠 수 있는 구조를 찾을 수 있지만, 데이터셋이 매우 크면 찾기 힘들다. |
서포트 벡터 머신 SVM | - 분류 알고리즘이긴 하나, 내부에 있는 차원축소 기법을 활용해 2차원이나 3차원으로 축소하여 분류를 해내므로 변수 추출 알고리즘으로도 많이 사용된다. - 내장된 차원축소 방법은 변수 간 비선형 관계가 있는 경우도 사용할 수 있다. |
* 참고. PCA 는 데이터의 분산을 가장 잘 설명해주는 축을 찾고, LDA 는 입력 데이터의 예측 변수 클래스를 최대한 잘 구분할 수 있는 축을 찾는다.
- 활용
- 모델링 시 주요 설명변수 추출
- EDA
- 다차원 공간의 정보를 저차원으로 변환
- 데이터 내 중요 변수 혹은 잠재된 새로운 요인 발견
(4) 파생변수 생성
- 파생변수 : 분석자가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수
- 요약변수 : 수집된 정보를 분석에 맞게 종합한 변수. 총구매 금액, 구매여부 등
(5) 변수 변환
a. 변수의 구간화
- 변수 구간화 Binning : 노이즈를 제거하기 위해 연속형 변수를 다수의 구간으로 나누고 동일한 구간에 속하는 변수 값들을 하나의 변수값 (범주형) 으로 변환하는 방법. 신용평가모형, 고객 세분화 같은 방법에 사용된다.
- 의사결정나무 모형을 사용해 입력 변수들을 구간화
b. 더미변수
- 범주형 변수 변환 : 모델링의 입력으로 넣기 위해서 범주형 변수를 연속형 변수로 변환하는 과정이 필요하다.
- 더미변수는 0 혹은 1의 값만 가진다.
c. 정규분포화
- 로그변환
- 제곱근 변환 : 오른쪽으로 긴 꼬리를 갖는 분포의 대칭화에 유용한 방법 (분산 안정화)
(6) 불균형 데이터 처리
a. 데이터 불균형
- 분류 문제에서 각 클래스의 데이터 분포가 상이한 경우를 의미한다. 이런 경우 비율이 높은 클래스 쪽으로 대부분의 분류를 수행하는 모형이 될 수 있다.
- 결정트리나 다층 퍼셉트론과 같은 분류기에서 문제가 발생할 수 있다.
- 해결방법 : 오버샘플링 , 언더 샘플링
b. 오버샘플링 ⭐⭐
- 적은 수의 데이터를 가지고 있는 클래스를 표본으로 더 많이 추출하여 해당 클래스의 데이터 수를 증가시킨다. (과적응의 단점 존재)
- Resampling : 데이터를 복사하는 방법. 과적합 위험 존재
- SMOTE : 복제 방법 대신, 더 작은 수의 관측치를 가지고 있는 집단 데이터들과 일정한 거리를 가진 가상의 데이터들을 새로 생성하는 방법으로 KNN 알고리즘을 사용한다.
- Borderline SMOTE : 서로 다른 클래스간의 경계선에서 SMOTE 를 적용하는 방법. 클래스 범위 내에서만 데이터를 생성해 특정 분포에서 중복적으로 발생하는 SMOTE 방법을 개선한 것이다.
- ADASYN : borderline smote 와 비슷하나, 데이터의 위치에 따라 샘플링 개수를 다르게 설정하는 것에 차이가 있다.
c. 언더 샘플링 ⭐⭐
- 더 많은 수의 데이터를 가진 클래스의 일부만 추출해 데이터 샘플링을 진행하는 방법. 데이터 크기가 매우 클 때 효과적이나 데이터 정보 손실의 단점이 있다.
- 랜덤 언더 샘플링 : 무작위로 샘플링
- Tomek Links : 클래스를 구분하는 경계선 가까이에 존재하는, 서로 다른 클래스에 속하나 가장 가까이 붙어있는 한 쌍의 데이터를 활용하여 이에 속한 데이터 중 다수의 관측치를 갖고 있는 집단의 데이터를 제거한 뒤 표본을 추출하는 방식
- CNN : 더 많은 수의 데이터를 가지고 있는 클래스의 관측치들중 밀집된 데이터를 제거해 해당 클래스를 대표할 수 있는 데이터만 남기고 샘플링을 진행
- OSS : Tomek link 방법과 CNN 의 장점을 섞은 방법
728x90
'2️⃣ Study > ▢ 자격증 | 교육' 카테고리의 다른 글
[빅분기] 3과목 빅데이터 모델링 : 2장 통계분석 기법_part2 (0) | 2022.03.31 |
---|---|
[빅분기] 3과목 빅데이터 모델링 : 2장 통계 분석기법 Part1 (0) | 2022.03.30 |
[빅분기] 3과목 빅데이터 모델링 : 1장 분석모형설계 (0) | 2022.03.28 |
[빅분기] 2과목 빅데이터 탐색 : 3장 통계기법의 이해 (0) | 2022.03.27 |
[빅분기] 2과목 빅데이터 탐색 : 2장 데이터 탐색 (0) | 2022.03.26 |
댓글