当前位置:   article > 正文

【大数据技术】Spark MLlib机器学习特征抽取 TF-IDF统计词频实战(附源码和数据集)_tfidf 数据集

tfidf 数据集

需要源码和数据集请点赞关注收藏后评论区留言私信~~~

特征抽取 TF-IDF

TF-IDF是两个统计量的乘积,即词频(Term Frequency, TF)和逆向文档频率(Inverse Document Frequency, IDF)。它们各自有不同的计算方法。

TF是一个文档(去除停用词之后)中某个词出现的次数。它用来度量词对文档的重要程度,TF越大,该词在文档中就越重要。IDF逆向文档频率,是指文档集合中的总文档数除以含有该词的文档数,再取以10为底的对数。

TF-IDF的主要思想是如果某个词或短语在一篇文章中出现的概率高,并且在其他文章中很少出现,则认为这个词或者短语具有很好的类别区分能力

具体实现步骤如下

(1)新建MAVEN项目,名称为spark-mlllib

(2)数据准备。新建一个文本文件,包含四行数据,内容如下:

  1. hello mllib hello spark
  2. goodBye spark
  3. hello spark
  4. goodBye spark

(3)新建Scala类,功能是计算单词的TF –IDF

创建TF计算实例

val hashingTF = new HashingTF()

//计算文档TF值

  1. val tf = hashingTF.transform(documents).cache()
  2. println("计算单词出现的次数结果为:")
  3. tf.foreach(println)

//创建IDF实例并计算

val idf = new IDF().fit(tf)

//计算TF_IDF词频

val tf_idfRDD: RDD[linalg.Vector] = idf.transform(tf) 

统计结果如下

 部分代码如下

  1. package com.etc
  2. import org.apache.spark.mllib.feature.{HashingTF, IDF}
  3. import org.apache.spark.mllib.linalg
  4. import org.apache.spark.rdd.RDD
  5. import org.apache.spark.{SparkConf, SparkContext}
  6. object TF_IDF {
  7. def main(args: Array[String]) {
  8. //创建环境变量
  9. val conf = new SparkConf()
  10. //设置本地化处理
  11. .setMaster("local")
  12. //设定名称
  13. .setAppName("TF_IDF") //设定名称
  14. val sc = new SparkContext(conf)
  15. //设置日志级别
  16. sc.setLogLevel("error")
  17. //读取数据并将句子分割成单词
  18. val documents = sc.textFile("a.txt")
  19. .map(_.split(" ").toSeq)
  20. println("分词的结果为:")
  21. documents.foreach(println)
  22. //创建TF计算实例
  23. val hashingTF = new HashingTF()
  24. //计算文档TF值
  25. val tf = hashingTF.transform(documents).cache()
  26. println("计算单词出现的次数结果为:")
  27. tf.foreach(println)
  28. //创建IDF实例并计算
  29. val idf = new IDF().fit(tf)
  30. //计算TF_IDF词频
  31. val tf_idfRDD: RDD[linalg.Vector] = idf.transform(tf) //计算TF_IDF词频
  32. println("计算TF_IDF值:")
  33. tf_idfRDD.foreach(println)
  34. }
  35. }

创作不易 觉得有帮助请点赞关注收藏~~~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/395540
推荐阅读
相关标签
  

闽ICP备14008679号