Зачем масштабировать признаки
Часть раздела Статистика для машинного обучения путешествия по Machine Learning на Coddy. Урок 47 из 64.
Какой клиент больше всего похож на нового? Многие модели измеряют расстояние между образцами: возводят разницу по каждому признаку в квадрат, складывают результаты и извлекают квадратный корень.
25-летний человек с доходом $52,000 против 61-летнего человека с доходом $53,000:
Для всей таблицы axis=1 суммирует квадраты в каждой строке, а .argmin() находит ближайшую строку:
a = np.array([25, 52000]) # возраст, доход
X = np.array([[61, 53000], # 61-летний человек
[26, 55000]]) # 26-летний человек с доходом $55,000
dists = np.sqrt(((X - a) ** 2).sum(axis=1))
print(np.round(dists, 2))
print(dists.argmin())Это выводит:
[1000.65 3000. ]
0Человек в возрасте 61 года ближе: суммы в долларах больше, поэтому $1,000 перевешивают 36 лет. Без масштабирования решающими становятся самые крупные единицы измерения.
В этой главе каждой возможности уделяется должное внимание.
Задание
СреднеМагазин сравнивает стиральные машины по цене ($), энергопотреблению (kWh в год) и расходу воды (литров за стирку); эти характеристики указаны в features. Программа считывает позиции двух машин — i и j. Выведите:
Squared gaps:разницу по каждой характеристике, возведённую в квадрат.Distance:расстояние, округлённое до 2 знаков после запятой.Dominant feature:название характеристики с наибольшей разницей в квадрате.
Для двух других машин:
Squared gaps: [2500 6400 1]
Distance: 94.35
Dominant feature: energyПопробуйте сами
import numpy as np
features = ["price", "energy", "water"]
# Одна строка на каждую стиральную машину: цена в долларах, потребление электроэнергии в кВт·ч в год, расход воды в литрах за одну стирку
machines = np.array([[499, 160, 48],
[349, 210, 55],
[899, 120, 42],
[529, 250, 50],
[279, 230, 60],
[749, 140, 45]])
i = int(input())
j = int(input())
# Напишите свой код ниже
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Статистика для машинного обучения
1Центр и разброс
Среднее и медианаПроцентили и квартилиДисперсия и стандартное отклонениеВыборка или генеральная совокупность?Самое частое значениеПовторение: сроки доставки4Выборки и генеральные совокупности
Генеральная совокупность и выборкаСредние значения выборок различаютсяРаспределение выборочных среднихЧем больше выборка, тем меньше шумИтоги: опрос жителей города2Распределения
Гистограммы плотностиФормы распределения данныхНормальная криваяПравило 68–95–99,7Z-оценкиПовторение: время работы батареи3Вероятность с помощью моделирования
Вероятность как частотаЗакон больших чиселСуммы значений на кубикахМатематическое ожиданиеУсловная вероятностьПовторение: шансы в игре в кости6Взаимосвязи
Чтение диаграмм рассеянияКорреляцияМатрица корреляцийТепловые карты корреляцийКорреляция не означает причинностьПовторение: мороженое и солнце9Масштабирование признаков
Зачем масштабировать признакиМасштабирование Min-MaxСтандартизацияStandardScalerПовторение: партнёры по восхождениюПотренируйтесь самостоятельно: Онлайн-компилятор Python