我有一个用例,正在尝试使用机器学习解决它。假设我有一个(X1, X2, X3, X4, X5, X6)
形式的输入数据和一个Y
形式的输出值。请考虑以下情形,其中对于同一固定组X5
具有多个(X6
和(X1,X2,X3,X4)
值,并且它们的每个集合都相互关联),并且对于每个(Y
和X5
),您如何在训练机器学习模型时制定数据?
我只能想到以下解决问题的方法:
一世。为每组(X6
和X5
)值设置每一行,并引入等级分类列以说这些输入数据是相关的,即:
X1 X2 X3 X4 X5 X6 Rank Y
1.5 2 3.4 5.4 6.7 7.8 1 2.3
1.5 2 3.4 5.4 4.32 6.3 1 7.4
1.5 2 3.4 5.4 2.1 2.3 1 3.24
2.1 1 12 34 2 3.23 2 1.24
1.5 2 3.4 5.4 6.7 7.8 3 24.4
等等......
ii。对于每个值,将X6
和X5
特征分解为多列,但是这里的问题是我们必须限制列数,并且相关性缺少b / w X6
和X5
。
下面的链接是带有实际功能名称和输出变量的现有实时用例的代码文件和输入文件。
https://drive.google.com/open?id=178XEzd_5iPXGMBJUrqI5kvlwnDspwMhP
https://drive.google.com/file/d/18SA42kDlQto-PnR5fUpAcvXKlimGidOj/view
最佳答案
我看不到您的代码。但是,我得到了您的数据。
我认为PRIORITY
和SCHEDQT
是y
数据。
而且,我使用LEADTIME
,BOMINV
,BOMINFSW
,SKUINV
,SKUINFSW
和COQTY
作为x
数据。您必须知道数据只是在0〜1之间进行了标准化。
比以前更好。
但是,这不是很好的预测。请参考以下结果:
[`LEADTIME`, `BOMINV`, `BOMINFSW`, `SKUINV`, `SKUINFSW`, `COQTY`] [Pre. PRIORITY] [Real PRIORITY]
[0.03333333 0.33333333 0. 0. 0. 0.05666667] [8.221004] [18.]
[0.03333333 0.33333333 0. 0. 0. 0.26666667] [8.221004] [19.]
[0.03333333 0.33333333 0. 0. 0. 0.16666667] [8.221004] [20.]
[1. 0. 1. 0. 0. 0.16666667] [8.221004] [1.]
[1. 0. 1. 0. 0. 0.26666667] [8.221004] [2.]
我认为每个字段值都不能对
PRIORITY
结果产生足够的差异。在上面的示例中,
LEADTIME
,BOMINV
,BOMINFSW
,SKUINV
和SKUINFSW
相同。然后,如果
LEADTIME
或BOMINV
或SKUINV
是0
,我尝试删除一些记录。[0.2 0.33333333 0. 0.66666667 0. 0.33333333] [20.035915] [36.]
[0.2 0.33333333 0. 0.66666667 0. 0.46666667] [20.035915] [38.]
[0.2 0.33333333 0. 0.66666667 0. 0.6 ] [20.0352] [40.]
[0.2 0.33333333 0. 0.33333333 0. 0.16666667] [11.69006] [1.]
[0.2 0.33333333 0. 0.33333333 0. 0.26666667] [11.5476885] [2.]
但是,由于
x
数据显示的差异不够大,因此您也可以看到结果与实际值非常相符。现在,我可以说您需要更多的数据功能来获得足够的学习。