平时看书就是自认为看懂就算,结果在过一段时间,或是面试的时候别人问我貌似什么都不记得。所以如果能把自己所看的,写下来给比人讲清楚我想是非常重要的。开始第一个简单的机器学习算法的解释。参考资料主要是《数据挖掘概率与技术》第三版。
Apriori算法的主要作用是寻找频繁项集。进一步的是根据频繁项集去产生关联规则。在实际应用中类似啤酒和尿布这种故事就可以使用这种算法去解决。
常用的概念
- 项集:就是项的集合。如果在输入时数据师 为了发现哪些商品被同时购买,项集就是商品的集合。
- 支持度:频繁项集的支持度通常用项集在输入数据中出现的次数来计算。在啤机和尿布中就是啤酒喝尿布同时被人购买的次数。当然也可以用出现的概率来计算,这个就是出现的次数除上一个样本总是。
- 频繁项集:支持度计数>min支持度计数的项集
- 先验性质:频繁项集的所有非空子集都是频繁的。这个性质是Aprori算法关键的部分。要理解Apriori,首先要搞清楚这个性质的意思,至于为什么成立时很简单的逻辑。还如果购买啤酒的次数少于最小支持度,所有和啤酒一起购买的商品组合的次数不会高于啤酒的购买次数,所以任何和啤酒组合的商品不会是频繁的。
伪代码
- 输入数据集D,min_support(最小支持度计数)<