← Вернуться в неделю 6
Анализ данных в век ИИ · Dr. Igor Kleiner
🍊 Практика Orange · неделя 6

Операция «Потерянная корзина»

Интернет-магазин хочет понять, какие сессии заканчиваются покупкой. Ваша задача — не найти «самую умную модель», а построить честную классификацию, посмотреть на вероятность, AUC и матрицу беспорядков и объяснить бизнесу, чему можно верить.

🛒

Сюжет миссии

Менеджер магазина заметил: тысячи посетителей ходят по страницам, читают товары, иногда возвращаются, иногда исчезают — и лишь часть сессий заканчивается покупкой. Он просит вас построить модель, которая оценивает вероятность Revenue = TRUE.

Босс уже приготовил ловушку: «Если Accuracy около 85%, значит модель великолепна!» В конце миссии вам придётся решить, можно ли так говорить.

📦 Данные миссии

Online Shoppers Purchasing Intention — набор сессий интернет-магазина из UCI Machine Learning Repository. Целевая переменная Revenue показывает, закончилась ли сессия покупкой.

12 330сессий
17признаков + target
1 908покупок
84,5%сессий без покупки
Источник: C. Sakar & Y. Kastro, UCI Machine Learning Repository, DOI 10.24432/C5F88Q. Лицензия CC BY 4.0. Локальная копия CSV приложена к заданию, чтобы не зависеть от интернета во время практики.

🗺️ Карта маршрута в Orange

FileSelect ColumnsData Table/Distributions Logistic RegressionNomogram +Test & ScoreConfusion Matrix/ROC Analysis
Не собирайте схему как гирлянду. У каждого виджета ниже есть вопрос. Если вы не знаете, зачем он подключён, сначала сформулируйте вопрос, потом тяните провод.

Миссия по шагам

Отмечайте шаг только после того, как реально сделали его в Orange. Здесь нет автоматической проверки ваших метрик — аналитик должен смотреть на результаты сам.

01 · знакомствоFile + Data Table

Откройте данные и познакомьтесь с таблицей

Сначала — глазами. Никакой модели, пока вы не понимаете, что лежит в строках и столбцах.

Что сделать:
  1. Откройте CSV в File.
  2. Проверьте размер таблицы и наличие пропусков.
  3. Откройте Data Table и просмотрите несколько реальных строк.
  4. Убедитесь, что Revenue будет целевой переменной (Target/Class).
💭 Подумайте: что в этой таблице является одной «единицей наблюдения» — клиент, товар или сессия посещения?
02 · типыFile / Select Columns

Проверьте, что цифра не притворяется числом

Некоторые признаки закодированы числами, но по смыслу являются категориями.

Что сделать:
  • В File проверьте типы столбцов. Orange позволяет редактировать тип и роль переменной.
  • OperatingSystems, Browser, Region, TrafficType разумно рассматривать как категориальные коды, а не как шкалы «больше = лучше».
  • Month, VisitorType, Weekend тоже категориальные.
  • Через Select Columns оставьте Revenue в Target, а остальные выбранные признаки — в Features.
💭 Подумайте: почему браузер №6 не «в три раза больше» браузера №2? Что случится с интерпретацией модели, если принять код категории за обычное число?
03 · первая ловушкаDistributions

Посмотрите на Revenue до обучения модели

Откройте Distributions и выберите Revenue. Вы должны увидеть, что классы далеко не равны.

Что сделать:
  1. Соедините данные с Distributions.
  2. Посмотрите доли Revenue = FALSE и TRUE.
  3. Не стройте пока модель. Сначала запишите для себя: какой класс доминирует?
😈 Ловушка босса: если всегда отвечать «покупки НЕ будет», какая Accuracy примерно получится уже без всякого машинного обучения? Не нажимайте калькулятор — оцените по графику.
04 · EDADistributions / Box Plot

Найдите признаки, которые хочется расследовать

Не ищите «правильную картинку». Ищите вопросы.

Что сделать:
  • Исследуйте несколько признаков, например PageValues, ExitRates, BounceRates, ProductRelated, ProductRelated_Duration, VisitorType, Month.
  • Если удобно, раскрасьте распределения по Revenue.
  • Выберите 2–3 признака, которые выглядят потенциально интересными для классификации.
🔎 Критическое мышление: признак PageValues кажется очень «близким к покупке». Задайте вопрос: в какой момент он доступен? Если бы бизнес хотел прогноз очень рано в сессии, все ли признаки были бы честно доступны в этот момент?
05 · модельLogistic Regression

Постройте логистическую регрессию

Теперь вопрос сформулирован: закончится ли сессия покупкой?

Что сделать:
Select ColumnsLogistic RegressionNomogram
  • Подайте данные в Logistic Regression.
  • Откройте Nomogram и посмотрите, какие признаки заметно двигают оценку вероятности.
  • Не превращайте вклад признака в утверждение о причинности.
