第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

查找具有頻繁項集的對應行

查找具有頻繁項集的對應行

aluckdog 2023-02-15 17:34:07
我的數(shù)據(jù)集是一個與客戶購買信息相當?shù)泥徑泳仃?。示例玩具?shù)據(jù)集:p = {'A': [0,1,0,1], 'B': [1,1,1,1], 'C': [0,0,1,1], 'D': [1,1,1,0]}df = pd.DataFrame(data=p)df現(xiàn)在我對頻繁項集感興趣,所以我使用了先驗 fim:from mlxtend.frequent_patterns import apriorifrequent_itemsets = apriori(df, min_support=0.1, use_colnames=True)frequent_itemsets現(xiàn)在我們看到項集 (D,B) 出現(xiàn)在 75% 的數(shù)據(jù)集中。但我實際上對這個項目集出現(xiàn)在哪些行感興趣,因為索引有一些信息(哪個客戶購買了這些項目)。很快,我很好奇如何在我的數(shù)據(jù)集中進行過濾以查看哪些行與特定項目集相對應。這個包/庫中是否有這樣的功能。這樣我就可以過濾第 0,1 行和第 2 行中出現(xiàn)的項目集 (D,B)?
查看完整描述

1 回答

?
catspeake

TA貢獻1111條經(jīng)驗 獲得超0個贊

似乎沒有直接的方法可以通過apriori. 但是,一種方法如下:


from mlxtend.frequent_patterns import apriori


frequent_itemsets = apriori(df, min_support=0.1, use_colnames=True)

# lists of columns where value is 1 per row

cols = df.dot(df.columns).map(set).values.tolist()

# use sets to see which rows are a superset of the sets in cols

set_itemsets = map(set,frequent_itemsets.itemsets.values.tolist())

frequent_itemsets['indices'] = [[ix for ix,j in enumerate(cols) if i.issubset(j)] 

                                 for i in set_itemsets]

print(frequent_itemsets)


    support   itemsets       indices

0      0.50        (A)        [1, 3]

1      1.00        (B)  [0, 1, 2, 3]

2      0.50        (C)        [2, 3]

3      0.75        (D)     [0, 1, 2]

4      0.50     (A, B)        [1, 3]

5      0.25     (A, C)           [3]

6      0.25     (A, D)           [1]

7      0.50     (C, B)        [2, 3]

8      0.75     (B, D)     [0, 1, 2]

9      0.25     (C, D)           [2]

10     0.25  (A, B, C)           [3]

11     0.25  (A, B, D)           [1]

12     0.25  (C, B, D)           [2]


查看完整回答
反對 回復 2023-02-15
  • 1 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號