如何处理这个问题?

2024-05-14 23:01:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个时间序列数据集,它包含一个产品在一段时间内每单位的能耗。它还包含单位尺寸,如型号、使用年限、产品版本等

我们想找到一组能持续显示更高消耗的单位。你知道吗

数据集如下所示:

EventDate, UnitID, energyConsumptionRate, Model, YearsOwned, SoftwareVersion

5/1/2018      100            103             M3            1            2.1

5/2/2018      100             42             M3            1            2.1

5/3/2018      100             78             M3            1            2.1
....

每一天,该单位将报告一个事件。我应该从哪里开始?你知道吗

-信道


Tags: 数据版本产品尺寸时间单位序列m3
1条回答
网友
1楼 · 发布于 2024-05-14 23:01:00

不管你怎么用监督学习,都不需要无监督学习(=聚类)。你知道吗

  1. 通过将每个unitID的最早日期作为第一天(在这一天,该特征将为0),将特征Event Date转换为number of days since start

  2. 将特征ModelSoftwareVersion转换为一个热编码的分类特征。

  3. 规范化所有数字特征,使值为[0,1]或[-1,1]范围内的浮点数或该值范围内的某个值。

  4. 制作一套所有单位。

  5. 移除该集合的10%,并将其命名为“验证集合”。

  6. 移除该集合的另外10%,并将其命名为“测试集”。将剩下的80%命名为“训练集”。

  7. 使用训练集中属于unitID的条目计算模型。如果你有至少10-100k个条目,使用神经网络;如果你有少于10-100k个条目,使用高斯过程。该模型以特征number of days since startModelYearsOwnedSoftwareVersion作为输入和预测energyConsumptionRate

  8. 对验证集提前停止(如果使用NNs)。

  9. 将结果模型应用于测试集中属于unitID的所有条目。

  10. 这样做10倍,使每个数据点都在test set中一次,并且您的表以及步骤9中基于测试集的模型预测涵盖了每个unitID

  11. 做一个查询来找到所有的unitID,其中实际的energyConsumptionRate比模型所说的要高得多。

你可能只需要一个非常小的模型,只有很少的自由参数。也许您还可以通过复杂的SQL查询和基本统计信息来实现您的目标,而不必使用机器学习。你知道吗

相关问题 更多 >

    热门问题