💭 Подумайте: чем фраза «этот признак повышает вероятность по модели» отличается от «этот признак вызывает покупку»?
06 · экзамен моделиTest & Score

Проверьте модель, а не её самооценку

Подключите Test & Score. Используйте Cross Validation и не оценивайте модель только на тех же данных, на которых она обучалась.

Что смотреть:
  • CA / Accuracy — доля правильных классификаций.
  • AUC — качество ранжирования по риску.
  • Precision, Recall, F1 — дополнительные взгляды на ошибки положительного класса.
⚠️ Главное: сравните Accuracy с простым baseline из шага 3. Насколько модель действительно лучше тупого правила «всем FALSE»?
07 · ошибкиConfusion Matrix + ROC Analysis

Откройте матрицу беспорядков

Одна красивая метрика не расскажет, кого именно модель путает.

Что сделать:
Test & ScoreConfusion Matrix+ROC Analysis
  • Найдите клетки правильных и ошибочных классификаций.
  • Определите, что означает False Positive и False Negative в истории покупки.
  • Посмотрите ROC/AUC и вспомните: AUC ≠ Accuracy.
💭 Бизнес-вопрос: представьте, что дорогой персональный консультант будет звонить только тем, кому модель предсказала покупку. Какая ошибка тратит ресурс консультанта зря? Какая ошибка означает, что потенциального покупателя не выбрали? Какая дороже — зависит от цели кампании.
08 · консилиумTree + Random Forest + kNN

Сравните модели честно

Добавьте ещё три алгоритма к тому же Test & Score. Все должны получать одни и те же данные и проверяться одним способом.

Добавьте:
Logistic RegressionTreeRandom ForestkNNTest & Score
  • Сравните AUC и другие метрики.
  • Не объявляйте победителя только по сотым долям AUC.
  • Для kNN вспомните про масштаб признаков и подумайте, нужна ли нормализация/подготовка.
🤔 Выбор аналитика: если одна модель чуть лучше по AUC, но логистическая регрессия заметно проще для объяснения бизнесу, что вы выберете? У ответа должна быть причина, а не культ третьего знака после запятой.
09 · босс-файтСтоп, проверяем!

Ответьте боссу про «85% Accuracy»

Вернитесь к исходному распределению Revenue и объясните, почему высокая Accuracy сама по себе здесь может звучать эффектнее, чем быть полезной.

В ответе должны появиться:
  • дисбаланс классов;
  • baseline «всегда предсказывать FALSE»;
  • AUC и Confusion Matrix как дополнительные способы проверки;
  • цена разных ошибок.
🏁 Финальная фраза: «Модель должна не только победить в таблице. Она должна быть полезна там, где её будут применять».

Что сдаём самому себе

Ничего загружать на сервер не нужно. Заполните четыре короткие заметки — они останутся только в вашем браузере.

Название модели + 1–2 причины: качество, объяснимость, ошибки, скорость или другие требования.
Какая ошибка встречалась заметнее и что она означает в истории магазина?
Почему нельзя сказать «Accuracy высокая — миссия выполнена»?
Какой ИИ/модель вы использовали, что именно попросили сделать, что в его решении показалось полезным, а что вы бы обязательно перепроверили сами?
🤖 ИИ — помощник, а не оракул
Можно попросить ИИ помочь сформулировать вывод или даже предложить полное решение, но сначала дайте ему ваши реальные результаты из Orange и заставьте проверить себя. Отдельно полезно спросить: какую модель он бы выбрал и почему.
Вот мои результаты из Orange: Accuracy = ..., AUC = ..., Precision = ..., Recall = ... . В Confusion Matrix: ... . Помоги объяснить их простыми словами. Не придумывай отсутствующие числа. Отдельно укажи, что нельзя заключить из этих метрик. А теперь представь, что ты решаешь задачу целиком как ИИ‑помощник. Какую модель ты бы выбрал, почему именно её, какие риски и ограничения ты бы обязательно отметил, и что из твоего ответа мне всё равно нужно перепроверить самому?

🏆 Завершение миссии

Чтобы задание засчиталось в прогресс недели 6, отметьте все 9 этапов и напишите четыре короткие рефлексии. После этого можно выпустить именной сертификат миссии.

0%
🛒🍊
Анализ данных в век ИИ · Неделя 6

Сертификат миссии

Операция «Потерянная корзина»
Аналитик данных

успешно завершил(а) практическую работу в Orange: исследовал(а) данные интернет-магазина, построил(а) логистическую регрессию, проверил(а) модель через Test & Score, AUC и Confusion Matrix и сравнил(а) несколько алгоритмов классификации.

🍊 Orange Data Mining📈 Logistic Regression🧩 Confusion Matrix🏁 AUC
Dr. Igor Kleiner