构建机器学习模型以根据环境数据预测作物产量

数据挖掘 Python scikit-学习 熊猫
2021-09-22 07:40:07

我有一个数据集,其中包含一个农场 10 年(2005 - 2014 年)的温度、降水和大豆产量数据。我想根据这些数据预测 2015 年的产量。

请注意,该数据集具有温度和降水的 DAILY 值,但每年只有 1 个产量值,因为作物收获发生在作物生长季节结束时。

我想建立一个回归或其他基于机器学习的模型来预测 2015 年的产量,基于回归/其他一些模型,该模型是通过研究前几年的产量与温度和降水之间的关系得出的。

我熟悉使用 scikit-learn 执行机器学习。但是,不确定如何表示这个问题。这里的棘手部分是每天都有温度和降水,但每年的产量只有 1 个值。

我该如何处理?

3个回答

首先,您可以根据上一年的每日数据预测来年的产量。您可以通过将每年的数据价值视为一个“点”来估计模型参数,然后使用交叉验证来验证模型。您可以通过考虑超过过去一年的时间来扩展此模型,但如果回顾得太远,您将无法验证您的模型和过度拟合。

您有 10 个数据点,每个数据点具有 365(每天的温度)+ 365(每天的降水量)维度。理想情况下,我会首先通过机器学习方法减少维度,例如 PCA。然后使用机器学习方法建立预测模型。但是,由于数据集较小,我认为机器学习技术不适合您的问题。

您可以使用贝叶斯信念网络进行预测。这是基本解释的链接:贝叶斯网络