Насколько я понимаю, ваша цель - предсказать CatNMap
(ваши выходные данные) на основе первых 3 столбцов (ваши входные данные как элементы).
Как вы сказали ранее, (CustomerID, VendorID, ProductID
) являются 3 категориальными переменными , что означает, что значение, которое они могут иметь, относится не к количеству, а к категории. Таким образом, два последовательных значения могут не иметь ничего общего с их действительным значением. На мой взгляд, то же самое происходит с вашим выводом CatNMap
.
Сказав это, есть несколько способов обработки категориальных переменных. На моем опыте, для вашей проблемы я бы попробовал One Hot Encoding для всех ваших данных (CustomerID, VendorID, ProductID, CatNMap
). Более того, если вы сочтете это возможным, возможно, стоит попробовать использовать вложения для ProductID, CatNMap
вместо OneHotEncoding.
Что касается того, какой алгоритм использовать, то определенно стоит попробовать обучите модели Random Forest и Multi Layer Perceptron и сравните их после некоторой настройки.
Я нашел это руководство полезным, где вы можете увидеть некоторые примеры, но есть много других ресурсов, связанных с этим топи c. Вы также должны взглянуть на это .