Напишите функцию, которая принимает список чисел и нормализует его, преобразуя значения в диапазон от 0 до 1. Это полезно для подготовки данных перед обучением модели машинного обучения.
• Находит минимальное и максимальное значение в списке.
• Вычисляет нормализованное значение для каждого элемента по формуле: normalized = (𝑥 − min) / max − min)
• Возвращает новый список с нормализованными значениями.
Решение задачи
def normalize(data):
min_val = min(data)
max_val = max(data)
# Избегаем деления на ноль, если все элементы равны
if max_val == min_val:
return [0.0] * len(data)
return [(x - min_val) / (max_val - min_val) for x in data]
# Примеры использования
data = [10, 20, 30, 40, 50]
print(normalize(data))
# Ожидаемый результат: [0.0, 0.25, 0.5, 0.75, 1.0]