开发者学堂课程【高校精品课-北京理工大学-数据仓库与数据挖掘(上):priori 算法的影响因素分析】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/921/detail/15637
priori 算法的影响因素分析
在上一节中,我们已经向大家介绍了 Apriori 算法中如何产生频繁项集以及如何产生规则。
在今天的内容中,我们向大家介绍一下影响 Apriori 算法计算复杂度的因素。
影响 apriori 算法这种复杂的因素主要包含四个,第一个就是最小支持度阈值的选择,第二个是数据集的维度,也就是数据集的项的数,第三个是数据集的规模及数据集中包含事物的数目。第四个是事物的平均宽度,即平均一个事物包含项的数目。
首先我们来看一下最小支持度阈值对 Apriori 算法计算复杂度的影响。在 apriori 算法中,如果我们设置的最小支持度阈值比较小的话,那么就有可能会导致更多的频繁项集。
那么如果我们的支持度阈值涉及的少,首先频繁项集的个数会多,其次,频繁项集的最大长度也可能增加,这些因素都会导致我们 apriori 算法计算复杂度的增加。
第二点,影响因素是数据集的维度,数据集的维度是数据集包含项的数目。如果数据集的向数目比较多,那么在进行支持度计算的时候,我们就需要更多的空间。其次,如果事物集的项数目比较多,那么会导致频繁项集数目的增多,这也会增加 apriori 算法计算中的 IO 的开销。
第三个影响因素是数据库的规模,也就是数据集中包含事物的数目。如果事务数据集中包含事物的数目比较多,那么在进行支持度计数的时候,我们需要将每一个事物和所有的候选频繁相机进行比较。那么它的运行时间就会比较长,这样就会增加 Apriori 算法的计算复杂度。第四个影响因素是事物的平均宽度,就是平均一个项目包含项的数目。如果事物的平均宽度比较高的话,那么就会增加我们频繁项集的最大长度,如果频繁项集的最大长度会增加,那么也就是我们频繁项集的数目会增加。
其次,如果事物的平均宽度比较高,那么它所包含的子集个数会比较多,在进行支持度计数的时候,需要比较的次数也就会多,那么这样就会增加 apriori 算法的计算复杂度。