岭回归 Scikit Learn 中的时间戳

数据挖掘 scikit-学习 预测建模 时间序列 回归 特征提取
2022-02-22 06:00:15

我正在尝试转换数据以用于回归,很可能是在sklearn.linear_model.

我的训练数据包含时间戳,我相信它可能具有预测能力。时间戳反映了用户订购披萨的时间。这是一个例子:

编辑:在 field 中包含标签elapsed_time,以秒为单位。

import pandas as pd
import sklearn.linear_model as linear_model

delivery_data = {
    'order_time' : ['2018-09-12 21:43:08', '2018-09-13 06:33:04', '2018-09-13 09:12:18'],
    'price' : [34.54, 8.63, 21.24],
    'miles' : [6, 3, 7],
    'home_type' : ['apartment', 'house', 'apartment'],
    'elapsed_time' : [2023, 1610, 1918]
}

df = pd.DataFrame(delivery_data)
df['order_time'] = pd.to_datetime(df['order_time'])

生成的 DataFrame 如下所示:

           order_time  price  miles  home_type  elapsed_time
0 2018-09-12 21:43:08  34.54      6  apartment          2023
1 2018-09-13 06:33:04   8.63      3      house          1610
2 2018-09-13 09:12:18  21.24      7  apartment          1918

我正在尝试根据时间戳、定量和分类数据来预测送披萨的时间(elapsed_time)。

我怀疑一天中的时间是可预测的,但该日期的预测性较差。

到目前为止,我正在考虑仅从时间戳中提取小时。在本例中,order_time将变为 [21, 6, 9]。我首先担心的是 23:59 的小时数为 23,而 00:01 的小时数为 0。这两个值相距甚远,即使订购时间相隔两分钟。

有没有更好的方法来转换这些datetime数据?

数据集包含其他定量数据(价格,miles_from_store)和分类数据(home_type)是否会有所不同?

1个回答

datetime类型具有可用的算术运算。如果你有两种datetime类型,你可以找到它们之间的增量——结果将是一个datetime.timedelta类。其他定量数据很容易合并到线性回归模型中,无论是 lasso 还是 ridge。几乎所有这些 scikit-learn 模型都可以使用特征向量。