
Информатика: создаём своего цифрового помощника Урок 66 из 72
Проверка модели и матрица ошибок
Классификатор верно угадал четыре карточки из четырёх.
Где мы на карте
Урок 66 из 72. Блок «ИИ и выпуск проекта» (63–72). Помощник сохраняет прежние правила напоминания и локальную базу; новая функция только предлагает категорию задачи и допускает отказ.
Ситуация и вопрос
Классификатор верно угадал четыре карточки из четырёх. Звучит идеально, но карточек всего четыре. Ошибку можно скрыть красивым процентом; поэтому показываем сами ответы.
Новые слова без пропусков
Тестовая выборка — примеры, не использованные при обучении. Матрица ошибок считает пары «истинная метка → предложение». Точность для четырёх правильных из четырёх равна 4/4 в этой выборке, но не обещает такого результата завтра. Ложное срабатывание — неверное отнесение к категории, которое надо разобрать отдельно. Неопределённость увеличивается при малом числе примеров.
Опорный сигнал
Прочитайте три клетки схемы слева направо, затем закройте третью. Назовите вход и действие в каждой клетке; предскажите, чем закончится путь и какой наблюдаемый факт подтвердит ответ. Сравните рисунок с файлом проекта или контрольным примером. Если число на схеме не получается из данных, исправьте схему, а не данные под красивую картинку.
Разбираем шаг за шагом
Запустите classifier.py: held-out содержит две верные reading и две верные math, всего 4. Нарисуйте таблицу 2×2: строки — истинная метка, столбцы — предложение. Для текущего набора диагональ 2 и 2, остальные клетки 0. Затем придумайте новый заголовок со словами обеих категорий; его результат может оказаться review или неверным. Не добавляйте этот заголовок в train до честного повторного теста.
Предскажите и проверьте
Запишите ожидаемый вывод до запуска кода. Выполните его в указанной папке step-06 или step-07, сравните результат символ за символом и объясните каждую строку. Затем измените один безопасный вымышленный вход и повторите цикл «предсказать — запустить — изменить — объяснить — проверить». Наблюдение на маленьком наборе не превращайте в обещание для реальных людей.
from classifier import read_examples, train, evaluate
rows = read_examples("labelled_tasks.csv")
matrix = evaluate(rows, train(rows))
print(matrix[("reading", "reading")], matrix[("math", "math")], sum(matrix.values()))
Ожидаемый вывод
2 2 4
Поймайте ошибку
4/4 не равно доказанной 100% надёжности. Если после просмотра тестовых строк подобрать словарь под них, они уже перестают быть независимой проверкой. Метка review должна считаться отдельно, а не скрываться как успех.
Изменение проекта
В проекте 2.1 сохраняются база, отчёт, напоминания и резервирование. Файл labelled_tasks.csv содержит только вымышленные примеры. classifier.py выдаёт совет math, reading или review, но не записывает решение в базу. Каждый вывод модели сравнивается с отложенными примерами и пересматривается человеком.
Задание и доказательство
Покажите матрицу и отдельно число review. Добавьте один новый отложенный пример и пересчитайте дробь правильных ответов вручную. Назовите, какую ошибку вы считаете наиболее опасной.
Перенос в новую ситуацию
Медицинский тест проверили на четырёх человек без ошибок. Можно ли по этому числу обещать безошибочность для города?
Возврат через 1, 7 и 30 дней
Через 1 день нарисуйте схему по памяти и найдите в ней одну границу применения. Через 7 дней объясните её товарищу, не читая урок, и решите 7 из 10 вопросов блока; ошибочные ответы разберите на конкретных входах. Через 30 дней откройте свежую копию проекта, воспроизведите проверку и перенесите принцип в новый пример. Сохраните свой протокол с входом, ожидаемым и фактическим результатом.
Первоисточник для проверки
Следующий урок
Если вы нашли ошибку или опечатку в тексте статьи, то сообщите нам об этом
Комментарии (0)
Войдите, чтобы оставить комментарий →
Пока нет комментариев. Будьте первым.