Почему FP-Growth возвращает более одного результата?
Я использую fpgrowth
модуль от Orange3-Associate для поиска правил транзакций в файле. Я использую этот скрипт:
from orangecontrib.associate.fpgrowth import *
transactions = [[1, 2, 5],
[2, 4],
[2, 3],
[1, 2, 4],
[1, 3],
[2, 3],
[1, 3],
[1, 2, 3, 5],
[1, 2, 3]]
itemsets = dict(frequent_itemsets(transactions, .2))
rules = [(list(P), list(Q), supp, conf) for P, Q, supp, conf in association_rules(itemsets, .5)]
Тем не менее, когда я print(rules)
Последовательное Q
отображается как список из 2 или более элементов. Выход:
[3, 5], [1, 2], 1, 1.0
Почему это происходит? Разве Последовательность не должна быть только 1 предметом?
1 ответ
Решение
Нет, результат не ограничен одним предметом.
Если все ваши транзакции содержат A, B, тогда правило emptyset -> A, B
является желаемым выводом, указывающим, что "независимо от того, что транзакция содержит A и B".