这是一个非常普遍的问题,因为我仍然处于机器学习的学习阶段。我有一些关于有问题的仪表的实用数据。即使这些数据是“时间序列”,我也相信我可以对数据进行多类分类(查看3个标签),但在我沿着这条道路前进之前,我想听听一些意见。
我一直在做一些功能工程来派生其他数据点,以帮助分类过程(下面的例子是列"Error1“和"Error2")。
仪表分为两类,一类是估计问题="1",另一类是非估计问题="0“。
我的数据集大致如下(我有几个其他错误特性):
Estimated Meter ID Date DaysInDuration Error1 Error2
0 BBA 11/19/2019 31 0 0
0 BBA 12/19/2019 62 1 0
0 BBA 12/19/2019 92 1 0
1 JJL 11/2/2019 120 1 0
1 JJL 12/2/20019 150 1 1
1 JJL 1/20/2020 180 2 2 我想尝试的是使用一个可以处理多类分类(可能是决策树)的分类模型,并生成如下所示的输出:
Estimated Meter ID Date DaysInDuration Error1 Error2 Classification Label
0 BBA 11/19/2019 31 0 0 1
0 BBA 12/19/2019 62 1 0 1
0 BBA 12/19/2019 92 1 0 2
1 BBA 11/2/2019 120 1 0 3
1 JJL 12/2/2020 30 1 1 1
1 JJL 1/20/2020 60 2 2 1
Labels Meaning = "1" = low risk issue/ "2" = medium risk issue/ "3" = high risk issue该模型将对"1“、"2”或"3“进行分类,这取决于表在"DaysInDuration”列中的天数以及"Error1“和"Error2”列中的计数错误数。
在我看来,分类仍然有效,包括使用火车测试分割,因为在典型的时间序列问题中,分类更多地来自其他数据点,而不是实际的顺序依赖。
发布于 2020-05-12 22:59:40
你的时间间隔似乎是不规则的。对于大多数时间序列的例子,我们有固定间隔的观测,例如每个季度的GDP。相反,您可以创建一个常规的机器学习模型。如果您认为存在某种时间组件,您不希望1月数据对11月数据进行预测,那么您可以手动创建交叉验证分区,而不是随机创建它们。
但是,您正在基于低、中或高DaysInDuration来预测1、2或3。分类器不会知道低和高之间的距离比低和中等更远。相反,您可以创建一个预测DaysInDuration为目标特性的回归模型。一旦你有了你的预测(例如31),你可以采取相应的行动,无论预测是低的,中等的,还是高的。
最后,您将无法使用DaysInDuration作为一个功能来预测Classification_Label,因为它每次都会给出完美的答案。那将是目标泄漏。
https://datascience.stackexchange.com/questions/73952
复制相似问题