hashir500/smart-shopping-price-predictor

GitHub: hashir500/smart-shopping-price-predictor

一个基于正则化随机森林的机器学习项目,用于预测亚马逊印度产品的折扣百分比,帮助购物者识别最佳购买时机。

Stars: 0 | Forks: 0

# 智能购物价格预测器 一个机器学习项目,用于预测亚马逊印度产品的折扣百分比——帮助购物者识别哪些产品类别和价格区间提供最划算的交易。 ## 问题陈述 每个网购者都曾想过——“我应该现在购买,还是等待促销?” 大多数人只是猜测。这个项目使用机器学习来分析真实亚马逊产品数据中的模式,从而回答这个问题——找出哪些类别折扣最大、评分如何与定价相关,并预测产品可能获得的折扣。 ## 数据集 - **来源:** 亚马逊印度销售数据集(Kaggle) - **规模:** 9个类别共1,465个产品 - **关键字段:** `actual_price`、`discounted_price`、`discount_percentage`、`rating`、`rating_count`、`category` ## 项目结构 ``` Smart-Shopping-Price-Predictor/ │ ├── Smart_Shopping_Price_Predictor.ipynb # Main notebook ├── amazon.csv # Dataset └── README.md ``` ## 工作流程 ### 1. 数据清洗 - 移除价格列中的 `₹` 符号和逗号 - 去除折扣百分比中的 `%` - 处理 `rating_count` 中的缺失值和格式错误 - 将所有相关列从文本类型转换为数值类型 ### 2. 特征工程 - `discount_amount` —— 实际价格与折扣价的差额 - `main_category` —— 从嵌套的类别字符串中提取顶级类别 - `category_encoded` —— 用于随机森林的标签编码类别 - `product_name_len` —— 产品名称长度作为数值信号 ### 3. 探索性数据分析 - **HomeImprovement** 提供最高的平均折扣(约60%) - **Toys & Games** 提供最低的折扣(约0%) - 评分较低的产品往往获得更高折扣——很可能是清仓定价 - 高价产品相比平价产品折扣幅度更不稳定 ### 4. 模型训练 | 模型 | MAE | 说明 | |---|---|---| | 线性回归 | 15.6% | 基线模型——未使用类别特征 | | 未正则化的随机森林 | 训练集:4.5% / 测试集:10.7% | 检测到过拟合 | | 已正则化的随机森林 ✓ | 训练集:10.8% / 测试集:11.8% | 过拟合已解决 | ### 5. 正则化 初始随机森林在训练数据上过拟合(训练与测试 MAE 差距约6%)。通过以下调优解决: - `max_depth=10` —— 限制每棵树的规则复杂度 - `min_samples_leaf=5` —— 每条规则至少应用于5个产品 - `max_features='sqrt'` —— 强制树之间具有多样性 ### 6. 预测 最终模型在四个产品价格区间(从经济型到豪华型)预测折扣百分比,显示实际价格如何影响预期的折扣水平。 ## 关键发现 - 产品类别是折扣百分比的最强预测因子 - 正则化后,训练与测试 MAE 的差距从约6%缩小到约1% - 经济型产品比豪华型产品获得更深且更稳定的折扣 - 评分本身是一个弱预测因子——高评分产品并不一定折扣更少 ## 技术栈 | 工具 | 用途 | |---|---| | Python | 核心语言 | | Pandas | 数据加载与清洗 | | Seaborn / Matplotlib | 可视化 | | Scikit-learn | 模型训练与评估 | ## 如何运行 1. 克隆仓库 ``` git clone https://github.com/yourusername/smart-shopping-price-predictor.git ``` 2. 安装依赖 ``` pip install pandas scikit-learn seaborn matplotlib ``` 3. 打开笔记本 ``` jupyter notebook Smart_Shopping_Price_Predictor.ipynb ``` 4. 将第3单元格中的数据集路径更新为本地 `amazon.csv` ## 简历项目 **消费者行为分析与价格优化** - 构建了一个正则化随机森林回归模型,用于预测1,465个亚马逊印度产品的折扣百分比,测试 MAE 约为11.8% - 从产品类别、评分和定价数据中提取特征,识别出提供最深折扣的产品区间与类别,从而实现更明智的购买时机决策
标签:Amazon India, Apex, EDA, Kaggle, MAE, Mutation, NumPy, Python, Scikit-learn, 价格预测, 促销分析, 可视化, 折扣预测, 数据清洗, 数据预处理, 无后门, 最佳购买时机, 机器学习, 模型评估, 正则化, 特征工程, 电商, 类别编码, 购物建议, 过拟合修复, 过拟合检测, 逆向工具, 随机森林