Я хотел бы сгенерировать правила связывания следующих наборов элементов.:
df1
Age,AL,SEX,DIAB,SMOK,CHOL,LAD,RCA,LM
65,0,M,n,y,220,80,75,20
45,0.2,F,n,n,300,90,35,35
66,-1,F,y,y,200,90,80,20
70,0.2,F,n,y,220,40,85,15
80,1.1,M,y,y,200,90,90,25
Но сначала я хочу разделить наборы элементов на две группы и создать правила ассоциации из двух групп. Например, 1-я группа:
(Age, Sex, SMOKE, DIAB)
2-я группа:
(AL, CHOL, LAD, RCA, LM)
Это условие состоит в том, чтобы запретить два элемента в одной группе из ассоциации и скорее создать ассоциацию с другой группой.
Код, который я использовал для генерации правил связывания для всех наборов элементов:
records = []
for i in range(0, len(df1)):
records.append([str(df1.values[i,j]) for j in range(0, len(df1.columns))])
te = TransactionEncoder()
te_ary = te.fit(records).transform(records)
df = pd.DataFrame(te_ary, columns=te.columns_,)
frequent_itemsets = apriori(df, min_support=0.01, use_colnames= True)
rules = association_rules(frequent_itemsets, metric= "confidence", min_threshold = 0.7 )
Как сделать то же самое для сгруппированного набора элементов с помощью apriori?