Метод наименьших квадратов
Часть раздела Статистика для машинного обучения путешествия по Machine Learning на Coddy. Урок 36 из 64.
Можно перебирать линии бесконечно. np.polyfit(x, y, 1) сразу находит лучшую: линию с наименьшей суммой квадратов остатков. Вот глубина снега во время шторма:
hours = np.array([1, 2, 3, 5, 6])
depth = np.array([14, 22, 35, 52, 61])
slope, intercept = np.polyfit(hours, depth, 1)
print(np.round(slope, 2), np.round(intercept, 2))Это выводит 9.5 4.5: примерно на 9.5 см больше снега в час и 4.5 см в час 0. Ни одна другая линия не проходит ближе:
1 задаёт прямую линию, и сначала указывается x. Это линейная регрессия — первая модель, которую вы обучите в разделе 3.
Задание
СреднеПроизводитель дронов хочет узнать, какой параметр лучше всего предсказывает время полёта. В drones.csv содержатся данные о 15 полётах: payload_g, wind_kmh и flight_min. Стартовый код загружает файл и определяет ssr(x, y, slope, intercept).
- Для каждого столбца в
columnsпостройте линию, предсказывающуюflight_minпо этому столбцу. - Выведите её уравнение и SSR, как показано ниже: наклон с точностью до 3 знаков после запятой, свободный член и SSR — до 2.
- Выведите столбец с меньшим SSR.
Для другого дрона:
payload_g: flight_min = -0.001 * payload_g + 21.55, SSR 164.94
wind_kmh: flight_min = -0.481 * wind_kmh + 28.13, SSR 9.1
Better predictor: wind_kmhПопробуйте сами
import numpy as np
import pandas as pd
# Возвращает сумму квадратов остатков для прямой slope * x + intercept (урок 35)
def ssr(x, y, slope, intercept):
return ((y - (slope * x + intercept)) ** 2).sum()
drones = pd.read_csv("drones.csv")
columns = ["payload_g", "wind_kmh"]
# Напишите свой код ниже
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Статистика для машинного обучения
1Центр и разброс
Среднее и медианаПроцентили и квартилиДисперсия и стандартное отклонениеВыборка или генеральная совокупность?Самое частое значениеПовторение: сроки доставки4Выборки и генеральные совокупности
Генеральная совокупность и выборкаСредние значения выборок различаютсяРаспределение выборочных среднихЧем больше выборка, тем меньше шумИтоги: опрос жителей города7Линии тренда
ОстаткиМетод наименьших квадратовПостроение линии аппроксимацииПредсказания с помощью линииНасколько хороша аппроксимация?Повторение: часы практики2Распределения
Гистограммы плотностиФормы распределения данныхНормальная криваяПравило 68–95–99,7Z-оценкиПовторение: время работы батареи3Вероятность с помощью моделирования
Вероятность как частотаЗакон больших чиселСуммы значений на кубикахМатематическое ожиданиеУсловная вероятностьПовторение: шансы в игре в кости6Взаимосвязи
Чтение диаграмм рассеянияКорреляцияМатрица корреляцийТепловые карты корреляцийКорреляция не означает причинностьПовторение: мороженое и солнцеПотренируйтесь самостоятельно: Онлайн-компилятор Python