我是一个初学者,我需要一些关于如何对以下场景进行建模的建议,
我平均每天从外部系统消耗约 5000 行数据。传入行数在 4950 到 5050 之间。我想建立一个警报机制,它会告诉我传入行数是否不正常。即,我想要一个解决方案,让我知道如果我说,在给定的一天有 2500 行,这比平均值少 50%,或者说 15000 行,比平均值多得多。
样本数据如下:
| 天 | 传入数据的大小(以 MB 为单位)| 行数 | 标签 |
| 平日 | 3.44 | 5000 | 是 |
| 平日 | 3.3 | 4999 | 是 |
| 平日 | 3.1 | 4955 | 是 |
| 平日 | 3.44 | 5000 | 是 |
| 周末 | 4.1 | 5050 | N |
我最初的想法是使用一些异常检测算法。我尝试使用主成分分析算法来检测异常。我收集了每天收到的总行数,并将其用于训练模型。但是,在使用非常有限的数据(少于 500 次观察)进行训练后,我发现准确性非常差。One-Class SVM 也没有给我很好的结果。我使用“行数”作为分类特征,标签作为..标签并忽略其余参数,因为在这种情况下它们对我不感兴趣。无论传入数据的日期和大小如何,我的逻辑仅围绕行数。此外,到目前为止,我没有任何负面情况,这意味着,我从未收到过少或过多的记录。因此,我将收到 5050 行的所有日子都标记为异常。
我确实意识到我在这里做的事情根本上是错误的。问题是,我的场景甚至有资格用于机器学习吗?(我相信确实如此,但希望得到您的意见)如果是,如何处理如此有限的训练数据集,而您几乎没有任何样本异常。这真的是一个异常问题,还是我可以使用一些分类算法来获得更好的结果?
谢谢
问问题
73 次