PROGRESS
16 / 17
단원
데이터 구조화: AI 전처리 17
데이터의 규칙: 예측 로직 14
옷의 시너스: 판단 로직 1
예와 아니오: 판단 로직 6
닮은꼴 찾기: 관계 로직 7
최적의 경로: 강화 로직 7
층층이 지능: 신경망 로직 7
전체 목록
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)
HINT
최소값을 구하는 함수와 최대값을 구하는 함수를 입력하세요.
실행 결과 예시
[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로 변환됩니다.
- 모든 특성의 영향력을 공평하게 만듭니다.