Python 3.x 基于apriori算法的频繁项集
我有一个像这样的数据集。。该图像仅显示一小部分数据。我想写一个函数,将数据集和k(频繁项集将包含的项的数量)作为输入,并将k频繁项集及其支持作为输出。我试过这个<代码>来自itertools导入组合,产品 col_list=list(df.columns)#df是我的数据帧 最小支撑=8.43#给定的最小支撑 def频率设置(df,n): 如果n==1: return(a)#a是1-频繁项集的输出 l=[] 支持={} col_comb=list(组合(col_list,n)) 对于col_comb中的i: s=df.groupby(列表(i)).size() L=s.index[s>最小支持].tolist() k=0 对于L中的m: 温度=列表(组合(m,n-1)) 对于j英寸温度: 如果频率设置中的j(df,n-1)[0]: l、 追加(m) 支持[m]=s.loc[L]。值[k] 打破 k+=1 返回(l,支持)其中a为Python 3.x 基于apriori算法的频繁项集,python-3.x,pandas,apriori,Python 3.x,Pandas,Apriori,我有一个像这样的数据集。。该图像仅显示一小部分数据。我想写一个函数,将数据集和k(频繁项集将包含的项的数量)作为输入,并将k频繁项集及其支持作为输出。我试过这个来自itertools导入组合,产品 col_list=list(df.columns)#df是我的数据帧 最小支撑=8.43#给定的最小支撑 def频率设置(df,n): 如果n==1: return(a)#a是1-频繁项集的输出 l=[] 支持={} col_comb=list(组合(col_list,n)) 对于col_comb中的
def freq_set1(df):
l=[]
s={}
对于df.columns中的i:
对于df[i]中的j,唯一()
温度=0
对于df[i]中的k:
如果j==k:
温度+=1
如果温度>最小值支持:
l、 附加(j)
s[j]=温度
返回(左、南)
a=频率设置1(df)
但它不工作。嗨,你检查过Apyori软件包了吗?它也许能帮助你。另外,请将数据以代码块的形式发布。@FedericoGarza我有一个名为apriori的包,但它不是我想要的。请看