PCA против TSNE против MDS (обзорный кластер)

#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, кластеризация обычно работает не так, как можно было бы наивно ожидать.

  1. Не все пользователи принадлежат к кластерам, представляющим «типичный» интерес
  2. У многих пользователей будет несколько интересов
  3. Важность переменных варьируется
  4. Отсутствующие значения не соответствуют рейтингу 0

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

Комментарии:

1. Спасибо за ответ. Я создаю матричную факторизацию, чтобы заполнить «недостающее значение». Такой способ, похоже, работает, потому что пользователям, которым нравятся «Звездные войны», рекомендуется посмотреть другие подобные фильмы. Кстати, я хотел бы визуализировать это на графике, поэтому после того, как я применю PCA и T-SNE, просто потому, что я думаю, что у меня были все показатели, и я пытаюсь вычислить расстояние