LG DX DATA SCHOOL

01/16 사이킷런으로 시작하는 머신러닝

getfeelingsfrom 2026. 1. 16. 14:57

p.91에서 시작 

 

 

1. 분석 모델(Analysis Model)

  • 목적: 과거 데이터 설명
  • 이미 관측된 데이터의 패턴, 관계, 원인 분석이 목표임
  • 과거 데이터에 대한 적합도를 최대한 높이려는 성향이 있음
  • 데이터에 너무 잘 맞으면 노이즈까지 학습하게 됨
  • 결과적으로 과적합(Overfitting) 발생 위험 큼

 

2.  예측 모델(Predictive Model)

  • 목적: 미래 데이터 예측
  • 과거 데이터를 그대로 설명하는 것이 목적 아님
  • 앞으로 들어올 데이터에도 유지될 **공통된 특징(일반화)**을 학습해야 함
  • 과거 데이터에만 최적화되면 예측 성능 급락함
  • 따라서 항상 과적합을 경계해야 하는 모델

 

3.  과적합(Overfitting)

  • 모델이 학습 데이터에 과도하게 적합된 상태
  • 우연적 패턴, 노이즈까지 의미 있는 신호로 착각함
  • 학습 데이터 성능 ↑
  • 테스트 / 미래 데이터 성능 ↓

4. 전처리(Preprocessing)의 역할

  • 과적합을 완전히 제거할 수는 없음
  • 하지만 최소화는 가능
  • 그 출발점이 전처리 작업임
    • 불필요한 변수 제거임
    • 노이즈 감소임
    • 분포 왜곡 완화임
    • 결측치 처리로 데이터 일관성 확보임
    • 변수 스케일 차이 보정임

 

분석 모델 → 설명 중심 → 과적합 위험 큼

  • 예측 모델 → 일반화 중심 → 과적합 최소화가 핵심임

 

 

 

 

 

2.5과 데이터 전처리 

 

1️⃣ 결손값의 개념

  • 결손값 = NaN (Not a Number)
  • 데이터 분석에서는 결손값이 존재할 수 있음
  • 하지만 머신러닝 알고리즘에서는 그대로 사용 불가한 경우가 많음

2️⃣ Null 값에 대한 기본 원칙

  • Null 값은 허용되지 않음
  • 따라서 반드시 고정된 다른 값으로 변환해야 함
  • Null 값을 그대로 두면 모델 학습 불가능하거나 오류 발생함

 

3️⃣ Null 값 처리 방법

① 결손값이 별로 없는 경우

  • 평균값 / 중앙값 / 최빈값 등으로 대체 가능함
  • 구현이 간단함
  • 단점
    • 실제 분포를 왜곡할 수 있음
    • 예측 결과에 편향(Bias)이 생길 수 있음
    • 따라서 신중하게 사용해야 함
    •  

② 결손값이 대부분인 경우

  • 해당 피처 자체의 정보량이 매우 낮음
  • 오히려 모델 성능을 떨어뜨릴 가능성 큼
  • 피처 드롭(Drop)이 더 합리적임

 

4️⃣ “일정 수준”의 기준은 없음

  • 결손 비율이 몇 % 이상이면 무조건 제거라는 절대적 기준은 없음
  • 데이터의 의미, 분석 목적에 따라 판단해야 함
  • 판단기준
    • 주요 변량이면 어떻게든 살려야 함
    • 중요하지 않으면 과감히 버려야 함

 

📌 사이킷런 머신러닝 알고리즘 입력 제약

 

1️⃣ 문자열 입력 불가

  • 사이킷런의 머신러닝 알고리즘은
    👉 문자열(String) 값을 입력으로 허용하지 않음
  • 모든 입력 데이터는 숫자형(Numeric) 이어야 함

 

2️⃣ 문자열 → 숫자형 변환 필요

  • 범주형 변수(문자열)는 반드시 변환해야 함

3️⃣ 명목형 변수 처리 방법

  • 레이블 인코딩(Label Encoding)
    • 각 범주를 숫자로 매핑함
    •  예:
      • Male → 0
      • Female → 1
    • 단점
      • 숫자 크기에 의미 없는 순서 관계가 생길 수 있음
  • 원-핫 인코딩(One-Hot Encoding)
    • 범주를 벡터 형태로 변환함
    • 각 범주는 0/1로 표현됨
    • 순서 의미가 없음

 

