我正在尝试使用 Apache Spark 的 MLlib 构建分类系统。我已经将朴素贝叶斯算法列入候选名单,并将使用 Java 8 来支持 Lambda 表达式。我是 lambda 表达式的新手,因此在 Java 中实现同样的表达式时面临困难。
我指的是以下链接,其中包含用 Scala 编写的示例,但很难将其转换为 Java 8。
由于我不熟悉Scala,我被困在以下操作中,无法理解它,
val idfs = (termDocsRdd.flatMap(termDoc => termDoc.terms.map((termDoc.doc, _))).distinct().groupBy(_._2) collect {
// if term is present in less than 3 documents then remove it
case (term, docs) if docs.size > 3 =>
term -> (numDocs.toDouble / docs.size.toDouble)
}).collect.toMap
有人可以为我指出正确的方向,即如何在利用 Sparks RDD 操作进行分布式处理的同时为文本文档样本构建 TfIdf 向量吗?