Ищем на Ави*о по-умному
Несколько слов в строке поиска
Когда Вы вводите в поисковой форме на Авито текст состоящий из нескольких слов, то сайт выдаст все объявления, в заголовке или описании которых содержатся оба этих слова. При этом, следует иметь ввиду, что например слово «кресло» для Авито не входит в состав слова «авто кресло». Если набрать в поиске на Авито «кресло Inglesina Marco Polo», то в результаты попадут объявления, где есть слово «кресло» (пример «Автомобильное кресло inglesina marco polo 0-18»), но не попадут объявления где «автокресло» написано слитно (пример «Автокресло Inglesina Marco Polo»).
К сожалению, одним запросом найти все автокресла, написанные разными способами не получится, так как в поиске на Авито не работает логика ИЛИ, т.е. найти все объявления в которых содержится хотя бы одно из заданных слов. Придется искать несколькими запросами, либо если это часто нужно, использовать возможности нашего сервиса Glisa. У нас можно задать ссылку на нужные объявления и выставить поисковые фразы с логикой ИЛИ. Система будет регулярно проверять Авито и присылать уведомления о новых объявлениях в которых встречается хотя бы одно из указанных слов. Например, с автокреслом. Они встречаются в категории «Детские коляски». Можно поставить ссылку на эту категорию https://www.avito.ru/moskva/tovary_dlya_detey_i_igrushki/detskie_kolyaski на отслеживание в Глису, задав слова в настройках ссылки «автокресл|авто-кресл|авто кресл». Система будет присылать только оповещения только с объявлениями в заголовке которых встречается одно из этих слов.
Слова исключения на Авито
Если Вам нужно исключить из выдачи какие-то объявления, то на Авито можно задать слова-исключения. Для этого перед словом нужно поставить знак минус.
Можно задать достаточно большее количество минус-слов, при этом для слов-исключений также действует логика ИЛИ, т.е. объявление не будет выдаваться, если в его названии или описании присутствует хотя бы одно из этих слов.
Пример запроса: «кресло -компьютерное -мебель -коляска -качалка -кровать».
Цена во всех категориях
В веб-версии Авито во многих категориях отсутствует возможность задать фильтр по цене. На самом деле это возможно. Один из вариантов как это сделать — переключиться в мобильную версию, а потом можно вернуться обратно. Для этого нужно заменить в адресе www.avito.ru на m.avito.ru и там задать фильтр по цене. С помощью обратной манипуляции можно вернуться обратно в веб-версию — в адресе добавятся необходимые параметры.
Например, в категории услуги в обычной версии нет фильтра по цене. Но с помощью данной хитрости он появится и строка запроса станет такой https://www.avito.ru/ufa/uslugi?pmax=300&pmin=0
Искать только в названиях
В мобильном приложении Авито к сожалению нет возможности установить опцию искать только в названиях. Остается только переключиться на мобильную версию, m.avito.ru. Там есть эта опция. Да и пользоваться мобильной версией удобно также как и приложением.
как сделать самый навязчивый формат не таким раздражающим / Хабр
Привет! Меня зовут Юля Трусова, я старший UX-редактор в Авито. В этой статье я расскажу о мобильных пушах: какого тона мы придерживаемся, как работаем с техническими ограничениями и о чём думаем, чтобы текст звучал складно.
Может показаться, что пуши — это очень простой формат, ведь написать пару строк несложно. Но их особенность в том, что это очень личный и достаточно агрессивный формат коммуникации: вызвать раздражение пользователей проще простого. Кроме того, приходится учитывать множество деталей и систематизировать знания внутри команды.
Статья будет полезна редакторам, копирайтерам, маркетологам и CRM-специалистам. Некоторые советы применимы и к другим каналам коммуникации, например письмам.
Это командная работа
Редакторы пишут тексты и думают о логике, но описанные в статье решения возможны только благодаря нашим прекрасным CRM-специалистам. Они придумывают идеи рассылок, достают любые цифры и настраивают самые сложные переменные.
А ещё делятся результатами экспериментов и с пониманием относятся к просьбам предусмотреть всякие тонкости вроде склонений или висячих предлогов.
Зачем пуши пользователям
Понятно, в чём их польза для компании. С помощью пушей мы возвращаем людей в приложение, растим метрики и увеличиваем выручку. Но если не построить долгосрочные отношения с аудиторией, пользователи будут возвращаться на Авито менее охотно.
Узнать о чём-то важном
Пуши помогают пользователю вовремя прочитать сообщение покупателя в чате или узнать о снятии объявления с публикации.
Воспользоваться новой функцией
Сообщаем об изменениях, которые полезны пользователям. К примеру, пуш о черновиках получат те, кто размещает много объявлений. А пуш о доставке для бизнеса — компании, которые предлагают подходящие для отправки товары.
Узнать о скидках или получить подсказку
Маркетинговыми пушами вызвать раздражение проще простого. В них мы не отходим от правил, которые касаются любых других пушей: подсвечиваем пользу и не шлём всем подряд.
О скидках на размещения узнают пользователи, которые регулярно публикуют платные объявления. Рассылку о приставках получат только те, кто их искал.
Найти интересное
В пушах с рекомендациями предложения подбираются исходя из действий пользователя: поисков, просмотров и добавлений в избранное.
Мы можем сообщить то, о чём пользователь не узнал бы самостоятельно. Например, о снижении цены в объявлениях, похожих на те, что он искал.
В первом пуше речь идёт об объявлении в избранном, во втором рекомендуем похожее на просмотренноеВсё начинается с хорошего брифа
При создании задачи в Джире появляются обязательные поля. Поэтому маркетологам, продактам и CRM-специалистам приходится заполнять подробный бриф.
Так выглядит часть брифа на рассылку — полей в нём значительно большеВся эта информация пригодится редактору в работе над текстом. Если чего-то не хватает, мы идём выяснять подробности у заказчиков рассылки.
Цель
Надо понимать, к чему должна привести рассылка: увеличению количества размещённых объявлений, росту числа контактов с продавцами или переходов на лендинг. Это поможет правильно расставить акценты в тексте и выбрать страницу, на которую поведёт пуш. Иногда посадочная уже есть в брифе, но её может предложить редактор.
Аудитория
Она должна быть описана достаточно подробно. Это могут быть частные пользователи или компании, те, кто смотрел объявления совсем недавно или год назад. Мы можем учесть, как много предложений они размещают и в каких категориях, какие тарифы подключают и какой у получателей рейтинг.
Частота
Некоторые наши пуши — триггерные. Это значит, что пользователь будет получать их каждый раз после совершения какого-то действия. Если планируем отправлять пуш более-менее часто, стоит написать несколько вариантов текста, иначе мы примелькаемся и наскучим.
Сроки
Наши задачи привязаны к запускам продуктов, рекламным кампаниям и спринтам CRM-специалистов. Поэтому важно сразу прояснить дедлайны, чтобы никого не подвести.
А ещё редакторы могут предлагать изменения, если замечают нелогичности. К примеру, в одной из задач планировалось рассылать пуш о вакансиях рядом с домом. В описании было сказано, что в выдаче пользователи увидят объявления в радиусе 10 км.
Редактор прикинул, что для небольших городов вроде Кирова это слишком много, и предложил сделать два варианта пуша. В итоге пользователям из Москвы и Санкт-Петербурга мы советовали вакансии до 5 км от их локации, всем остальным — до 1 км.
Писать «рядом с домом» про 5 километров было бы чересчур смелоПогружённость в продукт
У каждого редактора в нашей команде есть своя зона ответственности. Один и тот же человек сначала работает над интерфейсом фичи, а затем пишет лендинг о ней и готовит рассылки.
Это помогает нам хорошо понимать работу сервиса, знать особенности аудитории и предлагать идеи. Задача может звучать так: «Вернуть в приложение тех, кто сделал поиск, но не посмотрел ни одного объявления». Надо уметь придумывать способы достижения цели.
Я пишу рассылки Авито Недвижимости. Мы проводим две встречи в неделю с CRM-специалистами, маркетологами и аналитиками, на которых планируем задачи и обсуждаем варианты реализации.
Редакторов могут звать на брейнштормы, на которых планируются рассылки на квартал.
Одна из идей на брейншторме по краткосрочной аренде жилья, которая превратилась в реальный пушПравила хорошего тона
Без агрессивной подачи
Наши пуши должны звучать как дружеские советы, а не крики зазывал у метро. Мы ограничиваем количество эмодзи и не используем неестественно эмоциональные, ни в коем случае не прибегаем к капслоку и избегаем восклицательных знаков.
Пуши некоторых компаний выглядят так. Только крепкие духом их не отключатНе лезем в жизнь людей
Мы можем посоветовать разместить объявление из архива или связаться с продавцом, но не будем вторгаться с неуместными советами. К примеру, не станем советовать переехать или торопить с покупкой квартиры.
Купить квартиру непросто, такой пуш звучит грубоСреди получателей пуша могут оказаться люди, которые действительно собираются купить квартиру, и те, кто зашёл просто посмотреть. Учесть интересы большинства помогают спасительные «если» и «возможно».
Аккуратнее с шутками
Аудитория Авито очень широкая: один и тот же пуш может получить и школьник, и пенсионер. Нельзя гарантировать, что шутку поймут все.
Речь идёт о меме про борщевик, который пошёл из ТикТока. Но он настолько малоизвестный, что отсылку поймут единицыНе донимаем
Для каждого пуша CRM-специалисты настраивают кулдаун — это срок, чаще которого пользователь не получит его повторно. Есть и глобальный кулдаун, который ограничивает общее количество пушей, приходящих от Авито.
Срок выбирается экспертно. При планировании рассылки специалист прикидывает, как часто можно её отправлять, чтобы не надоесть получателям.
Ещё только середина дня, а уже пришло три пушаЭто правило стало особенно актуальным после выхода iOS 15. Теперь пользователи могут заглушить уведомления от приложения или совсем их выключить, просто смахнув пуш влево.
Переменные — это классно
За что мы их любим
Переменные решают сразу много задач. Можно сделать пуш персональным и добавить в него заботы, сразу рассказав, что случилось.
Цифры
С ними сообщения получаются более убедительными. Например, это может быть наша внутренняя статистика.
Переменные показывают, что спрос увеличился именно там, где человек что-то искалЧасто мы подставляем количество просмотров, добавлений в избранное или цены.
Когда мы убеждаем людей цифрами, надо проверить, что любые значения поддерживают нашу мысль. Этот пуш будет выглядеть жалко, если туда попадёт маленькое число:
Одно из возможных решений — не присылать пуш, если не набралось хотя бы 50 просмотровЧтобы пуши звучали естественно, не забываем об окончаниях:
Категории
На Авито есть много всего — квартиры и офисы, автомобили и моторные лодки, вакансии и резюме, а ещё исполнители услуг, самые разные товары и животные. При подготовке рассылок нужно учитывать всё это разнообразие.
Иногда мы пишем для категорий разные варианты текста.
В этих пушах добавили эмодзики для быстрого узнаванияНазвания объявлений
У пользователя могут быть десятки или сотни объявлений. Названия помогают понять, по какому поводу мы его беспокоим. В большинстве категорий люди сами пишут названия, поэтому очень выручают родовые слова и кавычки. В каком-то смысле они снимают с редактора ответственность за то, как пользователи формулируют названия.
Этот пуш ещё и универсален: в него органично впишется любое название объявленияУ нас есть нехитрый приём, который мы используем при подстановке названий объявлений. Можно обрезать их, чтобы сделать пуши более компактными и быть уверенными, что текст уместится в лимит символов. Главное — следить, чтобы не пострадала информативность.
Вариант снизу прочитать проще. Пользователь поймёт, о чём речь, потому что смотрел объявление и даже его сохранилНаселённые пункты
Статистика по всей России может ничего не сказать пользователю, поэтому лучше подставлять цифры для каждого региона отдельно.
Имена пользователей
Люди придумывают их сами. Это могут быть настоящее имя, название компании, «частное лицо» или даже точка. Нужно учитывать все эти варианты.
Со словом «пользователь» звучит немного лучшеГруппируем
Если что-то произошло сразу с несколькими объявлениями, мы не станем присылать отдельные пуши о каждом — можно их объединить.
В рекомендации может попасть одно объявление или несколько десятковКак всё учесть
Посмотрите, какие переменные есть в вашем продукте. Это могут быть названия товаров, имена пользователей, города, цены и что угодно ещё. Попробуйте подставить в пуш разные значения — сразу станут видны все шероховатости.
Эмодзи
Мы их любим, но пользуемся в меру. Одного или двух эмодзи в пуше будет достаточно. Лучше обойтись совсем без них, если повод для пуша нерадостный: например, объявление заблокировали.
Есть эмодзи, которые мы не используем никогда. Они чересчур эмоциональные, причём эмоции в них не соответствуют сообщению — человек точно не реагирует так на пятое за день сообщение о скидке.
Недавно вышедшие эмодзи могут не отображаться на устройствах пользователей, которые не обновили систему. Мы узнали об этом, пару раз облажавшись, поэтому теперь используем только те, что появились раньше 2019 года. Проверить дату можно в Эмодзипедии.
Здесь планировался эмодзик с окном 2020 года выпускаТипографика
Вы уже поняли, что мы дотошные ребята. Также мы следим за тем, чтобы в пушах соблюдались базовые правила типографики.
«…» | Любим кавычки «ёлочки». Чтобы всегда иметь их под рукой, поставьте раскладку Бирмана. |
— | Не путаем тире с дефисами. |
₽ | Используем знак рубля — в пушах нет проблем с его отображением. |
| В пушах можно ставить неразрывные пробелы. |
Обязательно смотрим, что получилось
Нужно проверить, как будет выглядеть реальный пуш, чтобы всякие недоразумения не испортили общее впечатление. Для этого наши CRM-специалисты тестируют пуши с разными значениями, а затем загружают скриншоты в задачу в Джире или присылают тестовые пуши на наши устройства.
При настройке этого пуша разработчик перепутал заголовок и тело. На тесте ошибку отловилиУчитываем особенности устройств
Мы отправляем одни и те же пуши пользователям Android и iOS, поэтому тексты должны учитывать особенности обеих платформ.
С Android, которым пользуется больше ⅔ нашей мобильной аудитории, сейчас нет проблем. На заблокированном экране видно первую строчку, но можно прочитать текст целиком, тапнув по пушу.
Пример пуша на АндроидеНа iOS начались сложности с выходом 15-й версии: на устройствах с небольшим экраном в заголовке стало очень тесно. Наш лимит символов резко сократился с 32 до 20.
Следите за новостями платформ и обязательно пробуйте отправлять пуши на собственные устройства — желательно использовать разные. Иначе косяков не избежать:
Промокод попал за границы пушаТестируем
CRM-специалисты проводят A/B-тесты, чтобы оценивать эффективность рассылок. Мы смотрим, влияют ли они на важные для нас метрики — просмотры объявлений, контакты с продавцами и другие. Остаются только те пуши, что хорошо себя показали.
Также мы смотрим, как много пользователей переходят по пушам. Иногда можем протестировать несколько вариантов текста, но это получается не всегда — для статистически значимых результатов нужно набрать определённое количество аудитории. С несколькими вариантами текста тест будет длиться дольше.
Наш опыт показывает, что трудно сделать какие-то общие выводы: в некоторых случаях более эффективными оказались информативные тексты, в других — игровые.
По второму пушу переходили чащеБывает, что один из вариантов пушей чаще открывают, но второй приводит к большему количеству целевых действий: контактов с продавцами, покупок услуг. Мы можем оставлять лучшие пуши в каждой конкретной рассылке — это помогает растить общую эффективность.
Как мы обмениваемся опытом
В нашей команде уже 14 человек, с 2018 года мы закрыли больше 500 задач на пуши — некоторые из них отправляются, другие остались в истории. Чтобы следить за общей картиной и учитывать опыт всех редакторов, у нас есть несколько способов.
Поиск по папкам
Мы открыли друг другу доступ к папкам на Google Диске, чтобы было удобно искать тексты по ключевым словам. В документах есть ссылки на задачи в Джире — можно почитать обсуждения, найти связанные задачи.
Быстрее, чем искать по тегам в ДжиреДжира
Стараемся переносить все обсуждения в неё, чтобы любой сотрудник мог посмотреть, как мы пришли к таким решениям. Оставляем в Джире ссылки на документы с текстами, а в документах — ссылку на Джиру.
Так задачу будет проще найти при поиске в Google ДискеА ещё есть теги, которые облегчают поиск по задачам. К примеру, можно выбрать #пуш и #новостройки, чтобы найти все подходящие.
Карты коммуникаций
Их ведут наши CRM-специалисты. По карте можно проследить, какое событие становится поводом отправить пуш и какой у него текст, посмотреть метрики. Можно узнать, какие пуши уже ходят, чтобы не повторяться.
Всё очень наглядноВ результате мы можем использовать тексты редакторов, которые писали пуши для других категорий, немного их адаптировав. О самых интересных случаях мы рассказываем на синках — они проходят раз в 2 недели. Когда другой редактор будет делать похожую рассылку, он учтёт предыдущий опыт.
Систематизация спасает редактора от забывчивости. Не всегда удаётся вспомнить, что ты писал пару лет назад, поэтому полезно иметь все тексты под рукой.
Не такая уж редкая ситуация, когда написал сотню пушейКратко
Приносим пользу. Даже в сообщении о маркетинговой акции может быть забота, если оно отправлено заинтересованной аудитории, а текст учитывает её потребности.
Уважаем людей. Общаемся с ними спокойным тоном и присылаем уведомления не слишком часто, чтобы не надоесть.
Подставляем переменные. Они показывают пользователю, что это не массовая рассылка, а персональное сообщение для него. Нужно учесть много тонкостей, но эффективность пуша будет выше.
Считаем цифры. Иногда это требует вовлечения аналитиков, но текст получится более убедительным.
Тестируем пуши. Это позволит оставить только эффективные рассылки и не завалить пользователей бесполезными сообщениями. А ещё полезно сравнить разные варианты текстов и выбрать лучший по метрикам.
Обмениваемся опытом. Опыт других редакторов очень ценен — можно заметно экономить время и не ходить по одним и тем же граблям.
А теперь — вакансии
Пушей мы пишем не так много, как интерфейсов, лендингов и других продуктовых текстов. Сейчас я ищу подкрепление — UX-редакторов в команду Недвижимости.
Есть вакансии ещё для двух редакторов: один будет заниматься инструментами для авторов объявлений, другой — монетизационными механиками. Подробности — в описании.
Задача прогнозирования спроса Avito — Kaggle — Сквозная реализация. | by Zishaan Khan
В электронной коммерции сочетание крошечных нюансов продукта может привести к существенному повышению интереса пользователя к покупке. Следующие детали, упомянутые ниже, могут иметь большое значение для развития интереса, если пользователь взглянул на продукт.
Итак, приведенные выше несколько примеров показывают, как один продавец может оптимизировать листинг продукта на веб-сайте электронной коммерции. Но что происходит, даже если продавец имеет полностью оптимизированный список своего продукта и не получает никакого количества продаж. Это приводит к проблеме анализа спроса на продукт, который продавец хочет продать. Это так важно, потому что если продавец вкладывает деньги в рекламу, а люди не посещают его товар или даже после посещения не заинтересованы в покупке товара, это явно объясняет какую-то проблему в товаре продавца.
Такие компании, как Amazon или Flipkart, тратят миллионы на рекламу, и если спрос на продукты не существует, это приводит к огромным потерям для компании или даже продавца, который перерасходует свои собственные деньги на рекламу своего продукта, если спрос на его продукт не существует. просто разочарование продавца может привести к большим проблемам в бизнесе.
В апреле 2018 года Avito запустил в Kaggle конкурс, основанный на предсказании спроса на тот или иной товар. Avito — российский сайт объявлений с разделами, посвященными продаже товаров общего назначения, работе, недвижимости, знакомствам, продаже автомобилей и услугам. Avito — самый популярный сайт объявлений в России и второй по величине сайт объявлений в мире после Craigslist. [Источник: Википедия].
Набор данных был создан командой Avito, в котором набор данных имеет различные категориальные характеристики, такие как идентификатор рекламы, заголовок рекламы, описание рекламы, изображение рекламы, item_id, user_id и т. д., а также Deal_Probability в качестве целевой переменной. Здесь вероятность сделки — это непрерывная переменная, которая находится в диапазоне от 0 до 1. Нули указывают наименьшую вероятность того, что предмет будет куплен, а 1 — наибольшую вероятность того, что предмет будет куплен. Итак, эта проблема — проблема регрессии в машинном обучении.
1. Что такое прогнозирование спроса.
2. Почему важно прогнозирование спроса.
3. Набор данных Kaggle и его показатели производительности
4. Простой исследовательский анализ данных
5. Предварительная обработка данных
6. Разработка функций
7. Изучение наших моделей машинного обучения
9002 9.0 Лучшая модель оценки Развертывание на виртуальной машине — (в процессе)10. Итоги и будущие работы
11. Ссылки
Что такое прогнозирование спроса? Прогнозирование спроса — это процесс оценки будущего потребительского спроса за определенный период с использованием исторических данных и другой информации.
Надлежащее прогнозирование спроса дает предприятиям ценную информацию об их потенциале на текущем рынке и других рынках, чтобы менеджеры могли принимать обоснованные решения о ценообразовании, стратегиях роста бизнеса и рыночном потенциале.
Без прогнозирования спроса предприятия рискуют принять неверные решения в отношении своей продукции и целевых рынков, а неосведомленные решения могут иметь далеко идущие негативные последствия для затрат на хранение запасов, удовлетворенности клиентов, управления цепочками поставок и прибыльности.
Почему важно прогнозирование спроса?
Существует ряд причин, по которым прогнозирование спроса является важным процессом для бизнеса:
- Прогнозирование продаж помогает в бизнес-планировании, составлении бюджета и постановке целей. Когда у вас будет хорошее представление о том, как могут выглядеть ваши будущие продажи, вы можете приступить к разработке обоснованной стратегии закупок, чтобы убедиться, что ваши поставки соответствуют спросу клиентов.
- Это позволяет предприятиям более эффективно оптимизировать запасы, увеличить оборачиваемость запасов и снизить затраты на хранение.
- Он дает представление о предстоящем движении денежных средств, что означает, что предприятия могут более точно планировать расходы на оплату поставщиков и другие операционные расходы, а также инвестировать в развитие бизнеса.
- С помощью прогнозирования продаж вы также можете заблаговременно выявлять и устранять любые перегибы в конвейере продаж, чтобы обеспечить стабильную эффективность вашего бизнеса в течение всего периода. Когда дело доходит до управления запасами, большинство владельцев бизнеса электронной коммерции слишком хорошо знают, что слишком мало или слишком много запасов может нанести ущерб операциям.
- Предвидеть спрос означает знать, когда увеличить персонал и другие ресурсы, чтобы обеспечить бесперебойную работу в периоды пиковой нагрузки.
3. Понимание набора данных Kaggle и показателей его производительности.

