# 4-3. 표준화(Standardization)

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

### 개요

- 데이터 전처리의 주요 단계 중 하나임.

- 서로 다른 측정 단위나 스케일(Scale)을 가진 데이터들을 비교하기 위해 사용함.

### 목적 및 특징

- 데이터의 **평균을 0, 표준편차를 1**로 변환하는 과정임.

- 변환된 값(Z-score)은 각 데이터가 평균으로부터 얼마나 떨어져 있는지를 **상대적 위치**로 나타냄.

- 단위와 관계없이 데이터의 분포를 동일한 기준으로 비교할 수 있게 함.

### 표준화 수식 (Z-score)

- **Z = (X - μ) / σ**

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

    - **X**: 원본 데이터 값

    - **μ**: 데이터 집단의 평균

    - **σ**: 데이터 집단의 표준편차

### 적용 예시 1 : 수학 점수와 달리기 기록 비교

- **상황**: 단위와 범위가 전혀 다른 학생들의 '수학 점수'(0~100점)와 '100m 달리기 기록'(10~20초)을 비교하고자 함.

- **문제점**: '수학 80점'과 '달리기 13초' 중 어느 것이 상대적으로 더 우수한 성적인지 직접적인 비교가 어려움.

- **해결**: 각 데이터를 표준화하여 Z-score로 변환.

- **결과**: '영어 점수는 평균보다 0.7 표준편차 높음', '달리기 기록은 평균보다 0.8 표준편차 우수'와 같이 변환되어, **동일 선상에서 객관적인 비교**가 가능해짐.

### 적용 예시 2 : RFM 분석에서의 데이터 표준화

### RFM 분석 개요

- **목적**: 고객 가치를 평가하여 우수 고객(VIP) 그룹을 식별하기 위함.

- **핵심 지표**:

    - **Recency (최근성)**: 얼마나 최근에 구매했는가?

        - **Frequency (빈도)**: 얼마나 자주 구매했는가?

        - **Monetary (구매액)**: 얼마나 많이 구매했는가?

### 표준화 이전의 문제점

- **데이터 스케일(Scale)의 극심한 차이**:

    - `총 구매 금액 (Monetary)`: 1만 원 ~ 1,000만 원

        - `최근 방문일 (Recency)`: 1일 ~ 365일

        - `총 구매 횟수 (Frequency)`: 1회 ~ 50회

- **분석 왜곡 발생**:

    - 값의 범위가 압도적으로 큰 `총 구매 금액` 변수가 분석 결과에 과도한 영향을 미침.

        - 거리 기반 클러스터링(Clustering) 모델 사용 시, 구매액 중심으로만 고객이 분류됨.

        - **결과**: `최근성`과 `빈도`가 높은 잠재 우수 고객의 중요성이 무시되는 문제 발생.

### 표준화 적용 및 기대 효과

- **적용**: Z-score 표준화를 통해 모든 변수의 **평균을 0, 표준편차를 1**로 변환.

- **기대 효과**:

    - **공정한 변수 영향력**: 값의 범위와 무관하게 모든 변수(R, F, M)가 **동등한 조건**에서 고객 특성을 설명하게 됨.

    - **정교한 고객 분류**: 구매액, 방문 주기, 빈도를 종합적으로 고려하여 **의미 있는 고객 세그먼트** 도출 가능.

        - (예: '최근 자주 방문하는 잠재 VIP', '과거의 우수 이탈 고객' 등)

    - **모델 성능 향상**: 데이터 왜곡을 제거하여 머신러닝 모델의 **정확성과 신뢰도**를 높임.

### 기대 효과

- 단위나 스케일 차이로 인해 발생할 수 있는 분석 왜곡을 방지함.

- 데이터의 상대적 중요성을 공정하게 평가하여 머신러닝 모델의 예측 성능을 향상시킴.

---

### 4-3-1. 표준화

4-3.raw_student_data.csv

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

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

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

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

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

> gpt

1. 표준화 전 (Raw Data)

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

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

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

1. 표준화 후 (Z-score)

- 두 데이터를 평균 0, 표준편차 1로 변환하여 동일 척도에서 비교 가능

- 각 학생별로 수학 실력과 달리기 성능을 동일 기준으로 비교

    - 주황색 막대가 높을수록 → 평균보다 수학 성적이 높음

    - 파란색 막대가 낮을수록 → 평균보다 빠르다는 뜻

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

1. 종합 점수 (수학↑, 달리기↓ 반영)

- 계산식: Composite Score(종합 점수) = 𝑍(Math) - 𝑍(Running)

- 수학 점수가 높고 달리기 기록이 낮(짧)을수록 종합 점수가 높음

    - 학생 5번: 가장 높은 종합 점수 → 수학도 잘하고 달리기도 매우 빠름

    - 학생 9~10번: 평균 이상으로 우수한 성과

    - 학생 2~3번: 종합 점수가 가장 낮음 → 수학 점수 낮고 달리기도 느린 편

    - 나머지 학생들은 평균 근처로, 중간 수준의 성과를 보임

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

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