数据集限制维度

时间:2015-09-17 12:00:32

标签: weka data-mining apriori

我的目标是制定关于诊断数据的重要规则。

我以arff稀疏格式预处理我的数据集;我有116000个实例和28个属性。 我在weka中应用Apriori算法(使用weka explorer界面)

Apriori -N 20 -T 1 -C 0.8 -D 0.05 -U 1.0 -M 0.1 -M 0.1 -S -1.0 -c -1

该算法似乎需要很长时间才能完成。 目前有三个多小时等待结束。

是正常的吗?有一种方法可以加速算法(以其他方式预处理数据,或为Apriori选择一些其他参数)?或weka不是这个维度的正确工具?

2 个答案:

答案 0 :(得分:0)

您可以对数据集进行二次采样或分区,并在每个分区或其中一些分区上运行Apriori算法,然后合并获得的规则。

某些算法可能需要很长时间才能完成,并且与几个因素(num实例,num属性,属性的tipe)成比例,这取决于算法(空间和时间计算复杂性)。除了Java之外,Weka并不是特别快,它也不像其他编译语言那么快。

有时,由于提到的comp,在数据集的小得多的分区上运行几次算法会更快。复杂性。

例如,如果您的算法需要的时间与实例数的平方成比例, cN ^ 2 ,则运行速度比10倍小的分区快10倍, 10C((N ^ 2)/(10 ^ 2))= 0.1C(N ^ 2)

希望有所帮助。

答案 1 :(得分:0)

Weka像许多其他数据挖掘库一样,只提供两种最着名的算法:Apriori和FPGrowth。 Apriori是一种古老的算法,因效率低而众所周知。此外,Apriori和FPGrowth的Weka实现都很慢。

如果你想要更好的Java实现和更多的算法,你可以检查SPMF open-source data mining library(我是创始人),它提供了最大的模式挖掘算法集合(超过110种算法)。对于项目集挖掘,它提供Apriori和FPGrowth以及许多其他算法,如Eclat(2000)HMine(2005),LCM(FIMI 2004竞赛中最快)和一些较新的如FIN(2014),PrePost(2014)和Prepost +(2015),可以比以前的算法更快。此外,它还提供了这些算法的许多变体,例如挖掘稀有项目集,相关项目集,高效用项目集,不确定数据中的项目集,关联规则,封闭模式,顺序模式,顺序规则等。

网站上有一些性能评估表明,SPMF实现比Apriori / FPGrowth的Weka快得多。