Набор данных был большим, я сталкивался с различными проблемами при обработке больших данных, так как у меня меньше вычислительного устройства. Ядра Kaggle недостаточно для тех, кто планирует выполнять все операции на ядре Kaggle. Набор данных, предоставленный командой Avito, содержит все, изображения, текст, категориальные и непрерывные переменные. Давайте посмотрим на CSV-файл поезда.
-
item_id
— Идентификатор конкретного объявления. -
user_id
— Идентификатор пользователя -
регион
— Объявления относятся к региону. -
город
— Объявление принадлежит городу. -
parent_category_name
— Категория объявлений верхнего уровня согласно рекламной модели Авито. -
category_name
— Мелкозернистая категория объявлений по рекламной модели Авито. -
param_1
— Необязательный параметр из рекламной модели Авито. -
param_2
— Необязательный параметр из рекламной модели Авито. -
param_3
— Необязательный параметр из рекламной модели Авито. -
заголовок
— Заголовок объявления. -
описание
— Описание объявления. -
цена
— Цена объявления. -
item_seq_number
— Порядковый номер объявления для пользователя. -
activation_date
— Дата размещения объявления. -
user_type
— Тип пользователя. -
изображение
— Идентификационный код изображения. Привязывается к jpg-файлу в train_jpg. Не каждое объявление имеет изображение. -
image_top_1
— Классификационный код изображения на Авито. -
Deal_Probability
— Целевая переменная. Это вероятность того, что реклама действительно что-то продала. Невозможно точно проверить каждую транзакцию, поэтому значение этого столбца может быть любым числом с плавающей запятой от нуля до единицы.
4.

