我开始使用机器学习和分析,我的方法是直接使用数据并学习方法/工具。
我有一组事件数据,使用具有唯一ID的RFID芯片记录人们进出房间的移动,以便我有一个芯片进入房间和何时离开的时间戳。我想根据他们进出房间的动作对芯片ID进行分类。
例如,
这是我的四个主要类别。
到目前为止,我尝试过k-means聚类。对于每个芯片,我计算一些可以指示特定类别的参数:在房间中花费的平均时间,一周中看到的天数,在房间中花费的总时间以及每天的平均入口/出口数。
有了这个,我已经看到了一些合理的结果,但是根据我使用的参数,结果会有很大差异。看一下我在图上生成的芯片参数,分类中存在很多变化。我没有任何好的训练数据,这就是我首先尝试分类方法的原因。
我主要是在寻找一些可能更好的算法或技术的建议,或者即使我的方法已经过时了。如果需要,我可以提供代码或虚拟数据,但我真的只是在寻找一个好的方向。
答案 0 :(得分:0)
听起来像是一个有趣的问题!以下是一些可能为您提供一些好主意的一般性建议。
首先,如果您能够通过对此数据建模来确定您尝试实现的某种目标,那将非常有用。可能是你想要识别入侵者,或者了解有多少不同类别的RFID徽章(你在问题中列出了四个,但如果真的有五个或十个?),或完全是其他任务。您可能需要不同的数据,具体取决于您确定的任务,但它会很有用,因为您可以衡量您正在尝试的是否实际工作。希望这是有道理的。
其次,如果您正在使用k-means(或任何聚类算法)以无人监督的方式对数据进行建模,那么规范化数据的功能是个好主意。假设您只有两个功能 - 一个表示最后一个进入房间的小时,另一个表示一个月内的总入口数。第一个特征的值将在[0,24]范围内,而第二个特征的值可以在0到1000之间(比方说)。然后,当您计算数据点之间的距离时,第二个特征可能主导距离计算,因为数值更大。首先,尝试从每个特征中减去均值,然后除以标准差。如果不出意外,这有望使您的要素集更加稳定。