应用 ANN 模型时如何处理 datetime obj?

乘风 machine-learning 467

原文标题How do you deal with datetime obj when applying ANN models?

应用 ANN 模型时如何处理 datetime obj?我曾想过编写遍历列的函数,但必须有一种更简洁的方法,对吧?

dataset.info()

 #   Column               Non-Null Count  Dtype         
---  ------               --------------  -----         
 0   Unnamed: 0           299 non-null    int64         
 1   ZIP                  299 non-null    int64         
 2   START_TIME           299 non-null    datetime64[ns]
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
x = sc.fit_transform(x)
float() argument must be a string or a number, not 'Timestamp'

使用尝试:TypeError:float() 参数必须是字符串或数字,而不是与散点图相关的“datetime.time”

无法将字符串转换为浮点数:’2022-03-16 11:55:00′

原文链接:https://stackoverflow.com//questions/71502608/how-do-you-deal-with-datetime-obj-when-applying-ann-models

回复

我来回复
  • CS101的头像
    CS101 评论

    我建议执行以下步骤:

    1. 将字符串转换为 datetime.datetime 对象
    from datetime import datetime
    t = datetime.strptime("2022-03-16 11:55:00","%Y-%m-%d %H:%M:%S")
    

    然后提取必要的组件作为输入传递给网络:

    x1,x2,x3 = t.month, t.hour, t.minute
    

    顺便说一句,我注意到您正在直接缩放时间分量。相反,根据问题进行一些不同的预处理。例如,提取时间分量的正弦和余弦信息,而不是直接使用它们或缩放它们。正弦和余弦分量保持时间点之间的距离。

    import numpy as np
    hour_cos = np.cos(t.hour)
    hour_sin = np.sin(t.hour)
    

    提取问题所需的其他周期性分量,例如。如果您正在查看天气变量:小时的正弦和余弦,月份通常很有用。如果您正在查看销售,月份的日期,月份,星期几的正弦和余弦有用

    更新:从我注意到你提到你正在预测分贝水平的评论中。假设您已经将空间输入变量考虑在内,那么您绝对应该尝试正弦/余弦变换之类的方法,假设生成声音的事件呈现出周期性模式。同样,这是一个假设,可能并不完全正确。

    2年前 0条评论
  • Joe的头像
    Joe 评论
    dataset['START_TIME'] = pd.to_datetime(dataset['START_TIME']).apply(lambda x: x.value)
    

    这样做似乎是一种干净的方式,但我仍然对替代方案持开放态度。

    2年前 0条评论