4️⃣ 문자열 처리 흐름 정리

  • 문자열 → 수치화(Label Encoding 등)
  • 수치화 → 벡터화(One-Hot Encoding 등)

=:> 문자열 → 수치화 → 벡터화(수치 + 의미 보존)

 

 

원핫 인코딩은 원핫인코더 클래스에서 변환이 가능하다

라벨인코더와 다르게 주의해야하는데 입력값으로 2차원 데이터가 필요하다는 원핫인코더를 이용해 변환한 값이 희소 행렬 형태 -> toarray()메서드를 이용해 밀집 행렬로 변혼해야한다 .

 

벡터화 

 

📌 피처 스케일링

1️⃣ 피처 스케일링의 개념

  • 피처 스케일링이란
    👉 서로 다른 변수들의 값 범위를 일정한 수준으로 맞추는 작업
  • 변수마다 단위와 크기가 다르면
    → 모델 학습 시 특정 변수만 과도하게 영향력을 가질 수 있음
  • 이를 방지하기 위해 스케일링 수행함

 

2️⃣ 표준화(Standardization)

  • 각 피처를 평균 0, 분산 1을 가지도록 변환함
  • 결과적으로 가우시안(정규) 분포 형태에 가깝게 만듦

✔ 변환 특징

  • 값의 중심이 0임
  • 음수, 양수 모두 존재함
  • 반대 방향(마이너스 방향) 값도 자연스럽게 표현 가능함
  • 기존 분포의 형태는 유지하면서 스케일만 조정하는 방식임

3️⃣ 정규화(Normalization)

  • 서로 다른 피처들의 크기 자체를 통일하기 위한 변환임
  • 주로 최소값과 최대값을 기준으로 범위를 맞춤

✔ 변환 특징

  • 값의 범위가 보통 0~1 사이로 맞춰짐
  • 각 값은 전체 범위 대비 어느 위치인지의 비율로 표현됨
  • 분모에 전체 범위(사용량, 최대값 등)가 들어가므로
  • “전체 대비 1의 비율” 개념으로 이해하면 됨

4️⃣ 표준화 vs 정규화 차이 정리

구분 표준화 정규화
목적 분포 중심 맞춤 크기 통일
기준 평균, 분산 최소~최대
결과 분포 평균 0, 분산 1 0~1 범위
음수 가능 거의 없음

5️⃣ 스케일링 적용 시 주의점

  • Train / Test를 나눈 뒤 따로 스케일링하면 안 됨
  • Train 데이터 기준으로 스케일 파라미터를 학습하고
  • 그 기준을 Test 데이터에 그대로 적용해야 함
  • test 데이터를 포함해 다시 계산하면 → 데이터 누수(Data Leakage) 발생함

6️⃣ 스케일링이 특히 중요한 모델

  • 가중치(w)를 직접 계산하는 모델들임
  • SVM
  • 인공신경망
  • 딥러닝 모델
  • 거리 계산, 기울기 기반 최적화를 사용함
  • 스케일 차이가 크면 학습이 왜곡됨

 

 

 

 

 

Decision Tree (결정트리) 

분류함수를 의사결정 규칙으로 이뤄진 나무  모양으로 그리는 방법으로 의사결정문제를 시각화해 의사결정이 이뤄지는 시점과 성과를 한눈에 볼 수 있다. 

 

분석 과정 

1. 성장 단계 : 최적의 분리규칙을 찾음

2. 가지치기(pruning) : 오차를 크게 할 위험이 높거나 불필요한 가지 제거 

3. 타당성 평가 단계 : 이익도표, 위험도표, 시험 자료를 이용하여 의사결정나무 평가

4. 해석 및 예측 단계 : 나무 모형 해석 및 예측 모형을 설정 후 예측에 적용

 

최적의 분리 규칙 기준 : 최적 분할의 결정은 불순도 감소량을 가장 크게하는 분할 

 

y값이 분류형일 때

회귀분석일 때 ==> 회귀 트리 

'LG DX DATA SCHOOL' 카테고리의 다른 글

01/20  (1) 2026.01.21
01/19 결정트리부터 ...  (1) 2026.01.19
01/14  (1) 2026.01.15
01/13 파이썬 머신러닝 시작  (0) 2026.01.13
01/12 회귀 분석 마무리  (0) 2026.01.12