3 분 소요

키워드🔑
차원축소, 주성분분석(PCA), 특이값분해(SVD), 요인분석, 독립성분분석(ICA), 다차원척도법(MDS),
파생변수, 변수변환, 단순 기능 전환, 비닝, 정규화, 표준화, 불균형 데이터 처리, 임곗값이동, 앙상블기법,
언더샘플링, ENN, 토멕 링크 방법, CNN, OSS,
오버샘플링, SMOTE, Borderline-SMOTE, ADASYN

01. 데이터 전처리

2. 분석 변수 처리

2) 차원축소


(1) 차원축소(Dimensionality Reduction) 개념

  • 차원축소
    • 분석대상인 여러 변수의 정보를 최대한 유지하면서 변수 개수를 최대한 줄이는 탐색적 분석기법
  • 특성변수(설명변수)만 사용함 → 비지도 학습 머신러닝 기법


(2) 차원축소 특징

  • 축약된 변수세트: 원래 전체 변수들의 정보를 최대한 유지해야함
  • 결합변수: 변수간 내재된 특성, 관계를 분석 → 선형/비선형 결합변수 → 결합변수만으로 전체변수 설명 가능하도록
  • 차원축소의 목적: 다른 분석 전 단계, 분석 후 개선, 효과적인 시각화 등
  • 장점: 고차원보다 저차원으로 학습하면 머신러닝 알고리즘이 더 잘 작동함, 가시적인 시각화 쉬움


(3) 차원축소 기법
📌 주성분분석(PCA), 특이값 분해(SVD), 요인분석, 독립성분분석(ICA), 다차원척도법(MDS)

  • 주성분분석(PCA; Principal Component Analysis)
    • 변수들의 공분산행렬 or 상관행렬 이용
    • 정방행렬만 사용(행 개수 = 열 개수)
    • 고차원 공간의 표본들 → 선형 연관성 없는 저차원 공간으로 변환
  • 특이값분해(SVD; Singular Value Decomposition)
    • M x N 차원 행렬
    • 특이값 추출 → 데이터셋을 효과적으로 축약
  • 요인분석(Factor Analysis)
    • 관찰할 수 없는 잠재적인 변수(Latent Variable)가 존재한다고 가정함
    • 잠재요인을 도출 → 데이터 안의 구조 해석
  • 독립성분분석(ICA; Independent Component Analysis)
    • 다변량 신호 → 통계적으로 독립적인 하부성분으로 분리
    • 독립성분이 비정규 분포를 따르게 됨
  • 다차원 척도법(MDS; Multi-Dimensional Scaling)
    • 개체들 간 유사성, 비유사성 측정 → 2차원 or 3차원 공간상에 점으로 표현(시각화)
  • 차원축소 기법 주요 활용분야
    • 탐색적 데이터 분석
    • 주요 특정(변수)을 추출하여 타 분석기법의 설명변수로 활용
    • 텍스트에서 주제, 개념 추출
    • 비정형 데이터(이미지, 사운드 등)에서 특징 패턴 추출
    • 상품 추천시스템 알고리즘 구현 및 개선
    • 다차원 공간 정보를 저차원으로 시각화
    • 공통 요인을 추출하여 잠재된 데이터 규칙 발견

3) 파생 변수 생성


(1) 파생 변수(Derived Variable)
📌 기존 변수에 특정 조건 or 함수 등을 사용하여 새롭게 재정의한 변수

  • 변수 조합 or 함수 적용 → 새 변수를 만들어 분석
  • 논리적 타당성, 기준을 가지고 생성해야
  • 파생 변수 생성 방법: 단위 변환 / 표현방식 변환 / 요약 통계량 변환 / 변수 결합(함수 등의 수학적 결합)

4) 변수 변환


(1) 변수 변환(Variable Transformation)

  • 변수 변환 개념
    • 불필요한 변수를 제거
    • 변수를 반환
    • 새로운 변수를 생성시킴
  • 변수들이 로그, 제곱, 지수 등의 모습 → 변수 변환 → 선형관계로 만들면 분석하기 쉬움


