我有一个时间序列数据集,它包含一个产品在一段时间内每单位的能耗。它还包含单位尺寸,如型号、使用年限、产品版本等
我们想找到一组能持续显示更高消耗的单位。你知道吗
数据集如下所示:
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:
不管你怎么用监督学习,都不需要无监督学习(=聚类)。你知道吗
通过将每个unitID的最早日期作为第一天(在这一天,该特征将为0),将特征
Event Date
转换为number of days since start
。将特征
Model
和SoftwareVersion
转换为一个热编码的分类特征。规范化所有数字特征,使值为[0,1]或[-1,1]范围内的浮点数或该值范围内的某个值。
制作一套所有单位。
移除该集合的10%,并将其命名为“验证集合”。
移除该集合的另外10%,并将其命名为“测试集”。将剩下的80%命名为“训练集”。
使用训练集中属于
unitID
的条目计算模型。如果你有至少10-100k个条目,使用神经网络;如果你有少于10-100k个条目,使用高斯过程。该模型以特征number of days since start
、Model
、YearsOwned
和SoftwareVersion
作为输入和预测energyConsumptionRate
。对验证集提前停止(如果使用NNs)。
将结果模型应用于测试集中属于
unitID
的所有条目。这样做10倍,使每个数据点都在
test set
中一次,并且您的表以及步骤9
中基于测试集的模型预测涵盖了每个unitID
。做一个查询来找到所有的
unitID
,其中实际的energyConsumptionRate
比模型所说的要高得多。你可能只需要一个非常小的模型,只有很少的自由参数。也许您还可以通过复杂的SQL查询和基本统计信息来实现您的目标,而不必使用机器学习。你知道吗
相关问题 更多 >
编程相关推荐