카테고리 없음

데이터 분석 EDA 전처리 방법

junslee 2025. 1. 15. 01:02

 

  • 데이터 시각화와 기본 통계 분석에서 필수적인 도구

1. Line Plot (선 그래프)

  • 정의: 데이터를 선으로 연결하여 시간이나 순서에 따른 변화를 시각적으로 표현하는 그래프.
  • 주요 목적:
    • 데이터의 추세(trend) 파악.
    • 시간에 따른 값의 변화 확인.
  • 사용 예시:
    • 주식 가격 변동.
    • 온도 변화.
    • 매출액의 시간별 변화.
  • 특징:
    • X축: 독립 변수(시간 또는 순서).
    • Y축: 종속 변수(값).

2. Box Plot (상자 그림)

  • 정의: 데이터 분포를 요약하여 중심값, 범위, 이상값을 시각적으로 나타내는 그래프.
  • 구성 요소:
    • 상자(Box): Q1(1사분위수)와 Q3(3사분위수) 사이를 나타냄.
    • 중앙값(Median): 상자의 가운데 선으로 표시.
    • 수염(Whisker): Q1과 Q3에서 IQR(사분위수 범위)의 1.5배 내외로 뻗은 선.
    • 이상값(Outlier): 수염 범위를 벗어난 데이터 포인트.
  • 사용 예시:
    • 데이터 분포 비교.
    • 이상값 감지.
  • 장점:
    • 데이터 분포와 이상값을 한눈에 파악 가능.

3. Histogram (히스토그램)

  • 정의: 연속형 데이터의 분포를 막대그래프로 표현한 그래프.
  • 구성 요소:
    • X축: 데이터의 구간(bin, 계급).
    • Y축: 해당 구간에 속한 데이터의 개수(빈도).
  • 목적:
    • 데이터 분포 확인.
    • 데이터의 밀집도(특정 구간에서 데이터가 얼마나 모여 있는지) 확인.
  • 사용 예시:
    • 점수 분포.
    • 나이 분포.
    • 연속형 변수의 데이터 분포.
  • 특징:
    • 구간(bin)의 개수와 너비에 따라 시각적 해석이 달라질 수 있음.

4. Basic Statistic Value (기초 통계값)

  • 정의: 데이터를 요약하여 주요 정보를 제공하는 수치 지표.
  • 주요 값:
    • 중심 경향성:
      • 평균(Mean): 데이터 값들의 합을 데이터 개수로 나눈 값.
      • 중앙값(Median): 데이터를 정렬했을 때 가운데 위치하는 값.
      • 최빈값(Mode): 가장 자주 나타나는 값.
    • 산포도(Dispersion):
      • 분산(Variance): 데이터 값들이 평균에서 얼마나 떨어져 있는지를 나타내는 지표.
      • 표준편차(Standard Deviation): 분산의 제곱근으로, 데이터 값의 퍼짐 정도를 측정.
      • 범위(Range): 데이터의 최대값과 최소값의 차이.
      • IQR(사분위수 범위): Q3(3사분위수) - Q1(1사분위수)로 데이터 분포의 중앙 50%를 나타냄.
    • 최대값(Maximum)과 최소값(Minimum): 데이터의 가장 큰 값과 작은 값.
  • 목적:
    • 데이터의 특성 이해.
    • 데이터 분석 및 모델링의 기초 작업.
  • 사용 도구:
    • Python: pandas.describe()로 요약된 통계값 확인.

  • 다음은 데이터 분석과 머신러닝에서 데이터를 이해하고 모델 성능을 개선하는 데
    핵심적인 역할하는 Outlier 데이터 보정, 삭제 방법

1. Correlation (상관관계)

  • 정의: 두 변수 간의 관계의 강도와 방향을 나타내는 통계적 지표.
  • 특징:
    • 범위: -1 ~ 1
      • 1: 완전한 양의 상관관계 (한 변수가 증가하면 다른 변수도 증가).
      • -1: 완전한 음의 상관관계 (한 변수가 증가하면 다른 변수는 감소).
      • 0: 상관관계 없음.
    • 상관관계는 인과관계를 의미하지 않음.
  • 종류:
    • 피어슨 상관계수 (Pearson Correlation):
      • 선형 관계를 측정.
      • 연속형 데이터에 적합.
    • 스피어만 상관계수 (Spearman Correlation):
      • 순위(비선형) 관계를 측정.
      • 순위형 데이터에 적합.
    • 켄달 상관계수 (Kendall Correlation):
      • 변수의 일관된 순서 관계를 측정.
      • 비순서형 데이터에도 적합.
  • 목적:
    • 변수 간 관계 파악.
    • 다중공선성 문제 탐지.
  • 사용 도구:
    • Python: pandas.corr(), seaborn.heatmap().

2. Dimension Reduction (차원 축소)

  • 정의: 데이터의 특성(차원) 수를 줄이면서 주요 정보를 유지하는 과정.
  • 목적:
    • 고차원 데이터 문제 해결: 과적합 방지, 계산 속도 개선.
    • 시각화: 데이터를 2D 또는 3D로 변환하여 시각적으로 이해.
    • 데이터 압축: 메모리 및 저장 공간 절약.
  • 방법:
    • PCA (주성분 분석):
      • 데이터 분산이 가장 큰 축을 기준으로 새로운 축(주성분)을 생성.
      • 선형 변환 기법.
    • t-SNE:
      • 고차원 데이터의 비선형 구조를 저차원 공간으로 시각화.
      • 주로 시각화 목적으로 사용.
    • LDA (선형 판별 분석):
      • 클래스 간 분산을 최대화하고 클래스 내 분산을 최소화.
      • 지도 학습 방식.
    • UMAP:
      • 데이터의 고차원 구조를 보존하면서 저차원으로 변환.
      • t-SNE보다 빠르고 해석 가능성이 높음.
  • 사용 도구:
    • Python: sklearn.decomposition.PCA, sklearn.manifold.TSNE, umap-learn.

3. Feature Importance (특성 중요도)

  • 정의: 머신러닝 모델에서 각 특성이 예측에 얼마나 중요한지 평가하는 지표.
  • 목적:
    • 모델 해석: 어떤 특성이 예측에 중요한지 파악.
    • 특성 선택: 중요도가 낮은 특성을 제거하여 모델 성능 개선.
  • 평가 방법:
    • 모델 기반 평가:
      • 트리 기반 모델:
        • 결정 트리, 랜덤 포레스트, 그래디언트 부스팅 모델은 특성 중요도를 계산 가능.
        • feature_importances_ 속성을 통해 확인.
      • XGBoost/LightGBM:
        • Gain(정보 획득량), Split(분리 빈도), Cover(데이터 커버율) 기반 중요도.
    • 모델 무관 평가:
      • Permutation Importance:
        • 특정 특성을 무작위로 섞어 모델 성능 저하를 측정.
      • SHAP (Shapley Additive Explanations):
        • 각 특성이 모델 예측에 기여하는 정도를 해석.
      • LIME (Local Interpretable Model-agnostic Explanations):
        • 개별 예측에 대한 특성의 기여도를 해석.
  • 사용 도구:
    • Python: sklearn.feature_importances_, SHAP, LIME.