在使用Jupyter练习关联规则挖掘时出现了一些莫名其妙的问题,已解决,记录一下。

给的例子如下:

from efficient_apriori import apriori
import pandas as pd
def data_generator(filename):"""Data generator, needs to return a generator to be called several times."""def data_gen():with open(filename) as file:for line in file:yield tuple(k.strip() for k in line.split(','))#transactions.append(list(line.strip().split(',')))return data_gen
# file_path = "https://github.com/seratch/apriori.js/blob/master/dataset.csv"
transactions = data_generator("dataset.csv")
itemsets, rules = apriori(transactions, min_support=0.5,  min_confidence=1)
itemsets
rules
transactions_2 = data_generator("store_data.csv")
itemsets_2, rules_2 = apriori(transactions_2, min_support=0.0045,  min_confidence=0.2)
rules
for rule in rules[:10]:print(rule)

然后在第四个代码块下报错:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-17-5d285d16ed6b> in <module>()1 # file_path = "https://github.com/seratch/apriori.js/blob/master/dataset.csv"2 transactions = data_generator("dataset.csv")
----> 3 itemsets, rules = apriori(transactions, min_support=0.5,  min_confidence=1)C:\ProgramData\Anaconda3\lib\site-packages\efficient_apriori\apriori.py in apriori(transactions, min_support, min_confidence, max_length, verbosity, output_transaction_ids)61         max_length,62         verbosity,
---> 63         output_transaction_ids=True,64     )65 C:\ProgramData\Anaconda3\lib\site-packages\efficient_apriori\itemsets.py in itemsets_from_transactions(transactions, min_support, max_length, verbosity, output_transaction_ids)276 277     # Store in transaction manager
--> 278     manager = TransactionManager(transactions)279 280     # STEP 1 - Generate all large itemsets of size 1C:\ProgramData\Anaconda3\lib\site-packages\efficient_apriori\itemsets.py in __init__(self, transactions)29 30         # Populate
---> 31         for i, transaction in enumerate(transactions):32             for item in transaction:33                 self._indices_by_item[item].add(i)TypeError: 'function' object is not iterable

查了一下给的例子是官网efficient-apriori的1.0.0以及其他一些版本的 :efficient-apriori · PyPI

最新版本没有这个例子:efficient-apriori · PyPI

研究了好几天,结果发现return那儿加个括号就行,即把return data_gen修改为return data_gen()……

最终稍加修改,包括一些路径和参数,如下:

