- 데이터 시각화와 기본 통계 분석에서 필수적인 도구
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: 상관관계 없음.
- 상관관계는 인과관계를 의미하지 않음.
- 범위: -1 ~ 1
- 종류:
- 피어슨 상관계수 (Pearson Correlation):
- 선형 관계를 측정.
- 연속형 데이터에 적합.
- 스피어만 상관계수 (Spearman Correlation):
- 순위(비선형) 관계를 측정.
- 순위형 데이터에 적합.
- 켄달 상관계수 (Kendall Correlation):
- 변수의 일관된 순서 관계를 측정.
- 비순서형 데이터에도 적합.
- 피어슨 상관계수 (Pearson Correlation):
- 목적:
- 변수 간 관계 파악.
- 다중공선성 문제 탐지.
- 사용 도구:
- Python: pandas.corr(), seaborn.heatmap().
2. Dimension Reduction (차원 축소)
- 정의: 데이터의 특성(차원) 수를 줄이면서 주요 정보를 유지하는 과정.
- 목적:
- 고차원 데이터 문제 해결: 과적합 방지, 계산 속도 개선.
- 시각화: 데이터를 2D 또는 3D로 변환하여 시각적으로 이해.
- 데이터 압축: 메모리 및 저장 공간 절약.
- 방법:
- PCA (주성분 분석):
- 데이터 분산이 가장 큰 축을 기준으로 새로운 축(주성분)을 생성.
- 선형 변환 기법.
- t-SNE:
- 고차원 데이터의 비선형 구조를 저차원 공간으로 시각화.
- 주로 시각화 목적으로 사용.
- LDA (선형 판별 분석):
- 클래스 간 분산을 최대화하고 클래스 내 분산을 최소화.
- 지도 학습 방식.
- UMAP:
- 데이터의 고차원 구조를 보존하면서 저차원으로 변환.
- t-SNE보다 빠르고 해석 가능성이 높음.
- PCA (주성분 분석):
- 사용 도구:
- 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):
- 개별 예측에 대한 특성의 기여도를 해석.
- Permutation Importance:
- 모델 기반 평가:
- 사용 도구:
- Python: sklearn.feature_importances_, SHAP, LIME.