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"
Когда я запускаю алгоритм apriori на нем:
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}
, так далее
Есть идеи, почему это может происходить? А как решить эту проблему?
1 ответ
От help("apriori")
:
Значение по умолчанию в
APparameter
заminlen
является1
, Это означает, что правила только с одним элементом (т. Е. Пустой антецедент /LHS), как{} => {beer}
будет создан. Эти правила означают, что независимо от того, какие другие элементы задействованы, элемент в RHS будет отображаться с вероятностью, определяемой доверием правила (что равно поддержке). Если вы хотите избежать этих правил, используйте аргумент
parameter=list(minlen=2)
,
Ответ Люка правильный. Кроме того, мы можем сказать, что априори всегда дает нам информацию о консеквенте, который является RHS в программе. Вот почему для одного набора элементов, имеющего минимальную поддержку, равную минимальной уверенности, также дается в результирующем выводе, если не используется minlen.
Например.
> 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