Прогнозирование Рекламного Трафика По Контенту



Введение Предсказуемая, но долгожданная смена времен года происходит прямо сейчас.

Многие наши друзья с нетерпением ждут начала летнего сезона и активно обновляют свой инвентарь.

Список очень необходимых вещей, которые необходимо приобрести, превышает все мыслимые бюджеты на десять лет вперед (ведь еще нужно предусмотреть аренду товарного поезда для доставки всего необходимого) и на помощь приходят онлайн-доски объявлений.

.

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

Их нет. В чем дело? Оказывается, взыскательного покупателя интересует не только то, что «газонокосилка в отличном состоянии», но и мощность двигателя, направление выброса травы, положение вала, время работы и т. д. Не будучи специалистом в садовом деле.

оборудование, как можно было все это предусмотреть? И вот вы начинаете просматривать другие объявления на подобную тему, проходит время и ваш дачный логист уже заказал баржу и два грузовых самолета для перевозки.

На примере одного из разделов доски объявлений мы рассмотрим построение прогнозной модели, которая поможет узнать, что именно люди хотели бы узнать из описания вашего предложения, а также даст очень приблизительную оценку количества кликов на ваше объявление.

Здесь я постарался описать всю картину, общую картину, но подробности доступны по ссылкам на код и данные в конце поста.

В статье сделаны следующие предположения:

  • Количество переходов обратно пропорционально времени продажи продукта.

  • Для остальных городов (статья касается только столицы) и категорий анализ можно провести по аналогии.



Описание набора данных

С помощью библиотеки Python urllib было получено 3879 записей с одного популярного сайта.

Категория - собаки, Москва.

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

Описание полей выбора:

  1. описание — полный текст объявления
  2. идентификатор - номер объявления на сайте
  3. num_counts — количество посещений объявления с момента начала его размещения
  4. цена - цена, за которую предлагается приобрести животное.

    Обычно волонтеры ставят 100 рублей.

    или вообще не указывайте цену

  5. Дата начала - дата размещения объявления
  6. заголовок — название объявления, как оно выглядит на первой странице
Первые 5 записей:

Прогнозирование рекламного трафика по контенту



Цель исследования

Разработайте модель прогнозирования зависимости количества просмотров в день от описания объявления и определите наиболее значимые слова для этой категории.



Предварительная обработка данных

Поле num_counts содержит количество кликов с момента начала публикации Дата начала .

Поскольку каждая запись имеет разное время публикации, необходимо количество посещений разделить на количество дней, прошедших с момента публикации до момента получения данных, таким образом мы получим приблизительную оценку количества посещений в день, которые мы спрогнозируем.

Модель «мешок слов» используется для анализа текста.

Итак, план:

  1. Стемминг для исключения употребления одного и того же слова в разных формах как разных признаков
  2. Поле «дата» содержит дату в строковой форме, поэтому ее необходимо преобразовать в формат, правильный с точки зрения анализа.

  3. Поле воспринимается как знак описание , поэтому текст необходимо перевести в представление набора слов и применить tf-idf. При этом из текста удаляются стоп-слова: предлоги, вспомогательные частицы и т.п.

  4. После нескольких безуспешных попыток восстановить регрессию между матрицей терминов документа и средним числом посетителей было принято решение разбить целевую переменную на интервалы (квартили) и рассмотреть задачу классификации (следовательно, tf-idf).

    Те.

    В результате модель спрогнозирует интервал, содержащий средний трафик для этого объявления.

    Преобразование в квартили производилось только на обучающем наборе, поэтому необходимо написать функцию, преобразующую и тестовый набор.

    Преобразовать всю выборку невозможно, так как тогда тестовые данные будут косвенно участвовать в обучении.

  5. Поле «цена» представляет цену за животное.

    Высокие цены являются показателем продажи породистого животного, но нас интересует некоммерческая деятельность, поэтому мы оставляем только те записи, по которым указана цена.

    < 500 rubles. or not specified

  6. Разделить на поезд\тест. Кроме того, обучение и выбор параметров с использованием сетки для перекрестной проверки будут проводиться на поезде, а итоговое качество будет проверяться на тестировании.

    Главный показатель – точность

После всех преобразований на выходе будет матрица терминов документа и целевая переменная.

среднее_количество , разбитый на квартили (я выбрал количество квартилей 5).



Разведочный анализ

Количество просмотров в день имеет степенное распределение, возможно этот раздел не популярен в принципе:

Прогнозирование рекламного трафика по контенту

Интересно посмотреть на диаграмму рассеяния между количеством слов и количеством просмотров:

Прогнозирование рекламного трафика по контенту

Видно, что более короткие объявления имеют больше посещений.

Здесь я бы предложил такое объяснение – длинные рекламные объявления потенциальному владельцу часто описывают модель общения между ним и питомцем, например:

