【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)

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

相关推荐
光影少年4 分钟前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
吴佳浩8 分钟前
终章实战|300 行纯 Python 代码,手把手带你手搓一个生产级 Coding Agent
人工智能·agent
Escalating_xu9 分钟前
【C 语言】深入理解指针(5):sizeof、strlen、数组名语义与指针笔试题全解析
java·c语言·开发语言
HEJOO916 分钟前
Linux 设备驱动系列——使用全局工作队列
java·linux·算法
Code_Solitude29 分钟前
c语言:递归
java·c语言·算法
loulanyue_33 分钟前
体验的Scaling时刻:读淘天首席科学家郑波2026云栖演讲
人工智能·计算机视觉·大模型·多模态
掘金酱36 分钟前
[稀土掘金 × 火山引擎] AI用量周榜冲刺赛|获奖名单公示
前端·人工智能·后端
FII工业富联科技服务38 分钟前
2026年AI技术发展趋势分析:从模型能力突破到工业AI的真实应用
大数据·人工智能·深度学习·机器学习·制造·ai智能体·agentic ai
还卿一钵无情泪39 分钟前
Docker 部署Unsloth 绕开环境配置难题
运维·人工智能·docker·ai·容器·nlp·干货
Nebula_g1 小时前
JavaSE加强:Stream流
java·开发语言·windows·stream·javase·流