python apriori库_Python efficient-apriori包_程序模块 - PyPI - Python中文网
高效apriori
Apriori算法的高效纯Python实现。适用于Python3.6+。
apriori算法揭示了分类数据中的隐藏结构。
典型的例子是一个数据库,其中包含从超市购买的商品。
每次购买都有许多与之相关的项目。
我们希望从数据中发现诸如{bread, eggs} -> {bacon}之类的关联规则。
这就是关联规则学习的目的,在这种情况下Apriori算法可以说成是解决这个问题最经典的方法之一。
这个存储库包含了一个高效的Apriori算法实现,并且经过严格测试。该方法最初由Agrawal等人在1994年首次提出。
示例
下面是一个最小的工作示例。
注意,在每个存在eggs的事务中,也存在bacon。
基于此规则{eggs} -> {bacon}被该规则以100%的置信度所支持
更多的例子如下。
安装
该软件可通过github和PyPI获得。
您可以使用pip安装软件。pip install efficient-apriori
贡献
如果您有建议和改进,欢迎您仔细检查代码并提出请求。
您提交的代码必须符合PEP8,并且所有测试都必须通过。
更多示例
过滤和排序关联规则
可以依据所需条件筛选并排序返回的关联规则列表.fromefficient_aprioriimportapprioritransactions=[('eggs', 'bacon', 'soup'), ('eggs', 'bacon', 'apple'), ('soup', 'bacon', 'banana')]itemsets, rules = apriori(transactions, min_support=0.2, min_confidence=1)# 输出所有左边有两个项目、右边只有一个项目的规则.rules_rhs = filter(lambda rule: len(rule.lhs) == 2 and len(rule.rhs) == 1, rules)for rule in sorted(rules_rhs, key=lambda rule: rule.lift):print(rule)# 输出规则及其置信度、支持度和提升度等信息.
使用大型数据集
当数据量超出内存容量限制时,在函数体内返回一个生成器会比直接传递一个列表更为高效。
min_support很可能必须是一个大值,否则算法将需要很长时间才能终止。
对于大量数据的情况,请注意此Python实现可能存在效率问题;我们推荐您参考经过优化的版本。该函数用于生成一系列数据供后续处理。该函数采用以下步骤进行操作:首先打开指定的数据文件;然后逐行读取文件内容并将其拆分为多个字段;最后将每个字段进行去重处理并返回一个可迭代的对象序列。经过优化的版本能够更好地处理大量数据并提升运行效率。请确保在调用该函数时指定正确的输入路径参数以获得准确的结果集。此外,在设置最小支持度为0.9和最小置信度为0.6时,请根据具体需求调整参数值以获得最佳匹配规则集。
欢迎加入QQ群-->: 979659372

推荐PyPI第三方库
