首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连续数据的机器学习异常检测

连续数据的机器学习异常检测
EN

Data Science用户
提问于 2018-02-23 17:40:26
回答 2查看 1.7K关注 0票数 0

我需要在由网络监控工具兄弟创建的日志中找到异常。现在我指的是布罗分析工具给出的例子。但是这个例子只使用最近的日志。

因此,我需要使它与全日志的意思是训练过去的日志和执行异常检测的每一个新的日志实时。在这个示例中,据我所知,在IsolationForest和KMeans中使用了科学知识-学习 python中的无监督机器学习。

所以我有以下问题。

对于无监督的机器学习,是否可以用已经在以前运行时创建的经过训练的数据来存储模型?

如果可能的话,我能用现有的模型添加新的数据,然后实时地进行异常检测吗?

EN

回答 2

Data Science用户

发布于 2018-02-23 17:48:40

您可以使用sklearn保存pickle模型。这篇博客文章展示了如何。

票数 3
EN

Data Science用户

发布于 2018-05-29 15:39:46

Sklearn提供了各种保存和重用模型的方法,有关更多信息,请参见模型持久性

但是,值得注意的是,并非所有的无监督离群点检测模型都能对未见数据进行“预测”。预测()方法可能并不总是一致的和可见的,例如洛夫。如您所见,没有“预测()”方法,只有"fit()“和"fit_predict()”。或者,您应该在Sklearn中使用一个用于LOF的内部方法_decision_function()。

代码语言:javascript
复制
def _decision_function(self, X):
    """Opposite of the Local Outlier Factor of X (as bigger is better,
    i.e. large values correspond to inliers).

    The argument X is supposed to contain *new data*: if X contains a
    point from training, it consider the later in its own neighborhood.
    Also, the samples in X are not considered in the neighborhood of any
    point.
    The decision function on training data is available by considering the
    opposite of the negative_outlier_factor_ attribute.

这种不一致性是由于大多数孤立点检测方法的无监督性质造成的。它们对于“训练”和“测试”没有什么区别,因为不管怎么说,根本的真理都是缺失的。对于一些无监督的离群点检测方法,保存“经过训练的”模型是没有帮助的。不过,这是一个又一个案例。对于有效的算法,将历史数据与新数据结合起来并对模型进行改进可能是很好的,因为它们来自相同的分布。

因此,对于Sklearn中不同的离群点检测方法,您应该小心使用模型持久性和API。如果您正在寻找更统一的APIs来尝试各种异常检测方法,我将推荐我的python离群点检测工具箱PyOD;文档可以在这里找到PyOD文档

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/28239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档