카테고리 없음

250417_Data_6기 TIL 43일차

juneoh20 2025. 4. 17. 20:41

250417_Data_6기 TIL 43일차

  • - 머신러닝 라이브세션 복습
  • - 머신러닝 완강
  • - 회귀 라이브세션 다시보면서 실습
  • - 머신러닝 전체 복습
  • - 코드카타 1문제

 

 


머신러닝 #10

📚 딥러닝과 머신러닝은 어떻게 다른가요?

A1: 머신러닝은 사람의 개입으로 특징을 추출해 모델을 학습하는 전통적인 방법들을 포괄적으로 일컫습니다. 딥러닝은 신경망(특히 다층 구조)을 사용해 데이터를 스스로 표현(특징 추출)하며 학습하는 것이 핵심 차이점입니다.

 

 

머신러닝 전체 복습하기

 

1. 머신러닝이란?

컴퓨터가 인간의 개입 없이(또는 최소한으로) 데이터를 학습하여 패턴을 찾아내고, 새로운 데이터에 대해 예측이나 분류를 수행하는 기술

 

머신러닝의 3대 요소

데이터, 알고리즘, 컴퓨팅 파워

 

머신러닝, AI, 딥러닝의 관계

AI가 가장 큰 개념이며, 머신러닝은 AI의 한 하위분야, 딥러닝은 머신러닝의 하위 분야, 즉 머신러닝 안의 머신러닝이라고 생각하자.

AI (인공지능)

└─── Machine Learning (기계학습)
     │
     └─── Deep Learning (딥러닝)

 

머신러닝 vs 기존 통계 분석

1.

  • 통계 분석
    • 가설 검증, 추론(예: "이 변수와 저 변수 사이에 유의한 관계가 있는가?")
    • 주로 "왜?"라는 질문에 집중
  • 머신러닝
    • 예측(얼마나 정확하게 미래나 미지의 데이터를 예측할 수 있는가)
    • "얼마나 잘?"에 집중(정확도, 재현율 등)

2.

  • 통계
    • 표본 수가 커지면 더 정교한 추론이 가능하지만, 일반적으로 가설 자체는 사람이 세움
  • 머신러닝
    • 데이터가 많을수록 학습에 유리하며, 더 좋은 모델을 만들 수 있음

머신러닝의 종류

크게 3가지로 나눌 수 있다.

1. 지도학습

 

  • 정답(label)이 있는 데이터를 가지고 학습함
  • 모델이 입력과 정답을 보고 "이런 입력엔 이런 출력이구나"를 학습함

 

2. 비지도학습

 

  • 정답(label) 없이, 입력 데이터만 가지고 학습
  • 데이터 안에 숨어있는 패턴이나 구조를 찾는 데 초점

 

3. 강화학습

 

  • 보상(reward)을 기반으로 스스로 학습함
  • 에이전트가 환경과 상호작용하면서 "행동 → 보상"을 통해 최적 전략을 학습

 

🛠 머신러닝 모델링 프로세스 (전체 흐름)

1️⃣ 문제 정의

  • 무엇을 예측/분류할 것인가?
  • 비즈니스 문제를 머신러닝 문제로 정의 (분류? 회귀? 군집?)
  • 예: 고객 이탈 예측, 수요 예측, 이미지 분류 등

2️⃣ 데이터 수집

  • 내부 시스템, API, 웹 크롤링 등에서 데이터 수집
  • 정형 데이터(엑셀, DB)부터 비정형 데이터(텍스트, 이미지)까지 다양함

3️⃣ 데이터 전처리 (Data Preprocessing)

  • 결측치 처리
  • 이상치 제거
  • 인코딩 (범주형 → 숫자형)
  • 정규화/표준화
  • 특성 생성 및 선택

📌 이 단계가 전체 작업 중 80% 이상을 차지한다고 할 만큼 중요함!


4️⃣ 데이터 분할

  • 전체 데이터를 **학습용(train)**과 **테스트용(test)**으로 나눔
  • 일반적으로 7:3 또는 8:2 비율
  • 경우에 따라 검증(validation) 세트도 따로 분리

