Извлечение только часовых данных из отметки времени.Помещение в модель линейной регрессии.Мне нужно горячее кодирование? - PullRequest
0 голосов
/ 03 февраля 2019

Я сделал новую функцию под названием «Час», где я извлек только час из данных временной метки.

df['hour'] = df.index.hour
df.hour.head(10)

Sample : 
Timestamp
2018-10-01 00:00:00    0
2018-10-01 00:15:00    0
2018-10-01 00:30:00    0
2018-10-01 00:45:00    0
2018-10-01 01:00:00    1
2018-10-01 01:15:00    1
2018-10-01 01:30:00    1
2018-10-01 01:45:00    1
2018-10-01 02:00:00    2
2018-10-01 02:15:00    2
Name: hour, dtype: int64

Когда я загружаю это как функцию в мою модель линейной регрессии, нужно ли мне ее горячим кодированием?

Мысли в моем уме:

Даже если они категоричны, не больше ли 9 (9 утра), чем 8 (8 утра)?23 (23:00) больше 0 (12:00) - не соответствует действительности.

Так что я предполагаю, что мне нужно горячее кодирование.Каковы четкие правила, когда я должен и не должен горячо кодировать?

1 Ответ

0 голосов
/ 03 февраля 2019

Если вы считаете, что между часами и вашим выводом должна быть линейная зависимость, вы можете добавить ее как отдельную функцию.Однако в вашем случае не похоже, что будут такие отношения.Таким образом, вы можете добавить столбец часа в качестве фиктивной переменной или одной горячей кодировки.При использовании одного горячего кодирования вы должны установить fit_intercept=False фиктивную переменную-ловушку, как описано в здесь .

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