源码-公众号云上成理回复大数据实验三 自动获取
一.实验目的
1.能够使用简单的的Apriori算法的统计性能指标,理解大数据的关联算法。
2.掌握常用的Apriori算法原理,了解Apriori算法的特点。
3.能够进行实验学会简单应用。
二.实验内容
1.探索准备数据(对汽车评估进行关联分析)。
2.对数据处理,用算法描述。
3.数据的结果分析。
三.实验原理
1. Apriori算法
Apriori使用一种称为逐层搜索的迭代方法,k项集用于探索(k+1)项集。首先,通过扫描数据库,累计每个项的计数,并搜集满足最小支持度的项,找出频繁1项集的集合。该集合记作L1。然后,L1用于找频繁2项集的集合L2,L2用于找L3,如此下去,直到不能找到频繁k项集。找每个Lk需要依次数据库全扫描。
- 提高频繁项集逐层产生的效率
Apriori性质:频繁项集所有非空子集也必须是频繁的。
- 实验内容和步骤
- 实验内容
- 探索准备数据(对汽车评估进行关联分析)
图一
图一是加载数据集,也就是汽车数据的函数。这几维度分别为:(销售价格buying,维护价格maint,门的数量door,座位数量persons,后备箱大小lug_boot,安全系数safety,类值Class Values)。
通过记事本打开car.data文件,也就是图二所示。
q buying:取值范围是vhigh、high、med、low;
q maint:取值范围是vhigh、high、med、low;
q doors:取值范围是2、3、4、5等;
q persons:取值范围是2、4等;
q lug_boot:取值范围是small、med、big;
q safety:取值范围是low、med、high。
Class Values: 取值范围是unacc、acc、good、vgood.四类
数据示例:vhigh,vhigh,2,2,small,low,unacc
图二
- 对数据处理,用算法描述
Apriori算法主要包括以下几个重要步骤,上图一就是导入数据,图三主要就是生成所有频繁项目集。频繁项目集(大于或等于最小支持度的非空子集)。
图三
图四是从频繁项目集中生成大的规则,最终返回一个包含所有规则的列表。
图四
图五就是Apriori算法的主函数了。
图五
- 数据的结果分析
图六
略
先通过以下例子介绍一下置信度,因为上图结果中表现形式为置信度。
{苹果—>啤酒}的置信度=(支持度{苹果,啤酒}/支持度{苹果})3/4,即75%。
置信度有一个缺点,那就是它可能会错估某个关联规则的重要性。只考虑了苹果的购买频率,而并未考虑啤酒的购买频率。如果啤酒也很受欢迎(支持度很高),那苹果的交易显然很有可能也包含啤酒,这会抬高置信度指标。
通过图六,图七,图八,可以看到,提高最小支持度,和提高最小置信度,频繁项集的数目会减少,甚至不出现频繁3项集。
最后通过观察关联准则
通过这个图可以看见置信度为1,为最大值,说明({'safety: low'})和({'Class Values: unacc'})的数据关联性很高,因为安全度不高,同时人们的满意度也不高。
上图可以看出置信度为0.37左右,说明({'Class Values: unacc'})和({'lug_boot: small'})之间的相关性不高,后备箱的大小和人们的满意度没有太大的关系