데이터 사이언스 - 요약 정리

2025. 3. 20. 17:34데이터 분석/데이터 사이언스

데이터 사이언스 요약 정리

데이터 사이언스는 데이터를 활용하여 인사이트를 도출하고, 문제를 해결하는 학문이다.
이를 위해 프로그래밍, 통계, 머신러닝, 데이터베이스 활용, 빅데이터 처리, 모델 배포 및 유지보수 등의 개념을 학습해야 한다.
다음은 데이터 사이언스 학습 과정의 핵심 개념을 정리한 내용이다.


1. 데이터 사이언스 개요

  • 데이터 사이언스란? 데이터를 수집, 분석, 모델링하여 가치 있는 인사이트를 도출하는 과정
  • 데이터 분석과 머신러닝의 차이
    • 데이터 분석: 패턴을 찾고, 통계를 기반으로 데이터 해석
    • 머신러닝: 데이터에서 자동으로 학습하여 예측 및 의사 결정을 수행
  • 활용 분야: 금융, 의료, 마케팅, 자율주행, 추천 시스템 등

2. 파이썬을 활용한 데이터 분석 기초

(1) Python 기본 문법

  • 자료형: 정수(int), 실수(float), 문자열(str), 리스트(list), 딕셔너리(dict) 등
  • 조건문 & 반복문: if-else, for, while
  • 함수 & 클래스: def function(), class ClassName:

(2) 필수 라이브러리

라이브러리 설명
NumPy 다차원 배열 연산, 선형대수
Pandas 데이터프레임 조작 및 분석
Matplotlib & Seaborn 데이터 시각화
Scikit-learn 머신러닝 모델 구현

(3) Jupyter Notebook & Google Colab 사용법

  • Jupyter Notebook → 코드 실행, 시각화, 문서화 기능 제공
  • Google Colab → 클라우드 기반 Python 실행 환경, GPU 지원

3. 데이터 전처리 및 탐색

(1) 데이터 불러오기 및 저장

  • CSV, Excel, JSON, SQL 데이터 불러오기 및 저장

(2) 결측치 및 이상치 처리

  • dropna(), fillna(), SimpleImputer() 활용
  • 이상치 탐색: IQR, Z-score, Boxplot 활용

(3) 데이터 변환 및 인코딩

  • 정규화: MinMaxScaler(), 표준화: StandardScaler()
  • 범주형 데이터 인코딩: Label Encoding, One-Hot Encoding

4. 데이터 분석 및 시각화

(1) 데이터 기본 분석

  • describe(), info(), value_counts() 활용
  • 데이터 분포 확인 → Histogram, Boxplot

(2) 데이터 시각화

  • Matplotlib & Seaborn 활용
  • 변수 간 관계 분석 → pairplot(), heatmap()

(3) 상관관계 분석

  • 피어슨 상관계수 → 선형 관계 분석
  • 스피어만 상관계수 → 비선형 관계 분석
  • 다중공선성 (VIF) 분석 → 다중 회귀 분석 시 필수

5. 통계 기초 및 확률 분포

(1) 기초 통계 개념

  • 평균, 중앙값, 최빈값
  • 분산, 표준편차

(2) 확률 및 확률분포

  • 정규분포(Normal Distribution) → 대부분의 자연현상이 따르는 분포
  • 이항분포(Binomial Distribution) → 두 가지 결과(성공/실패)로 나뉘는 경우
  • 포아송 분포(Poisson Distribution) → 단위 시간 내 발생 횟수 분석

(3) 통계적 가설 검정

  • 귀무가설(H₀) vs 대립가설(H₁)
  • t-test, ANOVA, 카이제곱 검정 활용

6. 머신러닝 개요 및 모델 구축

(1) 머신러닝 개념 및 기본 용어

  • 지도학습 vs 비지도학습
    • 지도학습: 입력 → 출력(정답) 데이터 학습
    • 비지도학습: 정답 없이 데이터 패턴 학습
  • 모델 학습 과정
    • Training → Validation → Testing
    • 데이터 분할: Train-Test Split, Cross Validation

(2) 머신러닝 라이브러리 (scikit-learn)

  • Pipeline을 활용한 데이터 처리
  • 모델 저장 및 로드 (joblib, pickle)

(3) 회귀 및 분류 모델

모델 유형 알고리즘
회귀 모델 선형 회귀, 다중 선형 회귀, Lasso, Ridge
분류 모델 로지스틱 회귀, KNN, 결정 트리, 랜덤 포레스트, SVM
모델 평가 RMSE, MAE, R² Score, Precision, Recall, F1-Score

7. 고급 머신러닝 기법

(1) 비지도 학습

  • 군집 분석 (Clustering) → K-Means, 계층적 클러스터링
  • 차원 축소 (Dimensionality Reduction) → PCA, t-SNE, UMAP

(2) 딥러닝 및 신경망

  • 인공신경망 (ANN) → ReLU, Sigmoid, Softmax
  • 딥러닝 프레임워크 (TensorFlow, PyTorch, Keras)
  • CNN (합성곱 신경망) / RNN (순환 신경망)

(3) 자연어 처리 (NLP)

  • 텍스트 전처리 → 토큰화, 불용어 제거, 형태소 분석
  • Word Embedding → Word2Vec, GloVe, FastText
  • 감성 분석 → LSTM, BERT

8. 시계열 분석 및 예측

  • 이동 평균 분석 → 추세 및 계절성 분석
  • ARIMA, SARIMA 모델 → 시계열 예측
  • LSTM을 활용한 시계열 예측

9. 데이터베이스 및 빅데이터 처리

(1) 데이터베이스 활용

  • SQL 기본 문법 → SELECT, JOIN, GROUP BY
  • NoSQL 개요 → MongoDB, Hadoop

(2) 대용량 데이터 처리

  • Dask → Pandas 확장형 라이브러리, 병렬 연산
  • Apache Spark → 분산 데이터 처리 프레임워크

10. 머신러닝 모델 배포 및 운영

(1) API 배포

  • Flask & FastAPI를 활용한 모델 API 배포
  • 모델 성능 모니터링 → Prometheus, Grafana

(2) 실전 프로젝트 수행

  • 비즈니스 문제 정의 → 데이터 수집 → 모델 구축 → 배포 및 유지보수
  • 모델 운영 및 데이터 드리프트 감지

결론

데이터 사이언스는 데이터 분석, 머신러닝, 모델 배포까지 포함하는 종합적인 학문
Python과 주요 라이브러리를 활용하여 데이터 처리 및 모델 개발 가능
SQL, NoSQL, 빅데이터 처리 기술을 익히면 확장성이 높은 분석 가능
모델 배포 후에도 지속적인 유지보수와 성능 모니터링이 필수적

데이터 사이언스를 체계적으로 학습하면 실제 산업에서 데이터 기반 의사 결정을 효과적으로 수행할 수 있다.