【Python机器学习】Apriori算法——示例:发现毒蘑菇的相似特征

有时我们并不想寻找所有的频繁项集,而只对包含某个特定元素项的项集感兴趣。在下面这个例子里,我们会寻找毒蘑菇中的一些公共特征,利用这些特征就可以避免吃到那些有毒的蘑菇。

UCI的机器学习数据集合中有一个关于肋形蘑菇的23中特征的数据集,每一个特征都包含一个标称数据值。我们必须将这些标称数据值转化成一个集合。我们已经把每个蘑菇特征样本转换成一个特征集合,其中枚举了每个特征的所有可能值,如果某个样本包含特征,那么该特征对应的整数值被包含数据集中。

下面观察数据:

第一个特征表示有毒或者可食用。如果某样本有毒,则值为2。如果可食用,则值为1.下一个特征是蘑菇伞的形状,有六种可能的值,分别用整数3-8表示。

为了找到毒蘑菇中存在的公共特征,可以运行Apriori算法来寻找包含特征值为2的频繁项集:

python 复制代码
mushDataSet=[line.split() for line in open('test/mushroom.dat').readlines()]
#print(mushDataSet)
L,suppData=apriori(mushDataSet,minSupport=0.3)
for item in L[1]:
    if item.intersection('2'):
        print(item)

上述代码中在Apriori算法结果中搜索了包含有毒特征2 的频繁项集,下面,对更大的项集来重复上述过程:

python 复制代码
for item in L[3]:
    if item.intersection('2'):
        print(item)

接下来,需要观察这些特征,以便知道了解野蘑菇的那些方面。

相关推荐
jiayong236 小时前
第 17 课:任务选择与批量操作
开发语言·前端·javascript·vue.js·学习
weixin_408717776 小时前
HTML图片怎么用Bitbucket Pipelines发布_Bitbucket自动构建HTML站点
jvm·数据库·python
Hhang6 小时前
从 ERP 系统出发,我是如何设计一套 LLM 多 Agent 系统的(二)
前端·人工智能·agent
m0_747854526 小时前
企业级SQL注入防护手段_使用专用的数据库安全网关
jvm·数据库·python
weixin_424999366 小时前
Golang reflect反射怎么用_Golang反射教程【通俗】
jvm·数据库·python
Java后端的Ai之路6 小时前
还在手写 Agent 代码?封装一个 SDK 让你从“码农“升级“包工头“
人工智能·langchain·ai编程·vibe coding·agent sdk
redreamSo6 小时前
Claude Code 最佳实践:从「能用」到「用得好」的 15 个关键技巧
人工智能·claude
2301_815279526 小时前
mysql如何配置慢查询日志记录_开启long_query_time并分析
jvm·数据库·python
InfinteJustice6 小时前
如何在 CGO 中正确处理带 const char- 参数的 C 回调函数
jvm·数据库·python
量子炒饭大师6 小时前
【C++11】RAII 义体加装指南 ——【包装器 与 异常】C++11中什么是包装器?有哪些包装器?C++常见异常有哪些?(附带完整代码讲解)
开发语言·c++·c++11·异常·包装器