Повышение точности модели Техники, которые я изучил во время написания моей дипломной работы по машинному обучению в Spotify (+фрагменты кода)

Улучшение точности модели машинного обучения в Spotify (с кодом)

Стек технологий для улучшения упрямых моделей машинного обучения, созданный данными учеными

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

В 2021 году я потратил 8 месяцев на создание предиктивной модели для измерения удовлетворенности пользователя в рамках выполнения диссертации в Spotify.

Изображение автора

Моя цель заключалась в понимании того, что делает пользователей удовлетворенными своим музыкальным опытом. Для этого я создал классификатор LightGBM, результатом работы которого был двоичный ответ: y = 1 → пользователь, по-видимому, удовлетворен, y = 0 → не очень

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

От человеческого предсказателя к гадалке

Моя точность составляла около 0,5, что является самым плохим возможным результатом для классификатора. Это означает, что алгоритм имеет 50% шанс предсказать “да” или “нет”, и это так же случайно, как угадывание человека.

Так что я потратил 2 месяца, пытаясь и комбинируя разные методы, чтобы улучшить предсказание моей модели. В итоге мне, наконец, удалось повысить мой ROC-показатель с 0,5 до 0,73, что является большим успехом!

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

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

#0. Подготовка данных

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