Давайте изучим данные, проанализировав их.
4.1. Изучение отсутствующих значений данных.
Давайте проверим процент отсутствующих точек данных, присутствующих в нашем наборе данных для обучения и тестирования.
Наблюдения :
Существует много NA для необязательных параметров — пользователи обычно игнорируют ввод необязательных параметров. Изображение — NA означает отсутствие изображения для объявления, как описано в разделе данных, который — «Не в каждом объявлении есть изображение». Цена — какой-то пользователь не ввел цену.
4.2 Анализ вероятности сделки
Диаграмма рассеяния для распределения вероятности сделки Около 65% (1000000/1503424 = 0,66) объявлений имеют нулевую вероятность сделки. Ясно, что около 100 тыс. объявлений ничего не продали. Немногие объявления имеют вероятность 1, а остальные находятся в диапазоне от 0 до 1. Объявления
В раздачах по регионам с рекламой видно, что в одних регионах рекламы больше, чем в других, возможно, эти города популярны в России.
Блочная диаграмма вероятности сделки относительно регионыПриведенная выше диаграмма показывает, что некоторые регионы имеют незначительные преимущества по показателю вероятности.
4.4 Распределение рекламы по городам:
Топ 25 городов по распространению рекламы, лучшие города – хорошие города России.
Топ-25 городов Распространение рекламы4,5 Распределение рекламы по названию родительской категории
Распределение рекламы по названию родительской категорииРодительская категория «Личные вещи» преобладает в наборе данных.
Блок-диаграмма вероятности сделки относительно названия родительской категорииУ родительской категории «Услуги» вероятность сделки выше, чем у других.
4.6. Название категории Разумное распределение рекламы
Распределение рекламы по названию категории Распределение рекламы ясно показывает преобладание двух категорий над другой категорией. Эти категории: одежда, обувь, аксессуары, детская одежда и обувь.
Блочная диаграмма показывает, что некоторые категории имеют большую вероятность сделки, чем другие.
4.7 Тип пользователя Разумное распространение рекламы:
Распределение рекламы по типу пользователяСуществует только три типа и набор данных с более частным пользователем, за которым следует компания и магазин.
Box График вероятности сделки по типу пользователяВероятность сделки с частным пользователем лучше всех.
4.8 Распределение цен на рекламу.
График распределения цен на бревнаЖурнал цен показывает не полностью гауссовское распределение. Когда мы делаем логарифм цен, мы можем проанализировать, что его максимальное значение лежит в диапазоне от 5 до 15.
4.9. Длина слова в заголовке объявления:
Длина слова распределение заголовка Максимальное количество слов в заголовке от 1 до 6.
4.10. Анализ дат активации:
Даты различаются для обучающих и тестовых наборов. В данном наборе данных есть данные для обучения с 15 по 28 марта и для тестирования с 12 по 18 апреля 2017 года. Между данными для обучения и тестирования имеется разрыв в две недели.
5. Предварительная обработка данных
Предварительная обработка данных для любого набора данных — довольно сложная задача, потому что вы хотите обработать отсутствующее значение и очистить данные для подачи в модель машинного обучения. Если мы вводим значения NaN, мы должны позаботиться о связи между отсутствующими значениями и нашей целевой переменной, которая здесь является вероятностью сделки.
5.1 Обработка отсутствующих значений
Цена: Для цены отсутствует 85632 значения, что составляет примерно 5,6 % в сравнении. Я использовал здравый смысл и подход, чтобы заменить это значение этими отсутствующими значениями со средним значением его категории.
Изображение: Для изображений, отсутствующих в наборе данных, изначально я думал просто ничего не вменять, но я руководствуюсь здравым смыслом и вменяю изображение в отношении режима этого конкретного изображения родительской категории.
Для остальных функций , поскольку пропущенных значений много, я заменяю значения NaN строкой «отсутствует», чтобы это было действием в качестве новой категории.
5.2. Очистка текста:
Очистка текста и описания путем понижения текста и знаков препинания.
5.3. Изображения в массив:
Я преобразовал изображения в массив с помощью cv2, а затем изменил его размер до 128 x 128, поскольку у меня не так много памяти, чтобы справиться с этой проблемой, я сохраняю размерность низкой.
6. Разработка функций:
Создание новых функций может оказаться сложной задачей. Лучший способ получить преимущество в этом — погрузиться в предметную область и поискать исследовательские работы, блоги, статьи и т. д. Ядра Kaggle в связанных доменах также являются хорошим способом найти информацию об интересных функциях.
Мы реализовали несколько простых и проверили работоспособность модели.
Вот краткий обзор функций:
6.1. По регионам Минимальные, максимальные, средние и медианные цены:
Агрегация цен по регионам.
6.2. По городу Минимальные, максимальные, средние и медианные цены:
Агрегация цен по городу
6.3. Название родительской категории Мин., макс., среднее и медианное цены: Агрегация цен, группирующих родительскую категорию.
6.4. Название категории Мин., Макс., Среднее и Медиана Цены:
Агрегация групп цен Название категории.
6.5. Регион и город Минимальные, максимальные, средние и медианные цены:
Агрегация цен по регионам и городам.
6.6. Тип пользователя и родительская категория с учетом минимальных, максимальных, средних и медианных цен: Агрегация цен, группирующих тип пользователя и название родительской категории.
6.7. Тип пользователя и название категории с учетом Мин., Макс., Среднее и Медиана Цены: Агрегация цен по типу пользователя и названию категории.
6.8. Длина слов в заголовке и описании.
6.9. В заголовке и описании учитываются специальные символы, такие как ↓, ✔, ❀, ஜ, ! и т.д.
6.9. Предварительно обученные векторы слов FastText встраиваются в заголовок.
6.10. Встраивание предварительно обученных векторов слов FastText для описания.
6.11. Категориальная характеристика :
Я решил использовать слой встраивания в глубокой нейронной сети, поэтому я создаю пользовательскую функцию с токенизатором Keras для кодирования всех категориальных функций. Категориальные функции включают user_type, город, регион, parent_category_name, category_name, param_1, param_2, param_3, image_top_1.
- Примечание:
Для части развертывания я собираюсь отказаться от функции агрегирования, причина в том, что мои тестовые данные также имеют распределение, благодаря которому мы можем агрегировать функции и наши значения.Но для развертывания я собираюсь вставить одну точку данных в свою модель, чтобы агрегация невозможна. Даже здесь, если мы возьмем реальный сценарий, если мы предопределили наши значения агрегации здесь, мы можем иметь или не иметь новое категориальное значение. Вот почему я подумал зайти сюда.
7. Изучение наших моделей машинного обучения:
Для создания моей первой базовой модели я использовал различные подходы высшего ранга, и общим в их подходах является то, что большинство из них использует методы Boosting Ensemble. Они собрали различные ансамбли, некоторые из них рассчитаны даже на 30 базовых моделей. А вот обладатель первого ранга делится своими подходами к глубокому обучению, что весьма интересно и вдохновляюще. Поэтому я решил двигаться вперед с подходом глубокого обучения, поскольку моя основная цель не в том, чтобы победить тройку лучших в Kaggle, я подхожу к этой проблеме как к реальному бизнес-решению.
7.1. Первая базовая модель:
Итак, в моей первой базовой модели я использовал LSTM для обеих своих текстовых функций: заголовка и описания. Здесь используется слой встраивания и инициализируется предварительно обученными весами из русского языка FastText. Категориальная и другая инженерная функция отправляется на какой-то плотный слой, затем все объединяется и переходит на несколько плотных слоев.
Все функции активации здесь «RELU», а веса инициализируются с помощью He_Normal(). Используемый здесь LSTM также имеет recurrent_dropout, который равен 0,3. Здесь наша модель кажется немного подогнанной, я не сильно регулировал только один пакетную нормализацию и один слой отсева. Поскольку это наш первый подход к сокращению, наша модель выполняет достойную роль с частной оценкой 0,24619.и публичный балл 0,24175.
Первая базовая модель Поток7.2 Добавление GRU и встраивание в базовую модель:
Как мы видели, мы получили приличный результат для начала, я начал с LSTM для текстовых данных. Одна вещь, которую я заметил, это то, что потери не уменьшаются при 0,23, поскольку они могут найти свои глобальные минимумы. Поэтому я попытался сначала изменить LSTM на GRU и повторно запустить обучение, это помогает нашей модели уменьшить потери с 0,23 до 0,227. Итак, я продолжал импровизировать модель, добавляя слой внедрения к каждому из категориальных данных, поскольку категориальные данные здесь очень важны.
Эта модель вдохновлена танцем первого победителя с ансамблями. Ключевое отличие от моей предыдущей модели заключается в том, что я никогда не добавлял изображения в свою модель, в этой модели я экспериментировал с VGG16, Inception и InceptionResNetV2 для трансферного обучения, в котором InceptionResnetV2 работает лучше, чем VGG16 и Inception. После вывода базового уровня из InceptionResNetV2 я экспериментировал со слоем свертки, затем с максимальным пулом, а затем с плотным слоем, что повышает производительность модели трансферного обучения.
Я использовал однослойный GRU для текстовой функции и пытался сделать мою модель слабой, так как иногда модель получает переобучение. За всеми плотными слоями последовали пакетная нормализация и выпадение, чтобы упорядочить мою модель.
Эта модель лучше, чем две предыдущие модели. Вот одна вещь, которой я хочу поделиться со всеми вами, это то, что, поскольку этот набор данных большой, у меня нет таких ресурсов, чтобы работать со всеми наборами данных вместе с изображениями. Итак, здесь я экспериментировал только с 50 тысячами точек данных, исходный набор данных содержит 1,5 миллиона точек данных. Недостаток использования меньшего количества точек данных приводит к переобучению модели, я пробовал несколько способов упорядочить модель, но ничего не работает. Вышеупомянутые две модели, которые были обучены с полным набором данных, идеально подходят для моего набора данных перекрестной проверки. Модель не может изучить все распределение.
Очки за отправку Kaggle:
9. Развертывание на виртуальной машине:
Я использовал потоковый API с открытым исходным кодом для развертывания моей модели на моем локальном компьютере, вы должны написать все коды на python Без HTML, CSS или JavaScript , это весело па! Вы можете проверить видео ниже.
10. Резюме и будущие аспекты:
Этот проект довольно интересный, все типы данных для решения проблемы. Подводя итог этому проекту, мы построили хорошую модель с самого начала, первая модель способна дать правильное направление для движения вперед. Дальнейшее использование слоя GRU и Embedding увеличивает производительность модели. После этого изображение дает более важную информацию о нашей модели, которая помогает достичь хорошего результата. Я обучил модель до 75000 точек данных вместе с изображениями, в будущем я попытаюсь обучить свою модель целыми точками данных.
Все коды доступны в моем профиле Github. Вы можете получить к ним доступ, нажав здесь.
Если вам нравится этот блог, не стесняйтесь спрашивать или предлагать мне что-либо через LinkedIn. Пожалуйста, подключите меня на Linkedin!
Спасибо, что читаете мой блог!! Желаю отличного дня. 🙂
Референции:
- Решение 1-го места: «Танец с ансамблем»
- Блог Кун-Сян — решение 18-го ранга.
- 3. Блог Сешин Ли:
- 13-е место — Webber
- 3-е место — Team SuperAnova .
- Решение 4-го места — Team Wave на дистанции вверху.
- Особая благодарность Applied Roots и их наставникам.
Написание хорошего заголовка и описания
Главная > Помощь >Комиссионные сборы с продавца >Создание эффективных объявлений >Написание хорошего заголовка и описания |
Помогая
Помощь
Написание эффектного заголовкаПроизведите четкое и убедительное первое впечатление, написав для своего товара красивое название. Вот некоторые элементы эффективного заголовка:
Чего следует избегать в заголовкеПри написании заголовка соблюдайте следующие правила:
| Свяжитесь с нами Есть вопрос? Мы можем помочь. |