我正在尝试解决一个回归问题,其中工厂整合订单中包含的产品。
我知道合并工厂整合一个订单所需的总时间。现在问题来了。
当两个不同数量的产品合并时,它们需要一定的时间来完成合并。但有时一个订单中会有超过两种不同数量的产品,合并工厂需要整合这些产品。
我知道工厂为每个整合的订单所需的总时间。合并中心需要合并的产品数量可以从1到n不等。
我该如何准备训练数据,让我的模型理解这一点呢?
ProductCode ProdQty x1 1 x2 4
上面的例子花了143小时
ProductCode ProdQty x1 1 x2 4 x3 7
上面的例子现在花了200小时。
在第一个例子中,合并中心有两种不同数量的产品,花了143小时,而在第二个例子中,三个产品参与其中,花了200小时。
我该如何准备训练数据,以便我的模型能理解这一点,并且我可以预测工厂将花费多少时间?
我还有很多其他特征,但这些是订单特定的,我知道如何处理这些。
回答:
像这样:
x1 x2 x3 x4 ... xn y1 4 0 0 0 1431 4 7 0 0 200
在这里,你的因变量y
,即每个包裹组装所需的时间,是所有x
(构成该包裹的数量)的函数。你的目标是将包装时间与各个数量进行回归。在训练数据的第一行,x3
、x4
等值全为零,因为这些在那个花了143小时准备的订单中不存在。在第二行,x4
、x5
等值全为零,因为这些在那个花了200小时准备的订单中不存在。
你现在可以对所有x
值进行y
的回归,当有人说“我有一个新订单,包含10个x5
,2个x3
和7个x7
”,你只需将这三个数字代入估计的方程,就可以得出你想要的预测y
值。
希望这能回答你的数据问题。如果你需要任何澄清或对这个结构进行修改,请评论。
补充:
如果你有影响包装时间的额外变量,你也可以将它们添加为列。例如,你想使用温度、订单接收时间、工人数量以及仓库经理是谁(只是假设)来预测包装时间。你可以这样做:
x1 x2 x3 x4 ... xn temp orderTime workers manager y1 4 0 0 0 20 5AM 5 John 1431 4 7 0 0 30 11AM 3 George 200
当然,这些新特征中的一些需要虚拟化、分类等处理;而你原来的x
数量只是连续变量。