Развертывание apriori rulsets в наборе данных в R
У меня есть вопрос, касающийся развертывания правил apriori в R. Я, в основном, хочу назначить предусловие (элемент) и значение доверия каждому клиенту, чтобы я мог создать простую систему рекомендаций, поэтому ниже приводится подмножество моего набора правил, который я получил,
bread&wine -> meat (confidence 54%)
cheese -> fruit (confidence 43%)
bread&cheese -> frozveg (confidence 24%)
и следующее - простое представление того, чего я хочу достичь только с одним клиентом; это в корзине или данных таблицы истинности.
ID | Хлеб | Вино | Сыр Пред1 Конф1 Пред2 Конф2
1 | 1 | 1 | 1 мясо | 0,54| фрукты | 0,43
Это можно сделать, просто подключив набор данных к слепку модели в IBM SPSS Modeler, но в R. это не так просто.
Может ли кто-нибудь предоставить мне решение в коде R на этом или простое руководство в этом?
1 ответ
Пакет Recommenderlab делает то, что вы хотите (минус показ уверенности). Вот некоторый код (адаптированный из документации Recommenerlab), который изучает модель рекомендации из набора данных Groceries и применяет ее к первым 10 транзакциям:
library(recommenderlab)
data(Groceries)
dat <- as(Groceries, "binaryRatingMatrix")
rec <- Recommender(dat, method = "AR",
parameter=list(support = 0.0005, conf = 0.5, maxlen = 5))
getModel(rec)
$description
[1] "AR: rule base"
$rule_base
set of 38365 rules
$support
[1] 5e-04
$confidence
[1] 0.5
$maxlen
[1] 5
$measure
[1] "confidence"
$verbose
[1] FALSE
$decreasing
[1] TRUE
pred <- predict(rec, dat[1:5,])
as(pred, "list")
[[1]]
[1] "whole milk" "rolls/buns" "tropical fruit"
[[2]]
[1] "whole milk"
[[3]]
character(0)
[[4]]
[1] "yogurt" "whole milk" "cream cheese " "soda"
[[5]]
[1] "whole milk"
Вот параметры, которые вы можете использовать при создании рекомендателя.
recommenderRegistry$get_entry("AR", dataType = "binaryRatingMatrix")
Recommender method: AR
Description: Recommender based on association rules.
Parameters:
support confidence maxlen measure verbose decreasing
1 0.1 0.3 2 confidence FALSE TRUE