如果我有一个数据集,其中包含一天中某些时间发生的事件Hour,我将如何将其用于分类器?例子:
Hour | Event | Item
08:45:22 | Buy | Apple
09:03:10 | Buy | Orange
10:00:00 | Sell | Apple
我是否会将Hour时间戳转换为数值,例如Unit Timestamp然后对其进行规范化,就像我对任何其他数值一样?
如果我有一个数据集,其中包含一天中某些时间发生的事件Hour,我将如何将其用于分类器?例子:
Hour | Event | Item
08:45:22 | Buy | Apple
09:03:10 | Buy | Orange
10:00:00 | Sell | Apple
我是否会将Hour时间戳转换为数值,例如Unit Timestamp然后对其进行规范化,就像我对任何其他数值一样?
我的回答是,我会通过计算秒数并除以一天中的秒数来标准化 0 = 00:00:00, 1 = 23:59:59+1sec。
我不同意正弦/余弦变换,如果您选择了错误的变换,它可能会将 11:30 和 12:30 视为相同。
此外,可能存在与一天的循环性质不对应的“最后一分钟”或“早起”等模式。
机器学习算法应该负责检测应该进行哪种转换,例如,如果您的机器学习算法将是一个神经网络,它应该/可能具有具有可能看起来像正弦/余弦等激活函数的节点。那些将检测并响应这种循环行为。
标准化的时间数据也很容易被基于树的/svm算法提取。可能比“小时”类别更容易,例如,如果您的商店从 9:30 到 17:30 营业,则小时类别“9”将是模棱两可的。
由于您正在处理循环事件(Hour列从 00:00:00 到 23:59:59 然后再返回),您可以将列转换为“秒”,然后使用sine, cosine转换。看到这个类似的问题。