(2) 변수 변환 방법
📌 단순 기능 변환 / 비닝 / 정규화 / 표준화

  • 단순 기능 변환(Simple Functions Transformation): 한쪽으로 치우친 변수를 단순한 함수로 변환
    • 로그: 오른쪽으로 기울어진 분포를 변경
    • 제곱, 세제곱, 루트: 로그에 비해선 덜 사용됨
  • 비닝(Binning): 기존 데이털르 범주화, 몇개의 Bin or Bucket으로 분할
    • 기존 비즈니스에 대한 도메인 지식 필요
  • 정규화(Normalization): 데이터를 특정 구간으로 바꾸는 척도법
    • 최소-최대 정규화 / Z-스코어 정규화
  • 표준화(Standardization): 0 중심 양쪽으로 데이터를 분포시킴
    • Z = (x - x_bar)/s
  • 변수 변환 사례(일반적인 마케팅의 사례)
    • 매출, 판매수량, 가격, 가구소득: 로그
    • 지리적 거리: 역수, 로그
    • 효용에 근거한 시장점유율, 선호점유율: e^x / (1+e^x)
    • 우측으로 꼬리가 긴 분포 → 루트, 로그
    • 좌측으로 꼬리가 긴 분포 → 제곱

5) 불균형 데이터 처리


(1) 불균형 데이터 처리

  • 타켓 데이터 수가 매우 극소수인 경우, 불균형 데이터 처리 수행
  • 불균형 데이터 처리를 수행 → 정밀도(Percision) 향상
  • 처리 기법: 언더샘플링 / 오버샘플링 / 임곗값이동 / 앙상블기법


(2) 언더 샘플링(Under Sampling)
📌 다수 클래스 중 일부만 선택 → 데이터 비율을 맞춤

  • 일부만 선택 → 데이터 소실 매우큼, 중요한 정상 데이터 소실 가능성
  • 기법: 랜덤 언더 샘플링 / ENN / 토멕 링크 방법 / CNN / OSS
    • 랜덤 언더 샘플링: 무작위 선택
    • ENN(Edited Nearest Neighbours): 소수클래스 주위에 인접한 다수클래스 데이터 제거
    • 토멕 링크 방법(Tomek Link Method): 다수클래스의 토멕 링크 제거
      • 토멕 링크: 클래스 구분 경계선 가까이 있는 데이터
    • CNN(Condensed Nearest Neighbor): 다수클래스에 밀집된 데이터가 없을 때까지 제거
    • OSS(One Sided Selection): 토멕 링크 + CNN


(3) 오버 샘플링(Over Sampling)
📌 소수 클래스 데이터를 복제 or 생성 → 데이터 비율을 맞춤

  • 장점: 정보 손실 없음, 알고리즘 성능 높음
  • 단점: 과적합 가능성, 검증 성능 나빠질 수 있음
  • 기법: 랜덤 오버 샘플링 / SMOTE / Borderline-SMOTE / ADASYN
    • 랜덤 오버 샘플링: 무작위 복제
    • SMOTE(Synthetic Minority Over-sampling TEchnique) 가상의 직선 위에 데이터 추가
      • 소수 클래스의 중심 데이터와 주변 데이터 사이에 가상의 직선을 만든다
    • Borderline-SMOTE: 다수클래스와 소수클래스의 경계선에서 SMOTE
    • ADASYN(ADAptive SYNthetic): 모든 소수클래스에서 다수클래스의 관측비율 계산 → SMOTE 적용


(4) 임곗값 이동(Threshold-Moving)
📌 임곗값을 데이터가 많은 쪽으로 이동시킴 - 임곗값(Threshold): 귀무가설 기각 여부를 구분하는 값 - 변화 없이 학습 → 테스트 단계에서 임곗값 이동


(5) 앙상블 기법(Ensemble Technique
📌 서로 같거나 다른 여러 모형들의 예측/분류 결과를 종합


댓글남기기