Модели SciKitLearn не распознают временные метки, поэтому вам придется разбить столбец временных меток на ряд функций, ie. день недели, час и т. д. c. Если вам нужна 30-минутная точность, вам придется как-то агрегировать данные из столбца PeopleCount, ie. записывать среднее, минимальное или максимальное количество людей в течение каждого 30-минутного интервала времени. Хорошей идеей может быть также создание отстающих функций ie. каково количество людей в предыдущем временном интервале или даже в 2, 3 или n временных интервалах a go.
Как только у вас есть готовые функции времени и метки (соответствующие количества людей), вы можете начать обучение ваши модели стандартным образом:
- разбейте ваши данные на наборы обучения и проверки,
- обучите каждую модель, которую вы хотите попробовать, и сравните результаты.
Для этой задачи должен подходить любой регрессор, ie. Ридж, Лассо, DecisionTreeRegressor, SVR et c. Однако обратите внимание, что если вам нужно получить наилучший временной интервал из заданного диапазона, вам нужно будет сделать прогнозы для каждого временного интервала из диапазона и выбрать тот, который соответствует критериям, хотя могут быть случаи, когда наименьшее прогнозируемое значение не меньше затем значение, с которым вы сравниваете.
Если вы не получите удовлетворительных результатов с регрессорами, ie. каждый раз, когда среднеквадратичные или среднеквадратичные ошибки слишком велики, вы можете придумать классификационный случай ie. вместо того, чтобы обучать регрессора прогнозировать количество людей, вы можете обучить классификатор, чтобы предсказать, будет ли счет больше 50 или нет.
Существует множество способов решения этой проблемы. После того, как вы попробуете разные модели и изучите результаты, вы найдете способы оптимизации параметров, инженерные функции, предварительную обработку ввода и т. Д. c.