Путь apriori довольно хорош, однако, не имея ваших данных, мы можем использовать известный набор данных в качестве примера, например, Groceries (в вашем случае, вы можете подмножество ваших данных после того, как вы хотите данные) :
library(arules)
data(Groceries)
# here you can see the product with the biggest support
frequentproducts <- eclat (Groceries, parameter = list(supp = 0.07, maxlen = 15))
inspect(frequentItems)
items support count
[1] {other vegetables,whole milk} 0.07483477 736
[2] {whole milk} 0.25551601 2513
[3] {other vegetables} 0.19349263 1903
[4] {rolls/buns} 0.18393493 1809
[5] {yogurt} 0.13950178 1372
[6] {soda} 0.17437722 1715
[7] {root vegetables} 0.10899847 1072
[8] {tropical fruit} 0.10493137 1032
[9] {bottled water} 0.11052364 1087
[10] {sausage} 0.09395018 924
[11] {shopping bags} 0.09852567 969
[12] {citrus fruit} 0.08276563 814
[13] {pastry} 0.08896797 875
[14] {pip fruit} 0.07564820 744
[15] {whipped/sour cream} 0.07168277 705
[16] {fruit/vegetable juice} 0.07229283 711
[17] {newspapers} 0.07981698 785
[18] {bottled beer} 0.08052872 792
[19] {canned beer} 0.07768175 764
Если вы предпочитаете, вы можете построить это:
itemFrequencyPlot(Groceries, topN=5, type="absolute")
Тогда вы можете увидеть правила ассоциации:
association <- apriori (Groceries, parameter = list(supp = 0.001, conf = 0.5))
inspect(head(association_conf))
lhs rhs support confidence lift count
[1] {rice,sugar} => {whole milk} 0.001220132 1 3.913649 12
[2] {canned fish,hygiene articles} => {whole milk} 0.001118454 1 3.913649 11
[3] {root vegetables,butter,rice} => {whole milk} 0.001016777 1 3.913649 10
[4] {root vegetables,whipped/sour cream,flour} => {whole milk} 0.001728521 1 3.913649 17
[5] {butter,soft cheese,domestic eggs} => {whole milk} 0.001016777 1 3.913649 10
[6] {citrus fruit,root vegetables,soft cheese} => {other vegetables} 0.001016777 1 5.168156 10
Вы можете увидеть в последнем столбце количество, сколько раз появляется каждое из правил: это может быть прочитано как «сколько строк», и, если каждая строка является клиентом, количество клиентов. Однако вы должны подумать о том, что вы имеете в виду под «сколько клиентов», если вы хотите, например, этот a,b,a,c >>> count = 4
или a,b,a,c >>> count 3
(псевдокод). В этом случае вы должны оценить свои данные.
редактировать
наконец, вы можете взглянуть на this , как вы сказали, есть также алгоритм cspade, который может помочь.