GIS信息关联规则挖掘——Apriori算法的实现(上)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ahlxt123/article/details/45281407

最近闲着无聊没啥课,帮读master的朋友做了一个桌面端的GIS系统,主要功能是景区管理。

其中有个核心功能挺有意思的,就是统计所有景区受损设施的所有致损类型和每个类型具体包含的致损因子后,计算致损因子之间的关联规则,然后可以根据用户选定的致损类型组合计算出其景区设施造成损害的概率。(有点学术的一个功能~)


举个例子详细说明:

假设景区内损坏的垃圾桶前后共有100个,导致垃圾桶受损的的因素有天气、温度、节假日、游客举止、垃圾桶造型这5种类型,其中天气类型包含阴、雨、雪、雾等因子,垃圾桶造型类型包含传统、潮流、可爱等因子,温度类型包含。。。。。然后这100个受损垃圾桶中导致每个垃圾桶损坏的因素包含天气、温度、游客举止、节假日、垃圾桶造型这些类型中的一种或者几种类型的不同因子,比如有的垃圾桶的受损原因只有游客举止类型中的“儿童破坏”因子,有的垃圾桶的受损原因则是节假日类型中的“十一国庆”因子和游客举止类型中的“远程投掷”因子。。。。

现在我们要统计所有垃圾桶的受损原因后,推断“天气”因素+“节假日”因素+“游客举止”因素组合中对垃圾桶造成损坏率超过2%的所有因子组合~

这其实跟GIS没多大关系,已经属于数据挖掘领域了~~然后我决定使用数据挖掘算法中不是特别复杂的aporior算法来实现关联规则的推算~


(下面是aprior算法的一些介绍~ 具体的代码实现扔在下篇文章啦)

Apriori算法简介:  Apriori算法是一种挖掘关联规则的频繁项集算法, 属于关联分析。它的功能是找出频繁项集,例如:超市购物中,那些商品总是同时被购买,如啤酒和尿不湿总是被同时购买,这时商家就可以把他们放在一起使得啤酒和尿不湿的销量更多。其核心是:先找频繁项集是1的元素,在这基础上找频繁项集时2的元素,,,,,,,在频繁项集是K的元素中找频繁项集是K+1的元素。


算法的一些基本概念:


对于A->B
①支持度:P(A ∩ B),既有A又有B的概率
②置信度:P(B|A),在A发生的事件中同时发生B的概率 p(AB)/P(A)     例如购物篮分析:牛奶 ⇒ 面包

例子:[支持度:3%,置信度:40%]
支持度3%:意味着3%顾客同时购买牛奶和面包
置信度40%:意味着购买牛奶的顾客40%也购买面包
③如果事件A中包含k个元素,那么称这个事件A为k项集事件A满足最小支持度阈值的事件称为频繁k项集。

核心流程如下(从网上找的图):





猜你喜欢

转载自blog.csdn.net/ahlxt123/article/details/45281407