gpt4 book ai didi

machine-learning - ML.NET预测客户订单数量

转载 作者:行者123 更新时间:2023-11-30 08:45:23 25 4
gpt4 key购买 nike

我需要预测任何给定客户的下一个订单数量。

我在下面解释的架构中有数据。这个数据基本上是2018年年中以来客户的订单,有2000多行(数据不是很多,但这是我得到的)

<小时/>

字段的架构和说明:

CustomerId :来自数据库的客户 ID

ProductId:数据库中产品的 ID

ProductTypeId :产品子类型的 ID。例如,如果水是产品,子类型可以是气泡水、矿泉水等。

数量:订购数量。这需要预测

CDate :这是生成订单的日期。

<小时/>

我需要的是,我应该能够提供 ProductIdProductTypeIdClientIdCDate(这将是 future 的日期),我应该得到给定客户可以订购的Quantity

<小时/>

到目前为止,我已尝试使用 ML.NET 网站上给定的回归示例来执行此操作。它们不起作用,因为数量总是预测为零。

经过进一步研究,我发现这是因为 CDate 字段。因此,使用 OneHotEncoding 将此分类字段转换为数字后,预测不再为零,但也不准确。测试数据和预测值相差甚远。

事实证明,这不是处理日期的正确方法。

我尝试查找基于日期和其他功能进行预测的资源,但找不到。出租车费用预测没有日期。其他示例与我需要的无关。

<小时/>

我可以使用哪种解决方案?时间序列?如果我想预测每个客户/每个产品/每个产品类型和按日期的购买情况,我该如何训练?

我是机器学习新手。任何指示都会有帮助。我不想问,但 ML.NET 中的可行解决方案会对我有很大帮助。

如果在 ML.NET 中不可能,那么我愿意使用 Python(这也是新手!)并且我愿意学习。

谢谢。

<小时/>

数据文件可以是downloaded from here

最佳答案

要进行机器学习预测,您需要自己了解结果的因果关系。含义:

*You can program a model only after you have a mental model yourself.

<小时/>

我可以做出两项有意义的贡献:

  1. 特征工程:

    您正在使用CustomerId , ProductId , ProductTypeId , CDate预测 Quantity产品的。没有人阻止您创建一个模型,该模型采用这组输入来生成输出,但是这些输入与输出有相关性吗?

    我看来不是这样的。我认为要建立一个合理的模型,您将需要更好的输入变量。其中一些可能是先前订单的规模、潜在买家的营业额等。这些因素可能会带来更好的产出。

    因此,考虑改进输入功能

<小时/>
  • 型号选择:

    在这种情况下,整体似乎比使用单个模型更好。特别是Linear RegressionDecision Trees似乎相关。

    我没有什么捷径可以交给你。要理解并直观地了解要使用哪些模型以及何时使用它,您必须多次尝试它们。

  • <小时/>

    最后,为了训练模型,有一个标准方法。您将输入数据分为 5 部分(即每部分 20%)。然后用四个部分调整模型并测试第五部分的调整。接下来,您选择另一组四个,依此类推。

    <小时/>

    *对于神经网络来说不成立。隐藏层剥夺了真正理解预测的能力。

    关于machine-learning - ML.NET预测客户订单数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56388585/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com