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

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

相关推荐
2601_965619691 分钟前
AI视频制作:做历史战争视频,兵力部署的老地图难找,AI怎么自动配战争地图?
人工智能·音视频
IT_陈寒10 分钟前
Vue的v-for里用了个临时变量,页面直接挂了
前端·人工智能·后端
WBluuue17 分钟前
数据结构与算法:分块(一):块状数组、块状链表
数据结构·c++·算法·链表
大囚长20 分钟前
AI意图预测与游戏全球同服对战的超光速零延迟探究
人工智能·游戏
xcLeigh38 分钟前
FreeRTOS实战:用STM32+SEGGER打造工业级实时嵌入式系统
人工智能·stm32·单片机·嵌入式硬件·ai
考拉讲支付1 小时前
延迟分账 / 核销分账的技术实现方案:服务完成后再分钱,到底怎么设计?
大数据·运维·人工智能·微信小程序·小程序·系统架构
小小张说故事1 小时前
Python 的 dict 为什么查询是 O(1)?拆开哈希表、扰动函数与扩容阈值
python
ADAI_Bowen1 小时前
写文章 - 知乎
大数据·运维·人工智能
虎鲸不是鱼1 小时前
AI 自动化逆向(三十四)自建指令缓存:把分钟级查询压到秒级
人工智能·自动化·大模型·逆向·ai逆向
脏脏a1 小时前
延迟与画质:远程控制的生命线
开发语言·php