基于机器学习的肥料推荐系统 — 可复现性研究报告
1 基于机器学习的肥料推荐系统
1.1 项目简介
本项目基于 Kaggle Predicting Optimal Fertilizers 数据集,构建一个可复现的肥料推荐系统。
项目根据温度、湿度、土壤水分、土壤类型、作物类型以及氮磷钾含量等信息,预测适合使用的肥料类型。
1.2 关于 Kaggle
Kaggle 是全球最大的数据科学竞赛平台,由 Google 于 2017 年收购。平台提供三个核心功能:
1.2.1 数据集
Kaggle 拥有超过 25 万个公开数据集,涵盖计算机视觉、自然语言处理、推荐系统、金融等领域。数据集通常附带详细的元数据说明、探索性分析笔记(Notebooks)和社区讨论,便于快速上手分析。
1.2.2 竞赛机制
Kaggle 竞赛分为以下几类:
| 类型 | 说明 |
|---|---|
| Featured | 由企业或组织发起,提供现金奖励,通常持续 2-3 个月 |
| Research | 学术研究导向,奖励较少但更具探索性 |
| Playground | 适合学习和练习,数据经过合成处理,无现金奖励 |
| Analytics | 商业分析类竞赛,侧重数据洞察而非模型预测 |
竞赛流程:
- 发布赛题 — 组织者提供训练数据和评估指标
- 参赛者提交 — 上传预测结果到 Leaderboard 进行评分
- 排行榜排名 — 根据评估指标(如 MAP@3、AUC、RMSE 等)排名
- 颁奖 — 竞赛结束后按最终排名发放奖金
1.2.3 Playground Series
本项目使用的数据来自 Kaggle Playground Series。这是 Kaggle 定期发布的合成数据竞赛,目的是:
- 帮助新手入门机器学习竞赛
- 提供标准化的练习环境
- 使用生成模型合成与真实问题相似的数据
Playground Series 的数据经过隐私保护处理,不包含真实敏感信息,但保留了真实数据的统计特征。
1.3 数据来源
本项目数据来自 Kaggle Playground Series S5E6 竞赛。
原始数据文件包括:
train.csv— 训练集,750,000 行 × 10 列,包含输入特征和目标变量test.csv— 测试集,250,000 行 × 9 列,只包含输入特征sample_submission.csv— 提交格式示例
由于数据来自 Kaggle,本仓库不直接上传原始 CSV 数据。复现实验时需要自行从 Kaggle 下载数据,并放入 data/ 文件夹。
1.4 研究目标
- 构建肥料推荐基线模型
- 评估模型在 MAP@3 指标上的表现
- 提供完整的可复现流程
1.5 模型结果
本项目使用 Logistic Regression 作为基线多分类模型,采用 3 折分层交叉验证。
| Fold | MAP@3 |
|---|---|
| Fold 1 | 0.2710 |
| Fold 2 | 0.2718 |
| Fold 3 | 0.2753 |
| Mean | 0.27285 |