Я работаю над набором данных, используя панд.Набор данных имеет вид:
user_id product_id
user1 product1
user2 product3
user1 product2
или, может быть, это более понятно:
набор данных = [[user1, product1], [user2, product3], [user1, product2]]
Моя цель - использовать этот набор данных, чтобы составить рекомендации для продуктов, которые следует покупать.Для этого я буду использовать правила ассоциации - алгоритм apriori.
Поскольку у меня нет типичного набора данных транзакций с более чем 1 продуктом , купленным вместе (с тем же идентификатором транзакции), и я могуРаботая только с этим набором данных, я подумал о том, что если пользователь 1 купил продукт 1 и продукт 2, то продукт 1 и продукт 2 будут куплены вместе.
После этого я буду создавать правила, используя алгоритм правил ассоциации / apriori ... но для этого мне нужны данные, которые будут в нем.форма:
data = [[product1, product2], [product2], [product3, product1, product2]]
Поэтому мне нужен мой набор данных вследующая форма:
набор данных = [[user1, product1, product2], [user2, product3]]
После этого я могу перейти к дальнейшим действиям для применения apriori.... горячее кодирование, обнаружение частых предметов и т. д.
df.groupby(['user_id'])['product_id']
groupby не может быть применено, потому что я должен применить функцию .. также pivot функция нене работает .. и это единственные, о которых я думал, пытаясь сделать преобразование.