2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки





Начать новую тему Ответить на тему
 
 Подготовка данных для задачи классификации
Сообщение30.10.2017, 17:06 


09/05/16
1
Всем привет! Пытаюсь сейчас заниматься решением каких-то практических задач методами ML, в связи с чем возник следующий вопрос.

У меня есть датасет, представляющий собой описание действий юзера на веб-странице, с конечным показателем 1 или 0 (1 - нажал на рекламу, 0 - нет). Первая колонка представляет собой user_id, последняя ответ, все, что между ними - признаки. Отдельных тренировочных и тестовых выборок нет, поэтому делю на них то, что есть.
Хочу на нем попробовать стандартные алгоритмы для решения задач классификации (SVC, Random Forest, kNN), но есть проблема. Всего в таблице порядка 20 тысяч строк, описывающих действия юзеров, но при этом уникальных среди них - порядка 8 тысяч. Если загонять в алгоритмы данные в том виде, в котором они есть, предсказание получается слишком хорошим, так как мы по сути предсказываем ответ для объекта, основываясь на его же предыдущих ответах.
Как можно устранить этот недостаток? На ум приходит просто оставить строки с уникальными id, но как именно их выбирать, если для одного id может быть много действий? В добавок, это значительно сократит объем данных для обучения, что, как я думаю, негативно скажется на точности предсказания.

Буду очень рад идеям и объяснениям, заранее спасибо.

 Профиль  
                  
 
 Re: Подготовка данных для задачи классификации
Сообщение31.10.2017, 03:36 


26/10/17
23
Зависит от того что вам нужно предсказать - если реакцию юзера при первом заходе то стоит брать только самое первое действие каждого юзера.

Если же не важно в какой по счёту заход кликнул - то конечно нужно думать как сгруппировать чтобы получилась осмысленная статистика.

 Профиль  
                  
 
 Re: Подготовка данных для задачи классификации
Сообщение31.10.2017, 05:40 


12/07/15
791
Очень просто: усредните результаты по каждому юзеру по отдельности, то есть замените конечный показатель 0 / 1 на частоту (вероятность). Например, юзер 1 раз нажал на рекламу, 2 раза не нажал, частота равна 0,33. И решайте задачу регрессии вместо классификации.

 Профиль  
                  
 
 Re: Подготовка данных для задачи классификации
Сообщение05.11.2017, 14:08 


04/11/16
14
ищите pdf с именем "Проблемы формирования обучающей выборки в задачах машинного обучения", на киберленинке есть.

 Профиль  
                  
 
 Re: Подготовка данных для задачи классификации
Сообщение09.11.2017, 00:22 


01/05/17
5
Кажется, что постановка задачи неполна. На каких данных будет работать классификатор? На фиксированном множестве известных пользователей? На новых пользователях? На их смеси?

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

Но, например, если user id одновременно является ip адресом, то его можно использовать для извлечения географического признака.

У jabra, см выше, другой пример, где user id оправдано использовать, но только вместе с timestamp, чтоб определить первое посещение.

 Профиль  
                  
 
 Re: Подготовка данных для задачи классификации
Сообщение09.11.2017, 09:00 


12/07/15
791
Задача вполне полна, если поставить себя на место того владельца сайта...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: maxal, Karan, Toucan, PAV, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group