首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >星火MLlib FPGrowth运行但不显示频繁项集

星火MLlib FPGrowth运行但不显示频繁项集
EN

Stack Overflow用户
提问于 2016-09-21 05:23:00
回答 1查看 500关注 0票数 1

我试图用FPGrowth对交易数据进行MLlib的基本市场篮子分析。我已将交易编码为相同的格式:

代码语言:javascript
复制
    transactions.take(3)
    res632: Array[Array[String]] = Array(Array(7976503128), Array(68113132893, 1800000725, 3120027015, 4850030414, 2100061223, 5150055538, 60538871457), Array(68113174202))

其中数组中的单个数字是我的产品id作为字符串(例如,68113132893、7976503128等)。

现在,当我运行FPGrowth模型时,它运行时没有任何错误:

代码语言:javascript
复制
    val fpg = new FPGrowth()
        .setMinSupport(0.5)
        .setNumPartitions(10)
    val modelBuild = fpg.run(transactions)

    fpg: org.apache.spark.mllib.fpm.FPGrowth = org.apache.spark.mllib.fpm.FPGrowth@74a103be
    modelBuild: org.apache.spark.mllib.fpm.FPGrowthModel[String] = org.apache.spark.mllib.fpm.FPGrowthModel@391b111a

当我试图获取频繁项集时,它显示的是空白数组

代码语言:javascript
复制
    modelBuild.freqItemsets.collect().foreach { itemset =>
    println(itemset.freq)
    }

    res660: Array[org.apache.spark.mllib.fpm.FPGrowth.FreqItemset[String]] = Array()

找不到哪里出了问题。请帮帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-23 12:15:44

将minSupport降低到0.00001,所有的集合都将被打印出来。来自星火的文件:

minSupport:对要识别为频繁的项目集的最低支持。例如,如果一个项出现在5个事务中的3个,那么它的支持值为3/5=0.6。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39608137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档