4. 연관 규칙 분석 결과를 필터링해보기
# itemsets의 제품 개수에 따른 필터링을 위해 length 열을 추가 # 결과를 frequent_itemsets라는 이름으로 생성 >>> frequent_itemsets = apriori(df, min_support = 0.6, use_colnames = True) >>> frequent_itemsets['length'] = frequent_itemsets['itemsets'].apply(lambda x: len(x)) # length 추가 >>> frequent_itemsets support itemsets length ------------------------------------------ 0 0.6 (Apple) 1 1 0.8 (Beans) 1 2 0.6 (Cookie) 1 3 0.8 (Eggs) 1 4 0.6 (Milk) 1 5 0.6 (Yogurt) 1 6 0.6 (Eggs, Apple) 2 7 0.6 (Cookie, Beans) 2 8 0.6 (Eggs, Beans) 2 9 0.6 (Yogurt, Beans) 2 10 0.6 (Cookie, Eggs) 2 11 0.6 (Eggs, Cookie, Beans) 3 # 필터링: 패턴 내 아이템은 두 개이고, 최소 지지도는 60% 이상인 패턴만 필터링 # frequent_itemsets에서 특정 조건을 만족시키는 행들을 선택 >>> frequent_itemsets[(frequent_itemsets['length'] == 2) & (frequent_itemsets['support'] >= 0.6)] support itemsets length ------------------------------------ 6 0.6 (Eggs, Apple) 2 7 0.6 (Cookie, Beans) 2 8 0.6 (Eggs, Beans) 2 9 0.6 (Yogurt, Beans) 2 10 0.6 (Cookie, Eggs) 2