【问题标题】:Does it make sense that datetime encodes one-hot-vector like one-hot-encoding or something else likedatetime 像 one-hot-encoding 或其他类似的东西编码 one-hot-vector 是否有意义
【发布时间】:2018-07-10 02:50:51
【问题描述】:

我是机器学习和深度学习的新手。我想解决时间序列问题,它每秒都有数据。另外,我最近一直在研究 word2vector 和时间序列数据。有一天,我想出了一个想法,将日期时间等序列数据转换为 one-hot-encoding?

    time
2017-11-01 00:00:01
2017-11-01 00:00:02
2017-11-01 00:00:03
2017-11-01 00:00:04
.
.
.

我的想法有一些限制,如下所示,

  • 学习维度太高(1 天 = 60* 60 * 24 = 86400(s))
  • 无限时间 - 即使是现在,每一刻都会产生时间
  • 秒之间的差异太小,无法学习

我希望您确定我在上面所说的关于限制的内容。另外,我希望你能给我一些想法,将时间序列数据开发成用于机器学习和深度学习的单一热向量? + 你怎么看这个想法?

【问题讨论】:

  • 这个问题最好在Data ScienceCross Validated提出
  • @Imran 谢谢!我去那里问
  • 为什么要编码时间?你在预测时间戳吗?您是否将时间戳作为输入?一般时序数据是按时间戳顺序依次输入的
  • @UmangGupta 是的,我也尝试将时间戳作为输入,因为我认为该时间不仅会受到先前数据的影响,还会受到先前“时间”数据的影响。
  • 我不确定这是否有意义。基本上,你试图暗示你的模型是非平稳的(即它在不同的时间是不同的?)在这种情况下,我怀疑即使提供时间戳也会有所帮助。

标签: python machine-learning deep-learning word2vec one-hot-encoding


【解决方案1】:

不,每秒一次热编码没有意义。正如您所提到的,特征向量是高维的方式。更糟糕的是:特征向量非常稀疏。

相反,您可以:

  • 按天分组:一年的 365 个功能。
  • 添加is_weekdayis_workdayis_saturdayis_morningis_afternoon 等功能 - 这取决于您的问题中什么是重要的!
  • 也许您也可以使用 Unix 时间添加一项功能,但请进行标准化(平均减法,除以预期值范围)。

【讨论】:

  • 嗯...那么,如果您添加带有标准化的 Unix 时间,模型是否确定时间之间的差异?正如我所提到的,我担心微小的差异会使学习变得混乱。
  • 另外,如果我想关心第二数据,我可以添加哪些功能?你提到的事情也被考虑了,但对我来说仍然是一个很大的规模。告诉我我的看法是否有问题
  • 如果没有更具体的问题描述,我无法给您更好的答案。我怀疑第二个问题
  • 让我根据您的建议提出一个问题。具有日期特征的数据,is_morning,is_weekday。例如,假设今天是今年的第 31 天,早上和星期三。向量应该是二进制的,例如 [1, 0, ... 0, 1(morning), 1(w​​eekdays) 还是介于 0~1 之间的值,例如 [0.9, 0.1, ... , 1, 1]?
  • 虽然我可以看到is_morining 是如何连续的,但我看不到is_weekday。什么会映射到is_weekday=0.9
猜你喜欢
  • 2021-11-02
  • 2017-06-21
  • 1970-01-01
  • 1970-01-01
  • 2020-01-21
  • 1970-01-01
  • 2019-10-27
  • 1970-01-01
  • 2017-11-06
相关资源
最近更新 更多