資源簡介
Aprior算法的Python代碼實現,其中定義了python實現關聯規則算法的函數。
代碼片段和文件信息
#-*-?coding:?utf-8?-*-
from?__future__?import?print_function
import?pandas?as?pd
#自定義連接函數,用于實現L_{k-1}到C_k的連接
def?connect_string(x?ms):
??x?=?list(map(lambda?i:sorted(i.split(ms))?x))
??l?=?len(x[0])
??r?=?[]
??for?i?in?range(len(x)):
????for?j?in?range(ilen(x)):
??????if?x[i][:l-1]?==?x[j][:l-1]?and?x[i][l-1]?!=?x[j][l-1]:
????????r.append(x[i][:l-1]+sorted([x[j][l-1]x[i][l-1]]))
??return?r
#尋找關聯規則的函數
def?find_rule(d?support?confidence?ms?=?u‘--‘):
??result?=?pd.Dataframe(index=[‘support‘?‘confidence‘])?#定義輸出結果
??
??support_series?=?1.0*d.sum()/len(d)?#支持度序列
??column?=?list(support_series[support_series?>?support].index)?#初步根據支持度篩選
??k?=?0
??
??while?len(column)?>?1:
????k?=?k+1
????print(u‘\n正在進行第%s次搜索...‘?%k)
????column?=?connect_string(column?ms)
??
評論
共有 條評論