from efficient_apriori import apriori
import pandas as pd
def data_generator(filename):"""Data generator, needs to return a generator to be called several times."""def data_gen():with open(filename) as file:for line in file:yield tuple(k.strip() for k in line.split(','))#transactions.append(list(line.strip().split(',')))return data_gen()
#https://pypi.org/project/efficient-apriori/1.0.0/,运行下一句报错,return data_gen修改为return data_gen()解决
# file_path = "https://github.com/seratch/apriori.js/blob/master/dataset.csv"
transactions = data_generator(r"C:\Users\userab\Desktop\第二次实验\dataset.csv")
itemsets, rules = apriori(transactions, min_support=0.1,  min_confidence=1)
itemsets
{1: {('Brooklyn',): 216,('',): 1413,('MBE',): 953,('WBE',): 678,('BLACK',): 427,('ASIAN',): 287,('New York',): 419,('HISPANIC',): 233,('NON-MINORITY',): 426},2: {('', 'ASIAN'): 287,('', 'BLACK'): 423,('', 'Brooklyn'): 215,('', 'HISPANIC'): 231,('', 'MBE'): 946,('', 'NON-MINORITY'): 426,('', 'New York'): 418,('', 'WBE'): 671,('ASIAN', 'MBE'): 284,('BLACK', 'MBE'): 427,('Brooklyn', 'MBE'): 160,('HISPANIC', 'MBE'): 233,('MBE', 'New York'): 242,('MBE', 'WBE'): 240,('NON-MINORITY', 'New York'): 168,('NON-MINORITY', 'WBE'): 426,('New York', 'WBE'): 249},3: {('', 'ASIAN', 'MBE'): 284,('', 'BLACK', 'MBE'): 423,('', 'Brooklyn', 'MBE'): 159,('', 'HISPANIC', 'MBE'): 231,('', 'MBE', 'New York'): 241,('', 'MBE', 'WBE'): 233,('', 'NON-MINORITY', 'New York'): 168,('', 'NON-MINORITY', 'WBE'): 426,('', 'New York', 'WBE'): 248,('NON-MINORITY', 'New York', 'WBE'): 168},4: {('', 'NON-MINORITY', 'New York', 'WBE'): 168}}
rules
[{ASIAN} -> {},{NON-MINORITY} -> {},{BLACK} -> {MBE},{HISPANIC} -> {MBE},{NON-MINORITY} -> {WBE},{ASIAN, MBE} -> {},{, BLACK} -> {MBE},{, HISPANIC} -> {MBE},{NON-MINORITY, New York} -> {},{NON-MINORITY, WBE} -> {},{, NON-MINORITY} -> {WBE},{NON-MINORITY} -> {, WBE},{NON-MINORITY, New York} -> {WBE},{NON-MINORITY, New York, WBE} -> {},{, NON-MINORITY, New York} -> {WBE},{NON-MINORITY, New York} -> {, WBE}]
transactions_2 = data_generator(r"C:\Users\userab\Desktop\第二次实验\store_data.csv")
itemsets_2, rules_2 = apriori(transactions_2, min_support=0.0045,  min_confidence=0.2)
rules
[{ASIAN} -> {},{NON-MINORITY} -> {},{BLACK} -> {MBE},{HISPANIC} -> {MBE},{NON-MINORITY} -> {WBE},{ASIAN, MBE} -> {},{, BLACK} -> {MBE},{, HISPANIC} -> {MBE},{NON-MINORITY, New York} -> {},{NON-MINORITY, WBE} -> {},{, NON-MINORITY} -> {WBE},{NON-MINORITY} -> {, WBE},{NON-MINORITY, New York} -> {WBE},{NON-MINORITY, New York, WBE} -> {},{, NON-MINORITY, New York} -> {WBE},{NON-MINORITY, New York} -> {, WBE}]
for rule in rules[:10]:print(rule)
{ASIAN} -> {} (conf: 1.000, supp: 0.202, lift: 1.005, conv: 4929577.465)
{NON-MINORITY} -> {} (conf: 1.000, supp: 0.300, lift: 1.005, conv: 4929577.465)
{BLACK} -> {MBE} (conf: 1.000, supp: 0.301, lift: 1.490, conv: 328873239.437)
{HISPANIC} -> {MBE} (conf: 1.000, supp: 0.164, lift: 1.490, conv: 328873239.437)
{NON-MINORITY} -> {WBE} (conf: 1.000, supp: 0.300, lift: 2.094, conv: 522535211.268)
{ASIAN, MBE} -> {} (conf: 1.000, supp: 0.200, lift: 1.005, conv: 4929577.465)
{, BLACK} -> {MBE} (conf: 1.000, supp: 0.298, lift: 1.490, conv: 328873239.437)
{, HISPANIC} -> {MBE} (conf: 1.000, supp: 0.163, lift: 1.490, conv: 328873239.437)
{NON-MINORITY, New York} -> {} (conf: 1.000, supp: 0.118, lift: 1.005, conv: 4929577.465)
{NON-MINORITY, WBE} -> {} (conf: 1.000, supp: 0.300, lift: 1.005, conv: 4929577.465)

最后吐槽一下,倒数第三个代码块,你这是不是没输出结果啊?

