資源簡介
聚類分析技術算法,使用鳶尾花數據集,可視化處理
代碼片段和文件信息
#-*-?coding:?utf-8?-*-
from?__future__?import?print_function????#Python3.+?不需要此項引入
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)?#支持度序列(C1)
??column?=?list(support_series[support_series?>?support].index)?#初步根據支持度篩選(剪枝,得到頻繁項集?L1)
??k?=?0
??
??while?len(column)?>?1:
????k?=?k+1
????print(u‘\n正在進行第%s次搜索...‘?%k)
????column?=?connect_string(column?ms)
????print(u‘數目:%s...‘?%len(column))
????sf?=?lambda?i:?d[i].prod(axis=1?numeric_only?=?True)?#新一批支持度的計算函數(通過相乘得1確認項集結果[數據已轉換為‘0無’,‘1有’的形式,每一項集中元素相乘結果為1則證明有該
- 上一篇:梯度下降求解邏輯回歸(.ipynb)
- 下一篇:遺傳算法求sinx最大值
評論
共有 條評論