Прогнозирование пользовательских рейтингов - PullRequest
0 голосов
/ 11 февраля 2019

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

user_id    rating
1          5
4          6
1          6
7          6
2          7
4          7

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

user_id    rating
11         6
12         10
13         8
13         9
14         4
14         5

Цель состоит в том, чтобы предсказать, что эти конкретные пользователи будут оцениватьв следующий раз.Во-вторых, скажем, если мы добавим пользователя «15» без истории рейтингов, как мы можем предсказать первые два рейтинга, которые предоставит пользователь, по порядку.

Я не уверен, как обучать модель,только user_id и рейтинги, которые также являются целевым столбцом.Любая помощь приветствуется!

1 Ответ

0 голосов
/ 11 февраля 2019

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

Но если вы не укажете, на каком основании пользователь дает оценку, это очень сложно и бесполезно, например, я - пользователь, и я даю оценки, такие как 1,5,2,6,8,1,9,3,4, 10 Можете ли вы предсказать мой следующий рейтинг, ответ - нет, потому что это как генератор случайных чисел между 0-10 буВ случае с фильмом, где мои прошлые рейтинги ясно показывают, что я люблю комедию и акт ненависти, тогда, когда появился новый комедийный фильм, вы можете легко предсказать рейтинг этого фильма для меня.

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

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

Но самое лучшее из всего этого - создать статистическую модель, такую ​​как дать высокую оценкувес до последнего рейтинга и меньший вес до второго последнего рейтинга, а затем еще меньше, а затем принять среднее значение, например ->

Forex_rating = W1 * (Last_Rating) + W2 * (Second_last_rating) + W3 * (Third_last_rating)....

и затем возьмите среднее значение

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

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

...