Практическое занятие №26

Разбивка набора данных на тренировочное и тестовое подмножества. Интеграция модели на сайт

На этой странице размещено задание для студента. В ходе практической работы необходимо выполнить обработку датасета в KNIME, подготовить модель и подключить её к этой странице без доступа к исходному коду сайта.

Цель работы

Научиться делить датасет на обучающую и тестовую выборки, сравнивать случайное и стратифицированное разбиение, обучать модель классификации в KNIME и подключать результат работы модели к веб-странице.

Что используется

KNIME для работы с датасетом и n8n или другой внешний endpoint для приёма запроса с сайта.

Что должно получиться

Страница должна отправлять данные в вашу модель и получать корректный прогноз в формате JSON.

Практическое задание

Выполните следующие действия:

  • загрузите учебный датасет в KNIME
  • выполните случайное разбиение выборки
  • выполните стратифицированное разбиение выборки
  • сравните распределение классов
  • обучите модель классификации
  • подготовьте внешний webhook или API для обработки запроса
  • подключите свою модель к этой странице через URL
  • получите прогноз для введённых параметров
Важно: код сайта менять не нужно. Подключение модели выполняется только через поле URL ниже на этой странице.

Пошаговое выполнение

Откройте KNIME и загрузите учебный датасет. Проверьте названия столбцов и определите целевой столбец readiness_level.
Выполните случайное разбиение набора данных на train и test. Зафиксируйте размер выборок и распределение классов.
Выполните стратифицированное разбиение по целевому столбцу. Сравните его со случайным разбиением.
Обучите модель классификации на обучающей выборке и проверьте её качество на тестовой выборке.
Подготовьте webhook или API, который принимает POST-запрос с параметрами студента и возвращает прогноз.
Получите публичную ссылку на свой endpoint и вставьте её в блок подключения модели на этой странице.
Проверьте соединение и выполните прогноз. Убедитесь, что страница получила ответ от вашей модели.

Форматы запроса и ответа

Сайт отправляет запрос строго в одном формате. Модель должна возвращать ответ по той же схеме.

Формат запроса

{ "practice_hours_per_week": 6, "tasks_completed_percent": 68, "quiz_score": 72, "missed_classes": 2, "days_left_before_deadline": 8 }

Формат ответа

{ "label": "medium", "score": 67, "title": "Средняя готовность", "message": "Студент близок к сдаче, но желательно улучшить подготовку.", "recommendations": [ "Довести процент выполненных заданий до 80%", "Сократить количество пропусков", "Повторить материал перед сдачей" ] }

Подключение своей модели

Вставьте сюда адрес своего webhook или API. Адрес будет сохранён в браузере на этом компьютере.

Адрес модели ещё не сохранён.

Форма для отправки запроса

Результат ещё не получен
—
После ответа модели здесь появится прогноз.
  • Подключите свою модель и выполните запрос.
  • Если ответа нет, проверьте URL, CORS и формат JSON.

Что нужно проверить после выполнения

  • модель доступна по внешнему URL
  • endpoint принимает POST-запрос
  • ответ возвращается в формате JSON
  • страница показывает label, score, message и recommendations
  • случайное и стратифицированное разбиение были сравнены в KNIME
Для корректной работы при запросе с сайта ваш endpoint должен поддерживать CORS. Также желательно использовать HTTPS.