데이터 정규화(Min-Max)

40 P
QUESTION 16 #369
입력 데이터의 값 범위를 0~1 사이로 변환하는 Min-Max 정규화를 구현하세요.
main.py
data = [10, 20, 30, 40, 50]

min_val = (data)
max_val = (data)

normalized = []
for x in data:
    n = (x - min_val) / (max_val - min_val)
    normalized.append(round(n, 2))

print(normalized)
실행 결과 예시
[0.0, 0.25, 0.5, 0.75, 1.0]
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

⚖️ 왜 정규화가 필요한가?

예를 들어 나이(0~100)연봉(0~1억)이라는 두 특성이 있다면, 연봉의 숫자가 훨씬 크기 때문에 거리 계산 시 나이의 영향이 거의 무시됩니다.

Min-Max 정규화 공식:

$$x_{norm} = \frac{x - x_{min}}{x_{max} - x_{min}}$$
  • 최소값은 0으로, 최대값은 1로 변환됩니다.
  • 모든 특성의 영향력을 공평하게 만듭니다.