Если вы любите домашний покой, то Ромуш спокойно ляжет у ваших ног и с радостью посмотрит с вами фильм, который вы непременно вместе обсудите за чашечкой горячего шоколада с сырниками.

И с ним вам будет очень уютно и тепло холодными вечерами.

Если у вас есть дети и ваш дом похож на «страну детских грез», то Ромус побежит впереди всех с криком «Банзай», тем самым забавляя малышей, которые просто визжат от восторга от своего нового друга!

Поскольку все люди разные, такая реклама может сразу отсеять людей, которые подают свое общение по-другому.

Не уверен, что это хорошо, так как модель общения – это крайне субъективный взгляд волонтера и человек теряет интерес к рекламе не потому, что собака ему не подходит, а по предвзятым причинам – примерил неправильная модель.

Вторая возможная причина – описание тяжелой жизни в приюте.

Нет сомнений, что жизнь там непростая, но среднестатистический человек, прочитав такой текст, может испытать сильнейший стресс и неосознанно попытаться забыть о нем как о травмирующем воспоминании (это моя субъективная гипотеза).



Базовая линия для модели

Целевая переменная была разделена на 5 интервалов (читай: классов): (13.599, 324] 454 [0.0888, 1.184] 454 (5.334, 13.599] 453 (2.436, 5.334] 453 (1.184, 2.436] 453 Те.

имеется 454 записи, где целевая переменная принимает значения из интервала (13,599, 324] и т. д. Если мы всегда прогнозируем по какому-то определенному интервалу, то количество правильных ответов будет примерно 0,2, это значение выбираем в качестве базового уровень, качество которого мы хотели улучшить.



Модель

После нескольких экспериментов я выбрал в качестве классификатора случайный лес.

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

Обучение занимает примерно 15-20 минут на Intel i7. Среднее качество при перекрестной проверке по метрике точности составило 0,386, что почти в два раза превышает прогноз с использованием постоянного значения.

На отложенной выборке, нигде ранее не участвовавшей, точность = 0,384. Из таблиц ниже видно, что классификатор лучше различает крайние значения (интервалы [0,0888, 1,184] и (13,599, 324)) и хуже соседние:

Прогнозирование рекламного трафика по контенту



Прогнозирование рекламного трафика по контенту

Возможно, качество модели можно было бы улучшить, если бы к тексту были добавлены фотографии.

Для извлечения признаков из фотографий можно попробовать использовать сверточные нейронные сети, например AlexNet.

Значение слов

Давайте посмотрим на топ-50 слов, которые оказываются важными при классификации:

Прогнозирование рекламного трафика по контенту

График не противоречит интуиции: людей интересует, сколько лет животному и какого он пола, ходит ли собака на поводке, подходит ли она больше для семьи или одиноких людей, как она ладит с другими домашними животными.

Можно сделать вывод, что это минимальная информация, которую следует включить в объявление.



Источники

Набор данных И ipython ноутбук

Заключение

Мы уже видели, что количество просмотров у раздела «животные в подарок» невелико, а у приютов оно даже ниже, чем у частных лиц.

Это может быть связано с недостаточной информированностью людей и различными предрассудками.

Позвольте мне привести вам несколько фактов:

  1. Рекламу размещают волонтеры, заинтересованные в том, чтобы обеспечить наилучшие условия для своего подопечного.

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

    Если у вас возникнут проблемы, вы можете вернуть животное обратно.

    Поэтому у волонтера нет желания плохо обращаться с больным питомцем.

    Если животное требует особого ухода, то такие вещи всегда обсуждаются заранее, и вы можете рассчитывать на всяческую (разумную) поддержку со стороны волонтера.

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

  3. В приюте много животных, которые были домашними животными, но потерялись, сбежали от хозяев во время автокатастрофы или какого-то другого происшествия или просто стали ненужными и неудобными.

    Те.

    это не дикие волки

  4. С каждым животным, которое вы видите в рекламе, хотя бы раз в неделю, а то и чаще, волонтеры проводят обучение – гуляют на поводке, обучают командам, таким образом происходит постоянный контакт с человеком.

  5. Вы тоже можете принять в этом участие
  6. В приютах тоже есть кошки
  7. В приютах есть собаки маленького и среднего размера.

Если вы когда-нибудь захотите завести себе домашнее животное, обязательно проверьте, смотрит ли на вас кто-то с фотографии здесь:

Благодарности

Данный анализ проводился в рамках итогового курсового проекта.

«Машинное обучение и интеллектуальный анализ данных» ДПО ВС?, огромное спасибо нашим преподавателям за терпение и труд, а также моему научному руководителю.

P.S. Пожалуйста, пишите мне о любых неточностях и опечатках! УПД.

Пользователь andraszsom внутри соревнования по кэгглу разместил анализ связи различных исходов жизни в приюте (эвтаназия, или животное было отдано на адаптацию в семью и т.п.

) от породы, возраста и других особенностей, связь .

Теги: #ipython #машинное обучение #машинное обучение

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.