本数据挖掘算法是本人进入研究生学习阶段进行的第一项“比较难”的学习,下文除了源代码有参考Zealseeker博主之外均为原创手打,如有哪里写的不严谨,望请谅解。
首先频繁模式(Frequent Patten)表示频繁的出现在数据集中的模式,举个例子,去烧烤摊点串,这种菜单上的内容就是一种频繁模式,因为会有某种串被点了很多根,那么这就视为是一种“频繁”的成员,同时还有两个比较重要的概念是“支持度”和“置信度”,支持度表示表示两种事务同时发生的概率,举个例子,这家店今天有一百桌吃饭,其中同时点了羊肉串和牛肉串的有20桌,那么就认为该事件的支持度为20%;同时,点了牛肉串的有50桌,在这50桌里有20桌点了羊肉串,那么支持度为40%。“最小支持度阈值”即我们设定的支持度下限,“最小置信度阈值同理”。
Apriori使用一种逐层迭代的方法来搜索频繁项集,所谓频繁项集,即在上文中出现的“牛肉串、羊肉串同时购买”这样的两种或多种时间同时发生并且至少达到预设的最小支持度的事件。下面我依据《数据挖掘:概念与技术(第三版)》中的某分店实物数据进行详细阐述。
T100=[I1,I2,I5]
T200=[I2,I4]
T300=[I2,I3]
T400=[I1,I2,I4]
T500=[I1,I3]
T600=[I2,I3]
T700=[I1,I3]
T800=[I1,I2,I3,I5]
T900=[I1,I2,I3]
在这里我设置最小频繁度为