Практика: первый эксперимент¶
Автор: Алексей Толстиков
CC BY 4.0.
Положите ноутбук рядом с папкой data. У каждого CSV-файла 1000 строк с заказами. В test.csv ответы скрыты знаком ?. Сначала зафиксируйте прогноз по обучению; затем открывайте test_answers.csv для проверки.
1. Постоянный прогноз¶
Загрузите данные через pandas. Найдите медиану minutes только в train.csv, сделайте постоянный прогноз и посчитайте обучающую MAE.
import pandas as pd
train = pd.read_csv('data/train.csv')
test = pd.read_csv('data/test.csv')
print(len(train), len(test))
# Ваш код: медиана, прогноз и MAE на обучении.
2. Зафиксируйте оба правила¶
Примените числовой прогноз к тесту. Только по обучающим временам найдите самый частый ответ на вопрос «успеет ли заказ за 30 минут?» и дайте его всем тестовым заказам. Пока не открывайте test_answers.csv.
# Ваш код: постоянный прогноз времени и самый частый класс.
3. Проверьте оба прогноза¶
Теперь загрузите data/test_answers.csv, сопоставьте строки по order_id и вычислите тестовую MAE и accuracy. Числа для самопроверки приведены в статье.
# Ваш код: соединение по order_id, тестовая MAE и accuracy.
Самопроверка¶
1. Что является объектом в нашей задаче?¶
A. Вся таблица заказов.
B. Один заказ на печать.
C. Один столбец таблицы.
D. Только напечатанная фигурка без записи о ней.
2. Какие признаки доступны до начала печати?¶
A. Фактическое время окончания.
B. Высота фигурки и число цветов из её проекта.
C. Сколько минут печать уже заняла к завершению.
D. Правильный ответ тестового заказа.
3. Нужно предсказать точное время печати. Какой это вид задачи?¶
A. Регрессия.
B. Классификация.
C. Сортировка строк.
D. Поиск одинаковых заказов.
4. Чему равна медиана одиннадцати обучающих времён?¶
A. 24 минуты.
B. 28 минут.
C. 26 минут.
D. 58 минут.
5. Ответы равны 10 и 20, оба прогноза — 15. Какова MAE?¶
A. 0 минут.
B. 10 минут.
C. 15 минут.
D. 5 минут.
6. Почему медиану нельзя вычислять по всей таблице до разделения?¶
A. Медиана существует только для одиннадцати чисел.
B. Тестовые ответы повлияют на модель.
C. Python не умеет считать медиану восьми чисел.
D. Вся таблица обязательно содержит одинаковые заказы.
7. Модель верно ответила на три заказа из четырёх. Чему равна accuracy?¶
A. 0,75.
B. 0,25.
C. 3 минуты.
D. 4.
8. Почему модель с постоянным ответом полезна?¶
A. Она всегда лучше нейросети.
B. Она доказывает, что признаки не нужны.
C. Она даёт отправной результат для сравнения.
D. Она никогда не ошибается на новых данных.
9. Мы увидели тестовые ошибки и подобрали по ним новый прогноз. Что произошло?¶
A. Тест стал больше.
B. Все данные стали обучающими автоматически.
C. Модель обязательно стала лучше на будущих заказах.
D. Тест начал участвовать в выборе модели.
10. MAE равна 6,8 минуты на пяти придуманных заказах. Что можно заключить?¶
A. Любой следующий заказ даст ошибку ровно 6,8 минуты.
B. Средний модуль ошибки на этих пяти заказах равен 6,8 минуты.
C. Для настоящего принтера ошибка не превысит 6,8 минуты.
D. Правильно распознаны 6,8 % заказов.
Подсказки и решения¶
Вопрос 1¶
Подсказка
Посмотрите, что описывает одна строка.
Решение
B. Одна строка соответствует одному заказу. Столбцы описывают его свойства и результат.
Вопрос 2¶
Подсказка
Представьте момент перед нажатием кнопки запуска.
Решение
B. Высота и число цветов известны из проекта до печати. Остальные варианты появляются позже или раскрывают ответ.
Вопрос 3¶
Подсказка
Какого вида ответ: число или название класса?
Решение
A. Время в минутах — числовой ответ. Для вопроса «успеет или нет» нужна классификация.
Вопрос 4¶
Подсказка
В упорядоченном списке из одиннадцати чисел найдите шестое.
Решение
C. Посередине стоит 26. Число 28 — среднее этих времён.
Вопрос 5¶
Подсказка
Сначала найдите два модуля ошибки, затем среднее.
Решение
D. Ошибки равны 5 и 5, их среднее — 5. Ошибки с разными знаками не сокращаются.
Вопрос 6¶
Подсказка
Какую роль должны играть новые заказы?
Решение
B. Тест нужен для проверки уже выбранного правила. Использование его ответов при обучении нарушает эту проверку.
Вопрос 7¶
Подсказка
Разделите число верных ответов на число всех заказов.
Решение
A. Три из четырёх — 0,75, или 75 %. У доли нет единиц времени.
Вопрос 8¶
Подсказка
Что должна показать следующая, более сложная модель?
Решение
C. Новая модель должна показать пользу по сравнению с простым решением. Сложность сама по себе не гарантирует улучшения.
Вопрос 9¶
Подсказка
Какие ответы помогли принять новое решение?
Решение
D. Проверка уже повлияла на модель. Для независимой оценки нового правила понадобятся другие данные.
Вопрос 10¶
Подсказка
Отделите результат конкретной проверки от обещания на будущее.
Решение
B. Мы проверили конкретный набор. Для вывода о настоящей работе нужны реальные независимые наблюдения.