Exercise Requirements
1. 假设我们有一份个人收入数据(Income.csv),请选择合适的方法对该份数据进行关联规则挖掘,并对规则进行支持和解读。
2. 根据一份开源零售数据,编写Python代码求解。分别调用mlxtend的apriori模块(或efficient-apriori)实现Apriori算法,以及调用mlxtend的fp-growth模块(或pyfpgrowth)实现FP-Growth算法。
- 设定一组不同的最小支持度阈值(例如:0.01、0.05、0.1、0.2);
- 记录两种算法在不同阈值下的运行时间和峰值内存消耗(内存消耗选做);
- 绘制”支持度阈值-运行时间“的折线对比图;
- 深度分析报告,回答一下问题:
- 当最小支持度阈值极低时,哪个算法的性能下降更剧烈?为什么?
- 结合Apriori的”候选集生成“与FP-Growth的”FP-Tree“数据结构,从时间复杂度和空间复杂度的角度解释实验观察到的现象。
数据集:https://archive.ics.uci.edu/dataset/352/online+retail
3. 根据一份”健康APP“的数据(health_habit_data.csv),编写Python代码求解。该数据为某健康APP分析用户的的饮食习惯与某项疾病指标的关联。
- 计算规则 {喝茶} => {患病} 的支持度和置信度。
- 陷阱分析:
- 学生会发现 {喝茶} => {患病} 的置信度非常高(约 88.8%)。这是否意味着“喝茶会导致/伴随该疾病”?
- 引入并计算提升度。
- 结合提升度的计算结果,解释为什么这条看似强关联的规则实际上是一条负相关的虚假规则。
- 指标扩展:查阅文献或库文档,解释其他评估指标在衡量关联规则有效性时的作用,并说明在什么场景下应该使用哪些指标。