Предсказание чисел
Часть раздела Обучение с учителем путешествия по Machine Learning на Coddy. Урок 11 из 58.
Модели в этой главе предсказывают числа. К концу главы график ошибок модели покажет, что она не учла:
Начни с прямой, которую ты знаешь. LinearRegression обучается на таблице X: одна строка на образец и один столбец на признак:
from sklearn.linear_model import LinearRegression
area = np.array([60, 75, 90, 110, 130, 150]) # дома, в м²
price = np.array([215, 248, 290, 335, 385, 428]) # тысяч долларов
X = area.reshape(-1, 1) # 6 строк, 1 столбец
model = LinearRegression()
model.fit(X, price)
print(np.round(model.coef_, 2), np.round(model.intercept_, 2))
print(np.round(np.polyfit(area, price, 1), 2))Это выводит одну и ту же строку дважды:
[2.39] 71.59
[ 2.39 71.59]В coef_ хранится один коэффициент наклона на каждый признак: каждый дополнительный м² добавляет 2.39 тысячи долларов. intercept_ — это начало прямой при 0 м². Затем model.predict([[100]]) оценивает 100 м² примерно в 310.85 тысячи.
Задание
СреднеТипография никогда не публиковала свои цены, но у тебя есть данные о 10 предыдущих заказах: pages и price в долларах. Программа считывает количество страниц нового заказа.
- Обучи
LinearRegressionна количестве страниц, представленном в виде таблицы с одним столбцом. - Выведи цену за страницу (3 знака после запятой) и плату за настройку — свободный член (2 знака после запятой).
- Выведи предсказанную цену нового заказа (2 знака после запятой).
Для другой типографии и 120:
Per page: 0.095 dollars
Setup fee: 4.1 dollars
120 pages: 15.5 dollarsПопробуйте сами
import numpy as np
from sklearn.linear_model import LinearRegression
# 10 предыдущих заданий на печать: количество напечатанных страниц и уплаченная сумма в долларах
pages = np.array([40, 75, 120, 160, 210, 260, 300, 380, 450, 520])
price = np.array([7.38, 12.6, 17.65, 20.69, 26.63, 32.18, 37.76, 46.4, 55.17, 60.89])
new_pages = int(input())
# Напишите свой код ниже
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Обучение с учителем
1Ваша первая модель
Обучение на примерахОбучающая и тестовая выборкиОбучение и предсказаниеОценка моделиПовторение: сортировщик семян4Логистическая регрессия
Предсказания «да» или «нет»Порог принятия решенияВеса как свидетельстваНесколько классовПовторение: спам-фильтр2Метод ближайших соседей
Как работает k-NNВыбор kГраницы принятия решенийМасштабирование признаков для поиска соседейПовторение: соседи для вин5Оценка классификаторов
Матрица ошибокТочность и полнотаF1-мераНесбалансированные классыROC-кривыеПовторение: скрининговый тест8Кросс-валидация
K-блочная проверкаСправедливое сравнение моделейПоиск по сеткеПовторение: ремонт скейтбордов11Проект: виды пингвинов
Знакомство с пингвинамиПодготовка данныхВыбор моделиНастройка лучшей моделиЗапуск модели3Линейная регрессия
Предсказание чиселНесколько признаковОценка ошибокГрафики остатковПовторение: прокат велосипедовПотренируйтесь самостоятельно: Онлайн-компилятор Python