灌溉中的机器学习方法

时间:2019-03-05 07:07:22

标签: machine-learning supervised-learning

我是机器学习的新手。我正在研究机器学习灌溉问题。我需要研究特定的农作物(例如水稻)。我必须应用机器学习方法,根据气候参数(种子是否需要播种)来告诉农民(就像农民应该在田间浇水一样)。

大米需要以下参数气候条件: -平均而言,每个月大约需要180-300毫米水才能生产出相当好的稻米。 -最佳温度20-35摄氏度

我的数据链接: https://github.com/TanvirMahmudEmon/Rainfall-Prediction/blob/master/data/final-dataset.csv

以下是我的疑问:

1)它属于监督问题还是非监督问题(我认为它属于分类监督问题)?

2)如何为训练目的标记数据集。 (我认为通过在python中通过if-else来比较标准水稻气候值所提交的温度场和降雨量并相应地标记yes或no)?

3)如果我根据步骤(2)中提到的方法进行标记。我如何处理整个数据集?

4)我应该尝试使用哪种ML算法来提高准确性?

2 个答案:

答案 0 :(得分:2)

  1. 这是一个有监督的学习问题,您的标签将为1或0,其中1代表“浇水”,0代表“不浇水”。

  2. 您可以使用列表理解,例如:

    y = [1 if rainfall in range(180,300) and temp in range(25,30) else 0 for row in data]
    

    然后将y转换为numpy数组,以便于计算。

  3. 上一个答案也可能使您对问题2有所了解。

  4. 我会建议决策树或逻辑回归。结果可能会更好,但是只有在进行测试时您才会知道。建议使用这两种算法的原因是,它将比SVM快一点。

答案 1 :(得分:1)

  1. 是的,这是一个监督问题,因为您有一个标签指示是否根据参数给它们浇水;一个分类问题,因为您有两个班级:不喝水。因此,您在这里尝试根据所考虑的参数将方案分类为水。

2,3。您可以通过先使用pandas导入整个数据集,然后通过解析字段并将其添加到标签字段中来对其进行标签。

  1. 如果您打算根据传感器的输入来决定它与时间无关,并且由于季节性降雨模式可能会有所不同,我建议您坚持使用传感器数据;在这种情况下,您不必进行时间序列分析。由于您只有两个类,因此我们需要一个二进制分类器。 SVM可能就足够了。