HLCM,Haskell中的并行闭合频繁项集挖掘器。(c) 2010年,亚历山大·特米尔介绍------------发现频繁项集包括发现以下模式在数据中经常重复。数据是一个事务列表,每个事务都由项目组成。用“超市”的比喻更容易理解:-商品是顾客购买的产品-交易是客户购买的产品清单。然后,交易数据库将是超市的采购清单。然后,常见的项目集将是客户经常一起购买的产品。找到这些可以获得有关数据的重要见解。在超市案例中,目标是更好地了解顾客的购买习惯。闭合频繁项集是频繁项集的子集,没有信息丢失。也就是说,知道关闭的频繁项集就足以重新计算所有频繁项集。基本上,在频繁项集中有很多冗余,这些冗余是在封闭的频繁项目集中消除。计算闭合频繁项集的算法比传统算法快几个数量级发现Apriori等频繁项集的算法,因此备受推荐。LCM是这些算法中速度最快的。它是2004年由Takeaki Uno和Hiroki Arimura提出的。HLCM允许Haskell用户从这个优秀的算法中获益,无论是作为一个库或作为独立程序。安装:--------------runhaskell安装程序配置--用户runhaskell安装程序版本建议但不是强制的:runhaskell Setup haddock--可执行文件(构建HTML文档)runhaskell安装程序安装您还可以将cabal与:cabal install hlcm一起使用(XXX VERIFY THIS)示例数据集:-----------------Data目录中提供了几个数据集。首先必须解压缩:cd数据tar xvzf数据集.tgz玩具数据集为:*simple.csv:包含3个可能来自杂货店的事务的csv文件*simple.num:与simple.csv相同,但项目由整数表示*mushroomexpanded.csv:一个关于蘑菇的数据集,其中的项是长字符串。更多信息请点击此处:http://archive.ics.uci.edu/ml/datasets/Mushroom有关如何挖掘这些数据集的示例,请参阅hlcm的haddock文档。基准测试并行运行时:-------------------------------HLCM的目的之一是在仅使用半隐式并行时成为Haskell RTS的真实基准。提供的基准数据集包括:*mushroom.dat:一个小型数据集,大约有8000个交易。6000的支持阈值提供的项目很少,而线程数为100应该会给处理器更多的工作。*connect.dat:一个复杂的数据集,大约有60000个事务。15000的支持阈值将在几分钟内运行,并允许很好地估计速度。可以在此处找到更多数据集:http://fimi.cs.helsinki.fi/data/HLCM可以通过任何预处理直接使用这些数据集。请注意,目前HLCM在加载数据文件方面效率不高,而且是按顺序加载的(这里没有并行性)。可以处理kosarak等大型数据集,但加载时间只需几分钟。您可以使用benchHLCM修改并行策略和参数。有关参数的解释,请参阅黑线鳕文档。