Answers:
您是否考虑过添加时间变量的(正弦,余弦)转换?这样可以确保例如0和23小时彼此接近,从而允许变量的周期性出现。
(更多信息)
答案取决于您要表示的时间特征与目标变量之间的关系。
如果将时间编码为数字,则对模型施加某些限制。对于线性回归模型,时间的影响现在是单调的,目标将随时间增加或减少。对于决策树,彼此接近的时间值将被分组在一起。
将时间编码为分类可以使模型具有更大的灵活性,但是在某些情况下,模型可能没有足够的数据来学习。一种可能有用的技术是将时间值一起分组为一定数量的集合,并将该集合用作分类属性。
一些示例分组:
如果有足够的数据,上述每种方法也可以直接用作分类属性。此外,还可以通过数据分析发现分组,以补充基于领域知识的方法。
我建议使用数字功能。使用分类功能本质上意味着您不会将两个类别之间的距离视为相关的(例如,类别1和类别3一样接近类别2)。数小时或数月绝对不是这种情况。
但是,您提出的问题是,您希望以12和1接近11的方式表示小时和月份。为了实现这一点,我建议按照注释中的建议进行操作并使用在使用小时/月作为数值特征之前,使用正弦/余弦函数。
这取决于您使用的算法。
如果您使用的是诸如随机森林之类的基于树的算法,则只需传递此问题即可。分类编码对于基于树的算法不是必需的。
对于其他算法,例如神经网络,我建议尝试两种方法(连续和分类)。在不同情况下效果会有所不同。
重新表述@raghu提供的答案。类别特征和数字特征之间的主要区别是数字的大小是否可比较,即2019年大于2018年,还是12月(12)比3月(3)大?并不是的。尽管这些数字具有顺序顺序,但它们的大小不可比。因此,转换为分类值可能更有意义。