Двоичный прогноз с данными, включающими время начала и окончания - PullRequest
0 голосов
/ 05 июня 2018

У меня есть набор данных о доставке посылки с такими столбцами, как время поездки, запланированное время доставки, фактическое время доставки, задержка и запланированное время доставки.И на основании этого мне нужно предсказать, будет ли доставка вовремя или нет.Ниже приводится набор данных:

enter image description here

Я планирую использовать sklearn LabelEncoder() для категориальных функций, а затем подгонять эти данныедо DecisionTreeClassifier().У меня вопрос, должен ли я трансформировать функции, содержащие ВРЕМЯ, или просто оставить его?Значение времени 1955 означает 19:55, а 735 означает 07:35.Я использую Python.

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Поскольку у вас есть столбец задержки отгрузки, поэтому фактическое время отгрузки и запланированное время отгрузки не требуется.

И вы запланировали время в пути, поэтому плановое время доставки не требуется.

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

Итак, вы не можете игнорировать времяколонны при построении модели.

0 голосов
/ 05 июня 2018

Поскольку разница между значениями 1959 для 19:59 и 2000 для 20:00 в основном составляет всего 1 минуту, вы теряете этот контекст, используя такой тип представления данных.Например, ваша модель поймет, что разница между этими двумя примерами такая же, как разница между 1900 и 1941, что совсем не то, что вы планируете.

Я могуматематически не докажу вам, что это приведет к ошибкам в вашей тренировочной модели, но это очень плохая практика.Если возможно, я бы преобразовал во что-то еще, что более равномерно, например, минуты с 00:00 (полночь):

def time_converter(time_str):
    hours = int(time_str[:2])
    minutes = int(time_str[2:])
    time_since_midnight = (hours * 60) + minutes
    return time_since_midnight

time_converter('1940') # will return 1180 integer for 1180 minutes since midnight

Делайте это, конечно, постоянно в ваших данных, чтобы избежать искажения информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...