# 4-4. 정규화(normalization)

- Source: 이기복(2025), "진짜 업무에 쓴느 챗GPT 노코드 데이터 분석", 디지털북스

### 개요

- 정의: 데이터의 모든 값을 0과 1 사이의 범위로 변환하는 전처리 기법임.

- 목적: 전체 데이터셋에서 각 값의 상대적 위치를 명확하게 파악하기 위함.

- 활용: 실무 데이터 분석 및 머신러닝 모델의 학습 효율 증진에 사용됨.

### 정규화 수식 (Min-Max Scaling)

```
               X_norm = (X - X_min) / (X_max - X_min)
                          (해당값-최소값)     (최대값-최소값)
```

### 적용 예시

- 상황: 단위가 다른 학생별 '수학 점수'와 '달리기 기록' 데이터를 비교.

- 적용: 각 데이터를 정규화하여 "수학 점수 0.8", "달리기 기록 0.3" 등 0과 1 사이의 값으로 변환.

- 해석:

    - 수학 점수(0.8): 상위 20% 수준에 해당.

    - 달리기 기록(0.3): 상위 30% 수준에 해당 (값이 낮을수록 우수).

- 기대 효과: 서로 다른 단위의 데이터를 동일 척도상에서 비교할 수 있어, 직관적인 상대 평가가 가능해짐.

---

## 4-4-1. 정규화 처리(Min-Max Scaling)

```
학생 10명의 수학 점수와 100m 달리기 기록 데이터를 불러와 정규화(normalization) 과정을 통해 전처리하자.

다음 세 가지 단계로 막대그래프를 시각화하자:

1.정규화 전:
   - 수학 점수와 달리기 기록을 하나의 그래프에 그룹형 막대그래프로 표시
   - X축: 학생 번호, Y축: 각 점수(단위 다름)
   - 색상과 범례로 두 데이터를 구분

2.정규화 후:
   - 정규화된 수학 점수와 달리기 기록을 **하나의 그래프에 그룹형 막대그래프로 함께 표시**
   - X축: 학생 번호, Y축: 정규화 점수(0~1 범위)
   - 색상과 범례로 두 데이터를 구분

3.종합 점수:
   - 정규화된 데이터를 이용해 (수학↑, 달리기↓ 반영) 종합 점수를 계산하고
   - 각 학생의 종합 점수를 하나의 막대그래프로 표시
```

> gpt

1. 정규화 전 (Raw Data)

- 수학 점수와 100m 달리기 기록을 서로 다른 단위로 시각화

- 달리기 기록은 작을수록 좋은 성능이지만, 단위 차이가 크기 때문에 직접 비교 어려움

![Image](https://upload.cafenono.com/image/slashpageHome/20251010/010547_MuoKmYBIdt0iqMH0ED?q=80&s=1280x180&t=outside&f=webp)

1. 정규화 후 그래프 (0~1 범위)

- 모든 값이 0~1 사이로 변환되어 서로 다른 단위를 동일 척도로 비교 가능

    - 예: 0 → 가장 낮은 값 ;  1 → 가장 높은 값

    - 주황색 막대(수학)가 클수록 수학 점수가 높고,

    - 파란색 막대(달리기)가 작을수록 달리기 실력이 좋음을 의미.

![Image](https://upload.cafenono.com/image/slashpageHome/20251010/010559_XvHG6QdxOivxDspWvG?q=80&s=1280x180&t=outside&f=webp)

1. 정규화 기반 종합 점수

- 계산식:

    - Composite Score=Math_Norm−Run_Norm

- 수학은 높을수록, 달리기 기록은 낮을수록 높은 종합 점수

- 막대가 위로 갈수록 전반적으로 우수한 학생

![Image](https://upload.cafenono.com/image/slashpageHome/20251010/010609_jwa5ZAcdP16WaE8ndA?q=80&s=1280x180&t=outside&f=webp)

For the site tree, see the [root Markdown](https://slashpage.com/lion.md).
