apriori appearance rhs имеет несколько продуктов

#r #arules

#r #arules

Вопрос:

  1. я использую R apriori (library (arules)) для получения правил. хотите, чтобы все правила, имеющие rhs (правая сторона), были связаны со списком продуктов (а не только с одним)

Я также помещаю информацию о сегментации клиента и product_name в «продукт», затем использую раздел создания продукта и правила, затем я надеюсь, что у меня будут правила, в которых rhs содержит только product_name, но я могу отобразить сегментацию в lhs.

Надеюсь получить предложение, которого невозможно достичь с помощью функции apriori(,appearence=(list(rhs= …)))

и прекрасный странный результат, описанный в задаче 2. следующим образом

  1. узнайте, даю ли я список длиннее, например, c («цельное молоко», «злаки»,»другие овощи», «рис», «фирменный сыр», «джем») имеет меньше правил (3042), чем только c («цельное молоко», «злаки», «другие овощи») (3077) так что не уверен, почему и как понять функцию appearence=(list(rhs= …))

Моя первоначальная проблема заключалась в том, что было непросто создать воссоздаваемый код (считывая данные непосредственно из базы данных), но вот некоторые описания;

наличие набора данных, имеющего по разрезу для каждого клиента (basket / product_name): cust1 яблочно-грушевые чипсы cust2 молочно-яблочное вино ….

для каждого клиента также есть сегментация (профиль) с тегом cust1 20-30 фамильное золото cust2 30-40 мужской сивер …

затем я объединил сегментирование и профилирование 20-30 золотых яблочно-грушевых чипсов famle и 30-40 молочных яблочных чипсов male siver…

затем используйте это преобразование данных для «пересечения» для функции arule apporiori и получите некоторые правила

например, {20-30, famle, apple} => {вино} {мужчина, вино} =>{30-40}

но меня интересовали только правила для rhs, имеющих название продукта (груша, чипсы, яблоко, но не 30-40, мужчина, золото)

поэтому я пытаюсь использовать функцию apriori(,appearence=(list(rhs=product_items))), чтобы создать список символов с именем product_items<-data [tag=='product_name']

как бы я ни находил 0 правил. Я некоторое время пытался, а затем обнаружил странную вещь: если я использую только product_item[1:10] 30000 правил, если увеличить product_item[1:80] количество правил до 200…

мы можем использовать data(Groceries) в качестве примера,

 pro <-c("whole milk", "cereals","other vegetables", "rice", "specialty cheese", "jam")
lp<- c("whole milk", "cereals","other vegetables")

r2<- apriori (Groceries, 
                  parameter = list(supp = 0.001, conf = 0.5),
                  appearance = list(rhs = pro)
                  ) 

r1 <- apriori (Groceries, 
                  parameter = list(supp = 0.001, conf = 0.5),
                  appearance = list(rhs = lp)
                  ) 
  

тогда для summary(r2) нас есть 3042 правила, но для summary(r1) bwe есть 3077 правил
, поэтому это заставляет меня усомниться в моем понимании функции apriori(,appearence=(list(rhs=….))) . Я подумал, что если я создам список символов или векторное имя_продукта, у меня будет больше продуктов, а это значит, что у меня будет больше правил. потому что это означает, что у меня будут какие-либо правила, по которым out put (rhs) соответствует любому из product_name, которое я ввел в функцию.
но увеличение элемента int product_name уменьшает количество правил, позвольте мне усомниться в моем понимании.
было бы неплохо получить какое-либо ваше объяснение

И мне все еще нужно выяснить, все правила, относящиеся к rhs, могут быть любыми или элементом в product_name, есть предложения, как его изменить?

допустим, я хочу, чтобы все правила соответствовали моему требованию supp, conf, а также в rhs содержалось много («цельное молоко», «крупы», «другие овощи», «рис», «фирменный сыр», «джем»)

как мне это сделать? Спасибо!

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

1. Мне кажется, что у вас в коде переключены r1 и r2.