基于机器学习的肥料推荐系统 — 可复现性研究报告

Author

Fertilizer Prediction 小组

Published

June 17, 2026

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 商业分析类竞赛,侧重数据洞察而非模型预测

竞赛流程:

  1. 发布赛题 — 组织者提供训练数据和评估指标
  2. 参赛者提交 — 上传预测结果到 Leaderboard 进行评分
  3. 排行榜排名 — 根据评估指标(如 MAP@3、AUC、RMSE 等)排名
  4. 颁奖 — 竞赛结束后按最终排名发放奖金

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 研究目标

  1. 构建肥料推荐基线模型
  2. 评估模型在 MAP@3 指标上的表现
  3. 提供完整的可复现流程

1.5 模型结果

本项目使用 Logistic Regression 作为基线多分类模型,采用 3 折分层交叉验证。

Fold MAP@3
Fold 1 0.2710
Fold 2 0.2718
Fold 3 0.2753
Mean 0.27285