【原创】附代码数据
有问题到淘宝找“大数据部落”就可以了
对非NULL的值按照等比原则进行分组,分组结果如下: A:[0,12111] B:(12111,16409] C:(16409, 19805] D:(19805, 23780] E:(23780, +] 分组后取值分布为: A 938
B 937 C 937 D 937 E 938 NULL 3016 2.7 入学率(ADM_RATE_ALL)
数据中,NULL值的占比为69%,占比很大,不能直接将NULL值删除或者进行插补,故将NULL单独作为一个取值分组。
对非NULL的值按照等比原则进行分组,分组结果如下: A:[0,0.52] B:(0.52,0.66] C:(0.66, 0.77] D:(0.77, 0.85] E:(0.85, +]
分组后取值分布为: A 466
B 507 C 484 D 325 E 620 NULL 5301 三、 Apriori算法
Apriori algorithm是关联规则里一项基本算法。其核心思想是通过候选集生
5
【原创】附代码数据
有问题到淘宝找“大数据部落”就可以了
成和情节的向下封闭检测两个阶段来挖掘频繁项集,是由Rakesh Agrawal和Ramakrishnan Srikant两位博士在1994年提出的关联规则挖掘算法。关联规则的目的就是在一个数据集中找出项与项之间的关系,也被称为购物蓝分析 (Market Basket analysis),“购物蓝分析”很贴切的表达了适用该算法情景中的一个子集。关于这个算法有一个非常有名的故事:\尿布和啤酒\。故事是这样的:美国的妇女们经常会嘱咐她们的丈夫下班后为孩子买尿布,而丈夫在买完尿布后又要顺 手买回自己爱喝的啤酒,因此啤酒和尿布在一起被购买的机会很多。这个举措使尿布和啤酒的销量双双增加,并一直为众商家所津津乐道。
3.1 相关概念
用R语言进行关联分析,涉及到的相关概念如下:
资料库(Transaction Database):存储着二维结构的记录集。定义为:D。 所有项集(Items):所有项目的集合。定义为:I。
记录 (Transaction ):在资料库里的一笔记录。定义为:T,T ∈ D。 项集(Itemset):同时出现的项的集合。定义为:k-itemset(k项集),k均表示项数。
支持度(support):定义为 supp(X) = occur(X) / count(D) = P(X)。P(A ∩ B)表示既有A又有B的概率。支持度是指在所有项集中{X, Y}出现的可能性,即项集中同时含有X和Y的概率。该指标作为建立强关联规则的第一个门槛,衡量了所考察关联规则在“量”上的多少。例如购物篮分析:牛奶?面包,支持度3%:意味着3%顾客同时购买牛奶和面包。
置信度(Confidence):定义为 conf(X->Y) = supp(X ∪ Y) / supp(X) = P(Y|X)。 P(B|A),在A发生的事件中同时发生B的概率 p(AB)/P(A)。置信度表示在先决条件X发生的条件下,关联结果Y发生的概率。这是生成强关联规则的第二个门槛,衡量了所考察的关联规则在“质”上的可靠性。例如购物篮分析:牛奶?面包,置信度40%:意味着购买牛奶的顾客40%也购买面包。
候选集(Candidate itemset):通过向下合并得出的项集。定义为C[k]。 频繁k项集:如果事件A中包含k个元素,那么称这个事件A为k项集事件
5
【原创】附代码数据
有问题到淘宝找“大数据部落”就可以了
A满足最小支持度阈值的事件称为频繁k项集。即支持度大于等于特定的最小支持度(Minimum Support/minsup)的项集,表示为L[k]。注意,频繁集的子集一定是频繁集。
强规则:同时满足最小支持度阈值和最小置信度阈值的规则称为强规则。即lift(X -> Y) = lift(Y -> X) = conf(X -> Y)/supp(Y) = conf(Y -> X)/supp(X) = P(X andY)/(P(X)P(Y))。
提升度(lift):提升度表示在含有X的条件下同时含有Y的可能性与没有X这个条件下项集中含有Y的可能性之比。该指标与置信度同样衡量规则的可靠性,可以看作是置信度的一种互补指标。有用的规则的提升度大于1。
3.2 算法流程
为了提高频繁项目的挖掘效率,Apriori算法利用了两个重要的性质,用于压缩搜索的空间:
1,若X为频繁项目集,则X的所有子集都是频繁项目集。 2,若X为非频繁项目集,则X的所有超集均为非频繁项目集。
Apriori算法的处理流程为:宽度优先搜索整个项集空间,从k=0开始,迭代产生长度为k+1的候选项集的集合Ck+1。候选项集是其所有子集都是频繁项集的项集。C1由I0中所有的项构成,在第k层产生所有长度为k+1的项集。这由两步完成:第一步,Fk自连接。将Fk中具有相同(k-1)-前缀的项集连接成长度为k的候选项集。第二步是剪枝,如果项集的所有长度为k的子集都在Fk中,该项集才能作为候选项集被加入Ck+1中。为了计算所有长度为k的候选项集的支持度,在数据库水平表示方式下,需要扫描数据库一遍。在每次扫描中,对数据库中的每条交易记录,为其中所包含的所有候选k-项集的支持度计数加1。所有频繁的k-项集被加入Fk中。此过程直至Ck+1等于空集时结束。
简单的讲,1过程为: (1)扫描; (2)计数; (3)比较;
5
【原创】附代码数据
有问题到淘宝找“大数据部落”就可以了
(4)产生频繁项集;
(5)连接、剪枝,产生候选项集;
(6)重复步骤(1)~(5)直到不能发现更大的频集。 图3.2.1为举例图示。
图3.2.1 Apriori举例图示
3.3 优缺点
Apriori算法的优点:Apriori的关联规则是在频繁项集基础上产生的,进而这可以保证这些规则的支持度达到指定的水平,具有普遍性和令人信服的水平。
Apriori算法的缺点:需要多次扫描数据库;生成大量备选项集;计数工作量太大。
5
【原创】附代码数据
有问题到淘宝找“大数据部落”就可以了
四、模型建立及结果
4.1 公立模型
此模型使用字段为:公立学费(NPT4_PUB)、毕业率(Graduation.rate)、贷款率(GRAD_DEBT_MDN_SUPP)、偿还率(RPY_3YR_RT_SUPP)、毕业薪水(MD_EARN_WNE_P10),入学率(ADM_RATE_ALL)。
因为NULL对实际情况无意义,因此除去取值中有NULL的样本,剩余样本数为589。对剩余样本进行关联分析,模型性能参数如下:
提升度越高,说明规则两边同时出现比只出现一个更为常见,大的提升度代表规则的重要性,并反映了不同情况间的真实联系,因此根据提升度,列出提升度排名前6条规则:
由结果可知,高毕业率高毕业薪水,容易有高偿还率;偿还率和入学率高时,容易出现高的毕业薪水;如果毕业率高,即使贷款率较高时,也有很好的偿还率。
注1:lhs是关联规则的左侧,rhs是关联规则的右侧。support,confidence,lift三列分别
5
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库【最新】R语言关联分析模型报告案例 附代码数据(2)在线全文阅读。
相关推荐: