错误

Scala文档转换算法解析
本文介绍了一种使用Scala实现的文档转换算法,该算法通过哈希函数将输入文档中的项映射到特征向量中,并记录了每个特征的频率。此外,还探讨了如何从数据集中提取关键词及其对应的哈希值,以便于后续处理。


  def transform(document: Iterable[_]): Vector = {
   val keywordMap = scala.collection.mutable.Map(1 -> "name")
    val termFrequencies = mutable.HashMap.empty[Int, Double]
    val setTF = if (binary) (i: Int) => 1.0 else (i: Int) => termFrequencies.getOrElse(i, 0.0) + 1.0
    val hashFunc: Any => Int = getHashFunction
    document.foreach { term =>
      val i = nonNegativeMod(hashFunc(term), numFeatures)
      keywordMap += (i -> term.toString)
      termFrequencies.put(i, setTF(i))
    }
    println(keywordMap.size)
    Vectors.sparse(numFeatures, termFrequencies.toSeq)
  }

def tran(document: Iterable[_]): mutable.Map[Int,String] = {
    val termFrequencies = mutable.HashMap.empty[Int, String]
    val hashFunc: Any => Int = getHashFunction
    document.foreach { term =>
      val i = nonNegativeMod(hashFunc(term), numFeatures)
      termFrequencies.put(i, term.toString)
    }
    termFrequencies
  }

这个错。。。。。。。。。。

 def getdict[D <: Iterable[_]](dataset: RDD[D]): mutable.Map[Int,String] = {
    var keyMap = scala.collection.mutable.Map(1 -> "name")
    val a: RDD[mutable.Map[Int,String]]=dataset.map(this.tran)
     a.foreach{line=>
       keyMap=keyMap.++(line)
     }
    keyMap
  }

def getdict[D <: Iterable[_]](dataset: RDD[D]): mutable.Map[Int,String] = {
    val keyMap = mutable.HashMap.empty[Int, String]
    val a: RDD[mutable.Map[Int,String]]=dataset.map(this.tran)
     a.foreach{line=>line.foreach{x=>
       keyMap.put(x._1,x._2)
     }
       println(keyMap.size)
     }
    println(keyMap.size)
    keyMap
  }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值