应用 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′
回复
我来回复-
CS101 评论
我建议执行以下步骤:
- 将字符串转换为 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年前 -
Joe 评论
dataset['START_TIME'] = pd.to_datetime(dataset['START_TIME']).apply(lambda x: x.value)
这样做似乎是一种干净的方式,但我仍然对替代方案持开放态度。
2年前