Мне нужно предсказать количество заказов каждого данного клиента.
У меня есть данные в приведенной ниже схеме. Эти данные в основном являются заказами клиентов с середины 2018 года. В нем более 2000 строк (не так много данных, но это то, что я получил)
Схема и объяснение полей :
CustomerId
: идентификатор клиента из БД
ProductId
: идентификатор продукта из DB
ProductTypeId
: идентификатор подтипа продукта. например, если вода является продуктом, подтипом может быть газированная, минеральная и т. д.
Quantity
: заказанное количество. Это должно быть предсказано
CDate
: это дата создания заказа.
Что мне нужно, это , я должен быть в состоянии предоставить ProductId
, ProductTypeId
, ClientId
и CDate
(это будет в будущем), и я должен вернуть то, что Quantity
данный клиент мог заказать.
До сих пор я пытался сделать это, используя данные регрессионные образцы с сайта ML.NET. Они не работают, так как количество всегда предсказывается равным нулю.
При дальнейших исследованиях я обнаружил, что это из-за поля CDate.
Таким образом, после преобразования этого категориального поля в число с использованием OneHotEncoding
, прогноз больше не был нулевым, но он также не был точным. Тестовые данные и прогнозные значения были далеко.
Оказывается, это неправильный метод для обработки дат.
Я пытался найти ресурсы, в которых прогноз основан на дате и других функциях, но не смог их найти. У такси-прогноза нет даты. Другие образцы не связаны с тем, что мне нужно.
Какое решение я могу использовать? Временные ряды? Как мне тренироваться, если я хочу предсказать покупку по клиенту / по продукту / по типу продукта и по дате?
Я новичок в машинном обучении. Любые указатели помогут. Ненавижу спрашивать, но рабочее решение в ML.NET помогло бы мне долгий путь.
Если это невозможно в ML.NET, тогда я открыт для использования Python (новичок в этом тоже!) И готов учиться.
Спасибо.
Файл данных можно скачать здесь .