在使用pyspark进行频繁项集求解遇到
先看报错:
再看代码:
from pyspark.ml.fpm import FPGrowth
fp = FPGrowth(minSupport=0.005, minConfidence=0.5,itemsCol="items")
fpm = fp.fit(freqDf)
fpm.freqItemsets.show(5)
报错原因:Array中不能出现重复值,这里-1出现了很多次。
解决方法:我这遇到的每列的数据都是不同的,-1只是代表是空值。
所以我只要保证数据中不为空就行,如果你遇到两列值可能相同的情况,
做一些预处理,保证不会一致就行。
参考:https://datascience.stackexchange.com/questions/13701/items-in-a-transaction-must-be-unique-but-got-wrappedarray