Я использую пакет arules
для поиска правил ассоциации в данных розничной торговли в точках продаж. Я извлекаю информацию о транзакции из базы данных, а затем помещаю ее в объект transaction
. Я новичок в arules
и пытаюсь понять, как заполнить фрейм данных itemInfo
в объекте транзакции. Сейчас я просто ввожу transaction
и item ID
(оба числовые), которые дают мало контекста. Я хотел бы иметь возможность добавлять описание товара, а также уровни иерархии продуктов.
Ниже процесс, который я использую сегодня:
Данные поступают из базы данных в следующем формате:
Transaction_ID Item_ID -------------- ----------- 100 1 100 2 100 3 101 2 101 3 102 1 102 2
Чтобы создать объект
transaction
, я использую следующую команду, как описано в документацииarules
:txdata <- as(split(txdata[, "Item_ID"], txdata[, "Transaction_ID"]), "transactions")
Примечание. Я обнаружил, что мне нужно иметь числовое значение для
Item_ID
, иначе я столкнусь с серьезными проблемами производительности при использовании строки (из-за плохой производительности разделения при использовании факторизованных строк).Создание и просмотр правил ассоциации
rules <- apriori(txdata, parameter = list(support=0.00015, confidence=0.5)) inspect(head((sort(rules, by="confidence")), n=5))
Когда правила возвращаются, они перечислены Item_ID
, что мне не помогает. Я хочу иметь возможность отображать их по ID
и/или описанию. Кроме того, хотелось бы воспользоваться функциями агрегирования, встроенными в пакет arules
.