Как я могу найти корреляцию между очень немногими элементами в пандах данных - PullRequest
0 голосов
/ 31 мая 2018

Привет, я новичок в dataframe, пожалуйста, помогите мне решить эту проблему.

Мой dataframe1 выглядит следующим образом (имеет itemID и имя элемента), у меня есть только 7 элементов

  itemID   ItemName
    1        abc
    2        fds
    3        btbtr
    4        gerhet
    5        dfhkwjfn
    6        adaf
    7        jdkj

Мой Dataframe2 выглядит следующим образом:

, у которого есть userID и itemID, здесь у меня 20k пользователей, и у каждого пользователя перед ним itemid (может быть несколько)

  userId     itemID
   23213       2
   31267       3
   52144       1
   52144       2
   87467       6

как можноя нахожу предмет-предметное соотношение между предметами?Я хочу, чтобы item1 сильно коррелировал с item3 и item6

Я попробовал corrwith (), но все, что я получаю, это NaN.

Пожалуйста, помогите мне найти это, Спасибо заранее

1 Ответ

0 голосов
/ 31 мая 2018

Вот подход, который я могу придумать.Может быть грубо, но здесь мы идем.

  1. Удалите всех пользователей, у которых есть только 1 элемент перед ними
  2. Теперь у вас есть только пользователи с несколькими элементами.
  3. Запишите количество совпадений предметов.т.е. создать фрейм данных сортировки item-item: count

1-2: 50

3-5: 35

искоро.Теперь, получив все корреляции один на один, нормализуйте значения счетчика между 0-1, и вы получите корреляцию между всеми элементами.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...