Интернет-магазин хочет понять, какие сессии заканчиваются покупкой. Ваша задача — не найти «самую умную модель», а построить честную классификацию, посмотреть на вероятность, AUC и матрицу беспорядков и объяснить бизнесу, чему можно верить.
🛒
Сюжет миссии
Менеджер магазина заметил: тысячи посетителей ходят по страницам, читают товары, иногда возвращаются, иногда исчезают — и лишь часть сессий заканчивается покупкой. Он просит вас построить модель, которая оценивает вероятность Revenue = TRUE.
Босс уже приготовил ловушку: «Если Accuracy около 85%, значит модель великолепна!» В конце миссии вам придётся решить, можно ли так говорить.
📦 Данные миссии
Online Shoppers Purchasing Intention — набор сессий интернет-магазина из UCI Machine Learning Repository. Целевая переменная Revenue показывает, закончилась ли сессия покупкой.
Источник: C. Sakar & Y. Kastro, UCI Machine Learning Repository, DOI 10.24432/C5F88Q. Лицензия CC BY 4.0. Локальная копия CSV приложена к заданию, чтобы не зависеть от интернета во время практики.
Не собирайте схему как гирлянду. У каждого виджета ниже есть вопрос. Если вы не знаете, зачем он подключён, сначала сформулируйте вопрос, потом тяните провод.
Миссия по шагам
Отмечайте шаг только после того, как реально сделали его в Orange. Здесь нет автоматической проверки ваших метрик — аналитик должен смотреть на результаты сам.
01 · знакомствоFile + Data Table
Откройте данные и познакомьтесь с таблицей
Сначала — глазами. Никакой модели, пока вы не понимаете, что лежит в строках и столбцах.
Что сделать:
Откройте CSV в File.
Проверьте размер таблицы и наличие пропусков.
Откройте Data Table и просмотрите несколько реальных строк.
Убедитесь, что 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. Вы должны увидеть, что классы далеко не равны.
Что сделать:
Соедините данные с Distributions.
Посмотрите доли Revenue = FALSE и TRUE.
Не стройте пока модель. Сначала запишите для себя: какой класс доминирует?
😈 Ловушка босса: если всегда отвечать «покупки НЕ будет», какая Accuracy примерно получится уже без всякого машинного обучения? Не нажимайте калькулятор — оцените по графику.
04 · EDADistributions / Box Plot
Найдите признаки, которые хочется расследовать
Не ищите «правильную картинку». Ищите вопросы.
Что сделать:
Исследуйте несколько признаков, например PageValues, ExitRates, BounceRates, ProductRelated, ProductRelated_Duration, VisitorType, Month.
Если удобно, раскрасьте распределения по Revenue.
Выберите 2–3 признака, которые выглядят потенциально интересными для классификации.
🔎 Критическое мышление: признак PageValues кажется очень «близким к покупке». Задайте вопрос: в какой момент он доступен? Если бы бизнес хотел прогноз очень рано в сессии, все ли признаки были бы честно доступны в этот момент?
05 · модельLogistic Regression
Постройте логистическую регрессию
Теперь вопрос сформулирован: закончится ли сессия покупкой?
Что сделать:
Select Columns→Logistic Regression→Nomogram
Подайте данные в 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 & Score→Confusion Matrix+ROC Analysis
Найдите клетки правильных и ошибочных классификаций.
Определите, что означает False Positive и False Negative в истории покупки.
Посмотрите ROC/AUC и вспомните: AUC ≠ Accuracy.
💭 Бизнес-вопрос: представьте, что дорогой персональный консультант будет звонить только тем, кому модель предсказала покупку. Какая ошибка тратит ресурс консультанта зря? Какая ошибка означает, что потенциального покупателя не выбрали? Какая дороже — зависит от цели кампании.
08 · консилиумTree + Random Forest + kNN
Сравните модели честно
Добавьте ещё три алгоритма к тому же Test & Score. Все должны получать одни и те же данные и проверяться одним способом.
Не объявляйте победителя только по сотым долям 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