做微薄的数据挖掘,支持度需要设置比较小,运行的时候支持度大于0.001没有问题,但是小于的时候会出现数组溢出。报错位置为第二行:
val part = res.partition(t1 => tail.exists(t2 => t1._1 == t2))
val p1 = gen(part._1)
if (part._2.length == 0)
return p1
else
return decare(p1,gen(part._2)) ::: p1
}
cur = cur.son.values.head
def gen(tab : List[(Int , Int)]): List[(List[Int],Int)] = {
if (tab.length == 1) return List((List(tab(0)._1),tab(0)._2))
val sp = tab(0)
val t = gen(tab.drop(1))
(List(sp._1), sp._2) :: t.map(s => (sp._1 :: s._1, s._2 min sp._2)) ::: t