freddyrerazo-ctrl/cs4412-retail-transactions
GitHub: freddyrerazo-ctrl/cs4412-retail-transactions
一个基于关联规则挖掘、聚类和异常检测技术对杂货零售交易数据进行模式发现的学术数据挖掘项目,揭示了消费者购物行为中的隐藏规律。
Stars: 0 | Forks: 0
# 杂货零售交易中的模式发现
**CS 4412:数据挖掘 | Kennesaw State University**
**作者:** Freddy Erazo
**学期:** 2026年春季
## 项目概述
本代码库包含了我的 CS 4412 学期项目的完整实现和最终文档。目标是将**数据库中的知识发现(KDD)**过程应用于杂货零售数据集,通过结合关联规则挖掘和无监督机器学习,揭示消费者行为中不明显的模式。
该项目成功地将原始交易日志转化为可操作的商业智能,将该零售商定位为由基本生活用品和高忠诚度 VIP 购物者群体驱动的“日常必需品中心”。
## 主要实现特性
* **端到端数据流水线**:自动化摄取、清洗和转换 **38,765 条交易记录**。
* **购物篮分析**:应用 **Apriori Algorithm** 生成 240 条规则,识别出具有高提升度的“产品锚点”,例如酸奶-牛奶关系(Lift:2.18)。
* **客户细分**:实现了 **K-Means Clustering**,将购物者群体细分为三个不同的行为画像:偶尔购物者、常规购物者和 VIP 购物者。
* **异常检测**:集成了 **Isolation Forest** 算法,以过滤“极端”购物者(前 1%),从而确保聚类的完整性并防止非人类数据偏差。
* **统计验证**:利用 **Elbow Method** 和 **Silhouette Analysis**,在数学上验证了最佳的聚类数量($k=3$)。
## 数据集
* **名称**:零售交易数据集(杂货)
* **来源**:Kaggle
* **范围**:基于 `Member_number` 和 `Date` 合并后的 38,765 条记录,总计包含 **14,963 个独立的购物篮**。
## 代码库结构
* `retail_data_project.ipynb`:包含完整流水线的主要 Jupyter Notebook:EDA、Apriori 挖掘、K-Means 聚类和 Isolation Forest。
* `Groceries_dataset.csv`:原始交易数据。
* `Analysis_Milestone3.pdf`:详细说明实现状态、分析选择和发现结果的技术报告。
* `README.md`:项目概述和设置说明。
## 方法论与发现
### 1. 预处理与转换
数据被分组为“购物篮”以代表个人的购物行程。我应用了 **One-Hot Encoding** 进行关联挖掘,并使用 **StandardScaler** 标准化进行聚类,以确保 K-Means 算法在处理购物频率和数量时具有同等的数学权重。
### 2. 挖掘与模式发现
* **产品锚点**:识别出 `{Yogurt} -> {Whole Milk}` 作为主要锚点,其 **Lift 为 2.18**,表明这些商品是顾客有意结合购买的。
* **行为细分**:
* **细分群体 0(常规购物者)**:平均购物 4.4 次和购买 11.5 件商品的常规购物者。
* **细分群体 1(偶尔购物者)**:平均购物 2.2 次和购买 5.4 件商品的“补充”购物者。
* **细分群体 2(VIPs)**:平均购物 6.9 次和购买 18.8 件商品的高频忠诚客户。
### 3. 商业洞察
分析表明这是一种便利驱动的模型,其中乳制品和农产品等商品带动了日常客流。战略建议包括为高提升度的商品对实施“捆绑销售”,以转化偶尔购物的顾客,以及为高价值的 VIP 群体开发保留计划。
## 如何运行
1. **克隆代码库**:
git clone [https://github.com/freddyrerazo-ctrl/cs4412-retail-transactions](https://github.com/freddyrerazo-ctrl/cs4412-retail-transactions)
2. **安装依赖项**:
pip install pandas numpy matplotlib seaborn mlxtend scikit-learn
3. **执行**:运行 `retail_data_project.ipynb` 中的所有单元格,以重新生成分析和可视化结果。
## 关键评估与未来工作
* **局限性**:用于挖掘的低支持度阈值(0.001)揭示了罕见但强有力的规则;然而,这些规则可能缺乏在全店范围内进行物理重组所需的数量规模。
* **未来工作**:整合时间稳定性分析(一周内的每日波动),并纳入人口统计数据,以更好地理解 VIP 群体行为背后的“原因”。
标签:Apex, Apriori算法, BSD, Isolation Forest, Kaggle数据集, KDD过程, K-Means聚类, Matplotlib, NoSQL, Python, Scikit-learn, 代码示例, 关联规则挖掘, 商业智能, 大学课程项目, 孤立森林, 客户细分, 异常检测, 数据分析, 数据挖掘, 数据科学项目, 数据管道, 无后门, 无监督学习, 机器学习, 消费者行为分析, 统计验证, 聚类分析, 肘部法则, 购物篮分析, 轮廓系数, 软件工程, 逆向工具, 零售交易分析