Jupyter关联规则挖掘-莫名其妙的问题相关推荐

  1. 关联规则挖掘算法_#数据挖掘初体验 使用weka做关联规则

    这学期选了数据挖掘课,前两节课刚好都没有去上课.照着教程练习一下课程内容... prepare 下载软件weka,根据系统选择版本,个人使用版本"a disk image for OS X ...

  2. R语言关联规则挖掘数据集预览、分析、筛选:项目数的分布形态(分位数、密度图)、itemFrequency函数统计每一项目在所有事务中出现的次数、最常发生的项目、数据筛选(交易的集合项目大于1)

    R语言关联规则挖掘数据集预览.分析.筛选:项目数的分布形态(分位数.密度图).itemFrequency函数统计每一项目在所有事务中出现的次数.最常发生的项目.数据筛选(交易的集合项目大于1) 目录

  3. R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘)、使用subset函数进一步筛选生成的规则去除左侧规则中的冗余信息、获取更独特的有新意的关联规则

    R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘).使用subset函数进一步筛选生成的规则去除左侧规则中的冗余信息.获取更独特的有新意的关联规则 目录

  4. R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘)、查看限制了规则的右侧之后挖掘到的规则(置信度排序,只查看左侧即可)

    R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘).查看限制了规则的右侧之后挖掘到的规则(置信度排序,只查看左侧即可) 目录

  5. R语言Apriori算法关联规则挖掘:使用interestMeasure函数评估挖掘到的规则(包括覆盖率(coverage)和FishersExactTest)、置信度最高的五条规则(top five

    R语言Apriori算法关联规则挖掘:使用interestMeasure函数评估挖掘到的规则(包括覆盖率(coverage)和FishersExactTest).置信度最高的五条规则(top five ...

  6. R语言使用apriori算法进行关联规则挖掘实战:关联规则概念、频繁项集、支持度(support)、置信度(confidence)、提升度(lift)、apriori算法

    R语言使用apriori算法进行关联规则挖掘实战:关联规则概念.频繁项集.支持度(support).置信度(confidence).提升度(lift).apriori算法 目录

  7. 数据挖掘关联规则挖掘FPtree的思想

    FPtree是针对Apriori关联规则挖掘算法的改进,他的优点在于只需要扫描一遍数据库,建好了FPtree之后,基于树做关联规则挖掘就可以了,显然大大减少了数据库的扫描次数. 建FPtree前的工作 ...

  8. 数据挖掘关联规则挖掘改进算法DHP

    前言: Apriori算法是关联规则挖掘经典算法,但不适合在大型数据库中挖掘关联规则,时间太慢,许多学者提出了改进的算法.比如DHP算法. DHP 1. 减少候选集数量 背景:这个操作是基于Ck来做的 ...

  9. 【数据挖掘】关联规则挖掘 Apriori 算法 ( Apriori 算法过程 | Apriori 算法示例 )

    文章目录 一. Apriori 算法过程 二. Apriori 算法示例 参考博客 : [数据挖掘]关联规则挖掘 Apriori 算法 ( 关联规则简介 | 数据集 与 事物 Transaction ...

  10. 【数据挖掘】关联规则挖掘 Apriori 算法 ( 关联规则性质 | 非频繁项集超集性质 | 频繁项集子集性质 | 项集与超集支持度性质 )

    文章目录 一. 非频繁项集超集性质 二. 频繁项集子集性质 三. 项集与超集支持度性质 参考博客 : [数据挖掘]关联规则挖掘 Apriori 算法 ( 关联规则简介 | 数据集 与 事物 Trans ...

最新文章

  1. 没装Sql Server 2005 Express就不能使用webpart控件?
  2. 用反射简化 asp.net 报表的一点总结
  3. Java注释:类、方法和字段注释
  4. EDG夺冠,我用Python分析一波:粉丝都炸锅了
  5. python学习手册-Python学习手册
  6. NYOJ 49 开心的小明(01背包)
  7. qt信号槽踩坑日记(信号执行一次,槽函数执行多次解决方案)
  8. c语言图书管理系统登录系统,C语言图书管理系统设计代码.doc
  9. 前轮反馈控制(Stanley) 法
  10. 人工智能——单层感知器
  11. matlab中如何实现开关可调频率,如何设计利用数字控制的电压可调开关电源
  12. mongoDB 文档删除
  13. Multisim仿真—恒流源电路(二)
  14. Unity3D入门(三):游戏场景制作 3D 模型基础
  15. BZOJ3993 星际战争
  16. 解决apt-cyg命令不报错也无日志的小问题
  17. 【CSDN软件工程师能力认证学习精选】Web前端经典面试试题及答案-史上最全前端面试题(含答案)
  18. 微信翻译如何使用?在微信中如何进行中翻译英
  19. 「滴滴-橙心优选」秋招面试复盘总结
  20. Token的基本介绍

热门文章

  1. arcmap武汉市各个行政区域的森林覆盖率和水体覆盖率
  2. 新东方雅思词汇---8.1、reckon
  3. 99.9%解决谷歌商店(Google Play)下载应用卡在等待中问题
  4. 计算机系统与手机系统,电脑经常重装系统与手机常刷机好吗?二者有哪些区别?别弄错了!...
  5. Directory Opus打不开除了zip的压缩包(打开错误)
  6. 删除WIN10桌面右键菜单多余项的方法
  7. juniper防火墙外部网址设置
  8. 特征工程(五): PCA 降维
  9. Hive_数据建模工具EZDML
  10. xmind linux,xmind linux免费版下载