如何在ML心中处理这个问题?

时间:2018-06-01 19:39:02

标签: python machine-learning

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

我们希望找到一致显示更高消费量的单位集群。

数据集如下所示:

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
....

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

-Ch

1 个答案:

答案 0 :(得分:1)

Imho你可以通过有监督的学习来做到这一点,不需要无监督学习(=聚类)。

  1. 将功能Event Date转换为number of days since start,将每个unitID的最早日期视为第一天(此时此功能为0)。

  2. 将功能ModelSoftwareVersion转换为热门编码的分类功能。

  3. 标准化所有数字要素,使得值为[0,1]或[-1,1]范围内的浮点数或该值范围内的某些值。

  4. 制作一组所有unitID。

  5. 删除该组的10%并将其命名为"验证集"。

  6. 删除该套装的另外10%并将其命名为"测试套装"。命名剩余的80%"训练集"。

  7. 使用属于训练集中unitID s的条目计算模型。如果您有至少10-100k条目,则使用神经网络;如果您的条目少于此值,则使用高斯过程。该模型将功能number of days since startModelYearsOwnedSoftwareVersion作为输入和目标来预测energyConsumptionRate

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

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

  10. 这样做10倍,因此每个数据点都在test set一次,而您的表格中包含来自步骤9的基于测试集的模型预测涵盖每unitID }。

  11. 查询以查找实际unitID远远高于模特所说的所有energyConsumptionRate

  12. 你可能只需要一个非常小的模型,几乎没有自由参数。也许你也可以通过复杂的SQL查询和基本统计​​来实现你的目标,而不是使用机器学习。