Как обрабатывать несколько значений функций в конкретной записи в машинном обучении? - PullRequest
1 голос
/ 11 мая 2019

У меня есть сценарий использования, для которого я пытаюсь решить его с помощью машинного обучения. Допустим, у меня есть входные данные в виде (X1, X2, X3, X4, X5, X6) и выходное значение Y. Рассмотрим следующий сценарий, в котором у вас есть несколько значений (X5 и X6, и каждый их набор коррелирован) для одного и того же фиксированного набора (X1,X2,X3,X4), и у вас есть значение Y, изменяющееся для каждого набора (X5 и X6), как вы формулируете данные при обучении модели машинного обучения?

Я мог думать только о следующих способах решения проблемы:

я. Подготовьте каждую строку для каждого набора значений (X5 и X6) и введите столбец категориального ранга, чтобы сказать, что эти входные данные коррелированы, т.е.:

X1 & EnSP; X2 & EnSP; X3 и EnSP; Х4 & EnSP; X5 & EnSP; & EnSP; X6 & EnSP; & EnSP; место и EnSP; Y
1,5 & EnSP; 2 & EnSP; 3,4 & EnSP; 5,4 & EnSP; 6.7 & EnSP; 7,8 & EnSP; & EnSP; 1 & EnSP; & EnSP; & EnSP; & EnSP; 2,3
1,5 & EnSP; 2 & EnSP; 3,4 & EnSP; 5,4 & EnSP; 4,32 & EnSP; 6.3 & EnSP; & EnSP; 1 & EnSP; & EnSP; & EnSP; 7,4
1,5 & EnSP; 2 & EnSP; 3,4 & EnSP; 5,4 & EnSP; 2.1 & EnSP; 2,3 & EnSP; & EnSP; 1 & EnSP; & EnSP; & EnSP; 3,24
2.1 & ensp; 1 & ensp; 12 & ensp; 34 & ensp; 2 & EnSP; & EnSP; 3,23 & EnSP; & EnSP; 2 & EnSP; & EnSP; & EnSP; & EnSP; 1,24
1,5 & EnSP; 2 & EnSP; 3,4 & EnSP; 5,4 & EnSP; 6,7 & EnSP; & EnSP; 7,8 & EnSP; & EnSP; 3 & EnSP; & EnSP; & EnSP; & EnSP; 24,4

и так далее ...

II. Разбейте элементы X5 и X6 на несколько столбцов для каждого их значения, но проблема здесь в том, что мы должны ограничить количество столбцов, и корреляция отсутствует ч / б X5 и X6.

Ниже ссылки - файл кода и входной файл, прикрепленный к существующему сценарию использования в реальном времени с фактическими именами объектов и выходной переменной.

https://drive.google.com/open?id=178XEzd_5iPXGMBJUrqI5kvlwnDspwMhP https://drive.google.com/file/d/18SA42kDlQto-PnR5fUpAcvXKlimGidOj/view

1 Ответ

0 голосов
/ 22 мая 2019

Я не вижу ваш код. Но я получил ваши данные.

Я думаю 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 данные не показывают достаточную разницу.

Теперь я могу просто сказать, что вам нужно больше возможностей данных, чтобы получить достаточное обучение.

...