资源简介
用python实现的Apriori算法和测试用的数据,可以直接将压缩包里面的apriori.py文件放到python安装文件夹lib中,进行调用。
代码片段和文件信息
# -*- coding: utf-8 -*-
from __future__ import print_function
import pandas as pd
#自定义连接函数,用于实现L_{k-1}到C_K的连接
def connect_string(xms):
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(dsupportconfidencems=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(columnms)
print(u‘数目:%s...‘ % len(column))
sf = lambda i : d[i].prod(axis=1numeric_only=True)#新一批支持度的计算函数
#创建连接数据,这一步耗时、耗内存最严重。当数据集较大时,可以考虑并行运算优化
d_2 = pd.Dataframe(list(map(sfcolumn)) index=[ms.join(i) for i in column]).T
support_series_2 = 1.0*d_2[[ms.join(i) for i in column]].sum()/len(d)#计算连接后的支持度
column = list(support_series_2[support_series_2 > support].index)#新一轮支持度筛选
support_series = support_series.append(support_series_2)
column2=[]
for i in column:#遍历可能的推理,如{ABC}究竟是A+B-->C还是B+C-->A还是A+C-->B
i = i.split(ms)
for j in range(len(i)):
column2.append(i[:j]+i[j+1:] +i[j:j+1])
confidence_series = pd.Series(index=[ms.join(i) for i in column2])#定义置信度序列
for i in column2:#计算自信度序列
confidence_series[ms.join(i)]=support_series[ms.join(sorted(i))]/support_series[ms.join(i[:len(i) - 1])]
for i in confidence_series[confidence_series>confidence].index:#置信度筛选
result[i] = 0.0
result[i][‘confidence‘] = confidence_series[i]
result[i][‘support‘] = support_series[ms.join(sorted(i.split(ms)))]
result = result.T.sort_values([‘confidence‘‘support‘]ascending=False)#结果整理输出
print(u‘\n结果为:‘)
print(result)
return result
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2917 2018-12-08 11:13 Apriori算法+数据\apriori.py
文件 8837 2018-12-08 10:29 Apriori算法+数据\lesson_buy.xlsx
目录 0 2018-12-08 11:17 Apriori算法+数据
----------- --------- ---------- ----- ----
11754 3
- 上一篇:opc python 读取代码
- 下一篇:教务管理系统
相关资源
- 教务管理系统
- opc python 读取代码
- Python+Flask+sqlite实现的选课系统
- wxpython使用matplotlib的简单教程
- geoserver-rest-python-1.1
- leetcode python题解
- 基于SVM的手写字体识别Python版本
- Python RWR 可重启随机游走代码
- Python→Transorflow猫狗识别完整代码,附
- RPi.GPIO-0.6.3.tar
- python+rabird.winio实现驱动级模拟按键
- 基于wxPython和PySerial实现的串口助手
- Python Keras库 安装包
- python实现网络爬虫 爬取北上广深的天
- 正确可用的基于python实现的贝塞尔曲
- python3抓取头条新闻源码
- python.txt
- python版本selenium webdriver api
- _bz2.cpython-37m-x86_64-linux-gnu.so
- 树莓派与PC端在局域网内运用python实现
- Violent-Python-Source.zip
- python将矩形jpg图形批量裁剪为圆形图
- 彼岸网4K高清图片爬虫源代码
- gmpy2-2.0.8-cp38-cp38-win_amd64.whl
- 天天酷跑Python.docx
- python图像处理.rar
- cplex教程python
- python画图小程序
- Python袖珍指南Python Pocket Reference 第五
- LSSVM_python_example.zip
评论
共有 条评论