#r #arules
#r #arules
Вопрос:
- я использую R apriori (library (arules)) для получения правил. хотите, чтобы все правила, имеющие rhs (правая сторона), были связаны со списком продуктов (а не только с одним)
Я также помещаю информацию о сегментации клиента и product_name в «продукт», затем использую раздел создания продукта и правила, затем я надеюсь, что у меня будут правила, в которых rhs содержит только product_name, но я могу отобразить сегментацию в lhs.
Надеюсь получить предложение, которого невозможно достичь с помощью функции apriori(,appearence=(list(rhs= …)))
и прекрасный странный результат, описанный в задаче 2. следующим образом
- узнайте, даю ли я список длиннее, например, 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.