基于时间的数据模式挖掘的Java库

时间:2012-01-05 14:48:27

标签: data-mining java

我们有一个数字代表众多科目每分钟的帖子量。我们希望能够找到模式,以便我们可以预测将来的帖子数量。

我们希望模式检测过程是自动的(不需要人工交互),我们一直在想是否有任何方法可以自动化它。我们一直在阅读“模式挖掘”,但我们还没有找到任何可以开始使用的java库。

是否有基于时间的数据模式挖掘的Java库可用于自动化此模式挖掘过程?提前谢谢。

4 个答案:

答案 0 :(得分:2)

您可以查看我的开源数据挖掘框架:http://www.philippe-fournier-viger.com/spmf/(SPMF)

它提供了130多种算法。其中一些旨在执行与时间相关的数据挖掘任务,例如在一组序列中发现顺序模式和顺序规则。

我不知道其中一些是否符合您的需求。但是你可以看一下。

答案 1 :(得分:0)

嗯,有一些非常可靠的数据挖掘库供Java使用。我使用WEKA进行分类和关联挖掘(http://www.cs.waikato.ac.nz/ml/weka/)。我还使用Mahout进行聚类(http://mahout.apache.org/)。在处理数据方面,您需要事先知道自己在做什么。 95%的时间将用于清理不良数据并预处理剩余的格式,以供这些框架使用。

您对问题的详细信息有所了解。听起来你想要某种基于数据中某些事件频率的警报系统。如果它纯粹基于频率(即,某种东西违背了你假设的事件随时间的分布)那么你可能想要看一种技术调用n-gramming。试图避免在这里深奥,但你想使用n-gram,其中n不是固定长度。这是一种常用于NLP的技术,如果你熟悉最常见的子串问题,那么你应该知道如何去做。

答案 2 :(得分:0)

你正在寻找两件完全不同的东西: 1)文本分类(主题) 2)预测未来的主题/数量

1)对于文本分类,任何标准的NLP库都是ok-GATE,OpenNLP,LingPipe等。就我个人而言,我会使用NLTK或者只编写我自己的主题分类器,因为我认为大型java库非常缺乏用户不友好。轻松拥有轻量级产品。

您可能需要使用标记数据训练您的分类器 - 如果您有标记数据,那么好,如果没有,则开始标记的时间。最重要的是数据质量 - 您希望看到的数据的培训数据具有代表性吗?你的功能有多好(n-gram,单词n-gram等)?

2)对于预测,您可以使用任何数量的统计模型。就个人而言,我会选择一个随机模型,但这只是因为我花了太多时间研究它们。

答案 3 :(得分:-1)

您可以使用GATE(文本工程的通用架构)作为文本处理的开源基础架构,您可以使用其IDE(Gate Developer)使用一组全面的其他插件来构建文本处理组件,或者如果您使用需要在您的代码上使用它,您需要将其jar文件嵌入到您的项目中。 该工具有一种名为JAPE(Java Annotation Patterns Engine)的语言,它允许您识别文档注释中的正则表达式(您可以使用门分析器对文档进行注释,或者您可以开发自己的分析器)。