#python #cluster-analysis #pca #svd #dimensionality-reduction
#python #кластерный анализ #pca #svd #уменьшение размерности
Вопрос:
У меня есть хорошо знакомый набор данных из Movielens of review, и я желаю, чтобы пользователь cluster оценил вкус фильма.
Я начинаю с такого набора данных:
idUser iDmovies review
1 2 1
1 10 2
5 5 5
5 10 2
изначально я создал матрицу с фильмами пользователя x и таким образом заполнил значениями review:
movieid
idUser 2 5 10
1 1 0 2
5 0 5 2
моя матрица очень разреженная, поэтому я применил матричную факторизацию для заполнения значения, и теперь у меня есть матрица таким образом (просто пример):
movieid
idUser 2 5 10
1 1 -2 2
5 -2 5 2
Знаете, есть смысл применить к этому набору данных PCA o TSNE или Kmeans? или предпочтительнее применять MDS?
Я попытался применить PCA к этому набору данных, и у меня получилось следующее:
и я думаю, что это действительно плохо. После этого я пытаюсь следовать одному руководству по применению TSNE к PCA ( https://medium.com/@gabrieltseng/clustering-and-collaborative-filtering-visualizing-clusters-using-t-sne-f9718e7491e6) по этой ссылке
и я делаю это:
Мой вопрос таков: я не думаю, что это очень хороший способ кластеризации. Для вас, ребята, это значимый кластер? Имеет ли смысл делать это с полной матрицей?
я вижу пример в наборе данных Iris, и кластер будет создан, потому что значение Iris имеет действительно похожее значение. В моем случае у одного пользователя может быть 5 на одном компоненте и -5 (слишком далеко) на другом…Так что для меня это, возможно, не имеет смысла .. верно?
Просто для пояснения я хотел бы добавить экран моего обзора matrix:
Я действительно без ума от этого..
Ответ №1:
На таких наборах данных, как данные movielense, кластеризация обычно работает не так, как можно было бы наивно ожидать.
- Не все пользователи принадлежат к кластерам, представляющим «типичный» интерес
- У многих пользователей будет несколько интересов
- Важность переменных варьируется
- Отсутствующие значения не соответствуют рейтингу 0
Вот почему для рекомендательных систем используются, например, подходы, основанные на факторах и наборах элементов.
Комментарии:
1. Спасибо за ответ. Я создаю матричную факторизацию, чтобы заполнить «недостающее значение». Такой способ, похоже, работает, потому что пользователям, которым нравятся «Звездные войны», рекомендуется посмотреть другие подобные фильмы. Кстати, я хотел бы визуализировать это на графике, поэтому после того, как я применю PCA и T-SNE, просто потому, что я думаю, что у меня были все показатели, и я пытаюсь вычислить расстояние