5️⃣ 모델 선택 및 학습 (Training)

  • 문제 유형에 맞는 알고리즘 선택
    • 예: 분류 → 의사결정나무, 로지스틱 회귀 등
  • 학습 데이터를 기반으로 모델을 학습시킴

6️⃣ 모델 평가 (Evaluation)

  • 테스트 데이터를 활용해 성능 평가
  • 평가 지표 선택이 중요함
    • 분류: 정확도, 정밀도, 재현율, F1-score, AUC
    • 회귀: RMSE, MAE, R² 등

7️⃣ 모델 튜닝 (Hyperparameter Tuning)

  • 하이퍼파라미터 조정 (예: 나무 깊이, 학습률 등)
  • 교차 검증(Cross Validation)으로 일반화 성능 향상
  • GridSearchCV, RandomizedSearchCV, Optuna 등 사용

8️⃣ 모델 배포 (Deployment)

  • 실제 환경에 모델 적용 (웹, API, 앱 등)
  • 모델 저장 (Pickle, ONNX 등)
  • 지속적 모니터링 필요

9️⃣ 성능 모니터링 및 개선

  • 시간이 지나면서 성능 저하 가능 → 모델 재학습
  • 사용자 피드백 반영, 데이터 누적에 따라 개선 반복

 

 

 

데이터 전처리란?

원시(raw) 데이터에서 불필요하거나 손실(노이즈)이 있는 부분을 처리하고, 분석 목적에 맞는 형태로 만드는 과정

 

결측치 처리 기법

1️⃣ 삭제(Removal)

: 결측치가 있는 행(row) 또는 열(column)을 제거

→ 간단하지만 데이터 손실이 발생

→ 결측치가 전체 데이터에서 매우 소수일 때 적합

 

2️⃣ 대체(Imputation)

: 평균 또는 중앙값으로 대체

→ 수치형 데이터에서 많이 사용, 데이터 분포 왜곡이 비교적 적음

: 최빈값으로 대체

→ 범주형 데이터에서 사용

: 예측 모델로 대체

→ 회귀/분류 모델을 이용해 결측값을 예측

 

 

범주형 데이터 변환

원-핫 인코딩(One-Hot Encoding)

  • 범주형 변수를 각각의 범주별로 새로운 열로 표현, 해당 범주에 해당하면 1, 아니면 0
  • ex) 색상(‘Red’, ‘Blue’, ‘Green’) → ‘Red=1,Blue=0,Green=0’ / ‘Red=0,Blue=1,Green=0’ / …
  • 장점: 범주 간 서열 관계가 없을 때 사용하기 좋음
  • 단점: 범주가 매우 많으면 차원이 커짐

 

 

 

 

 

  • VIF
    • 회귀분석에서 다중공선성 문제를 파악할 때 사용
    • VIF는 어떤 변수 하나가, 다른 변수들과 얼마나 겹치는지(상관이 큰지) 수치로 보여주는 지표
    • VIF가 일정 기준(예: 10 이상)을 넘으면 해당 변수를 제거하거나 비슷한 변수들을 합치는(변환) 등의 방법으로 문제를 해결
  • 모델 기반 중요도(Feature Importance)
    • 트리 기반 모델(랜덤 포레스트, XGBoost 등)을 훈련 후 중요도가 낮은 변수를 제거

 

회귀 분석이란?

- 종속변수(Y)와 하나 이상의 독립변수(X) 간의 관계를 추정하여, 연속형 종속변수를 예측하는 통계/머신러닝 기법
    - ex) “공부한 시간(X)에 따라 시험 점수(Y)가 어떻게 변하는가?” 를 예측

- 지도학습에서의 `분류(Classification)`와 `회귀(Regression)`의 차이
    - `분류`: 결과값이 이산형(클래스 라벨)
    - `회귀:` 결과값이 연속형(숫자 값)
    - 사람의 지능적인 작업을 기계가 수행하도록 만드는 광범위한 개념

 

 


요새 TIL을 각잡고 못쓰는거 같다.. 내일부턴 프로젝트 시작이니까 자세히 써야겠다!