Arules возвращает пустой LHS

У меня есть набор данных, который выглядит так:

"user.get","search_restaurants","cuisines.get"
"user.get","search_restaurants","user.get","search_restaurants"
"order/address/get_user_addresses"
"search_restaurants","search_restaurantssearch_restaurants"
"restaurant.get","search_restaurants","order/menu","restaurant.get","restaurant.get","restaurant.get","order/menu","order/menu","restaurant.get","restaurant.getsearch_restaurantsrestaurant.get","user.get","order/menu","order/menu","get_user_reviews_filtered","order/menu","restaurant.get"

Когда я запускаю на нем априорный алгоритм:

txn1 = read.transactions(file="path", rm.duplicates=TRUE)
basket_rules <- apriori(txn1, parameter = list(sup = 0.01, conf = 0.01,target="rules"))
inspect(basket_rules)

Я получаю пустые левые. которые:

{} => {cuisines.get} и т. д.

Любая идея, почему это может происходить? А как решить этот вопрос?


person Dawny33    schedule 17.08.2016    source источник


Ответы (2)


С 1_:

Значение по умолчанию в APparameter для minlen равно 1. Это означает, что правила только с одним элементом (т. е. с пустым антецедентом/LHS), например

{} => {beer}

будет создан. Эти правила означают, что независимо от того, какие другие элементы задействованы, элемент в RHS появится с вероятностью, определяемой достоверностью правила (которая равна поддержке). Если вы хотите обойти эти правила, используйте аргумент parameter=list(minlen=2).

person lukeA    schedule 17.08.2016

Ответ Луки правильный. Кроме того, мы можем сказать, что априори всегда дает нам информацию о консеквенте, который является RHS в программе. Вот почему для одного набора элементов, имеющего минимальную поддержку, равную минимальной достоверности, также указывается в результирующем выводе, если не используется «minlen».

Eg.

  > inspect(rules)
    lhs            rhs     support confidence lift count
[1] {}          => {Soup}  0.8     0.8        1.0  4    
[2] {}          => {Pasta} 0.8     0.8        1.0  4    
[3] {Salad}     => {Ham}   0.4     1.0        1.7  2 

Я надеюсь, что это объясняет вывод (другие правила в этом примере не показаны). Приведенное выше является частичным выводом этой таблицы.

Customer ID       Food 
 1          -Salad, Hamburger, Taco  
 2          -Soup, Hamburger, Pasta 
 3          -Salad, Soup, Hamburger, Pasta 
 4          -Soup, Pasta 
 5          -Taco, Pasta, Soup
person Abhishek Rai    schedule 01.04.2020