Azure 机器学习 - 如何使用非常有限的数据集进行训练

Azure Machin Learing - How to train with very limited dataset

我是初学者,我需要一些关于如何对以下场景进行建模的建议

我平均每天从外部系统消耗约 5000 行数据。传入行数在 4950 到 5050 之间。我想建立一个警报机制,如果传入行数不正常,它会告诉我。即,我想要一个解决方案,让我知道如果我说某天 2500 行比平均值少 50%,或者说 15000 行比平均值多。

示例数据如下:
|天|传入数据的大小(以 MB 为单位)|行数 |标签 |
|工作日 | 3.44 | 5000 |是 |
|工作日 | 3.3 | 4999 |是 |
|工作日 | 3.1 | 4955 |是 |
|工作日 | 3.44 | 5000 |是 |
|周末 | 4.1 | 5050 |否 |

我最初的想法是使用一些异常检测算法。我尝试使用主成分分析算法来检测异常。我收集了我每天收到的总行数,并将其用于训练模型。但是,在使用非常有限的数据(少于 500 个观察值)进行训练后,我发现准确性非常差。 One-Class SVM 也没有给我好的结果。 我曾使用 "Number of rows" 作为分类特征,标签为 .. 标签并忽略其余参数,因为在这种情况下我对它们不感兴趣。无论传入数据的日期和大小如何,我的逻辑都只围绕行数。 此外,到目前为止,我还没有遇到任何负面情况,也就是说,我收到的记录从来没有过少或过多。因此,我将收到 5050 行的所有日子都标记为异常。其余的我标记为正常。

我确实意识到我在这里做一些根本性的错误。问题是,我的场景是否有资格用于机器学习? (我相信是的,但想听听你的意见) 如果是,如何处理几乎没有任何样本异常的有限训练数据集。这真的是一个异常问题还是我可以使用一些分类算法来获得更好的结果?

谢谢

请参阅时间序列异常检测模块。它应该可以满足您的需求:

https://msdn.microsoft.com/library/azure/96b98cc0-50df-46ff-bc18-c0665d69f3e3?f=255&MSPPError=-2147217396