我从大学毕业几个月就获得了 CS 学士学位,我的老板让我构建一个机器学习代理,在两个月内自己从头开始将数据分类为 23 个类别。我上了一堂人工智能入门课程,我们甚至没有涵盖神经网络。我想我已经弄清楚了基础知识,但是我在准备数据以输入模型时遇到了麻烦。
随意评论这个(不)可行性,但这是上下文信息,而不是我的问题。我拥有的配电盘类型设备的数据类型示例是 1 列 DeviceID(数字字符串,每个设备唯一)、12 列各种整数,指示正在使用哪些插座以及正在拉多少功率,以及与设备所在位置相关的整数。我有大量这类数据,我一直在想我可以使用带有 softmax 层的 RNN 来分类我的类别。这将是监督学习。提到的列将是输入,整数 1-23 将是输出。我需要模型查看时间范围并对其进行分类,其中包括不同数量的行,因为有不同数量的设备,并且因为每个设备每分钟创建一行两次。例如,
ID 1 2 3 4 5 RSSI Temperature R_ID TimeStamp
43713 0 0 0 0 118 -82 97 45 2019-08-27 15:38:00.387
49945 0 0 5 0 0 -88 89 45 2019-08-27 15:38:00.493
43711 0 0 0 0 5 -65 120 45 2019-08-27 15:38:00.557
43685 12 4 0 0 0 -76 110 45 2019-08-27 15:38:01.807
44041 0 0 0 12 0 -80 104 45 2019-08-27 15:38:02.277
我的问题是:对于我从 SQL 数据库中提取的一个 35 分钟的示例时间范围——时间范围可以从 1 分钟到几个小时不等——我得到了 3,747 个不同的行。这显然太多了,无法将模型作为 1 个样本提供。如果电源条上的使用情况从 1 分钟到下一分钟没有变化,它将创建几行相同的行,但时间戳除外。当我删除时间戳时,我得到了 333 个不同的行。这似乎仍然很多,而且它正在删除必要的时间数据。
我的问题是:这真的太多了吗?我从谷歌搜索中知道我可以使用多行使其工作,但是当我不知道有多少行时我可以这样做吗?即,不是说“看 X 行”,而是说“看 X 分钟的行”作为 1 个样本?在这种情况下,经验丰富的开发人员(或数据科学家?Idek)会怎么做?作为一种替代方法,而不是尝试使用时间框架(由我们正在做的数据/工作确定),我想我可以尝试在 [请告知] 分钟内使用滑动窗口,从中获取输出并使用那些作为输入以获取时间范围内的输出。这是一个可怕的想法吗?那还能用吗?该模型需要能够检测到由于一天中的时间、不同的人等造成的差异。
谢谢!