Spark MLlib java TF-IDF计算 (spark 1.5.2)
2017-02-08 14:28
387 查看
import java.util.Arrays; import java.util.List; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.api.java.function.Function; import org.apache.spark.mllib.feature.HashingTF; import org.apache.spark.mllib.feature.IDF; import org.apache.spark.mllib.feature.IDFModel; import org.apache.spark.mllib.linalg.Vector; public class Test { /* * tf-idf含义 * TF-IDF是一种特征向量化方法,这种方法多用于文本挖掘, * 通过算法可以反应出词在语料库中某个文档中的重要性。 * 文档中词记为t,文档记为d , 语料库记为D . 词频TF(t,d) 是词t 在文档d 中出现的次数。 * 文档频次DF(t,D) 是语料库中包括词t的文档数。如果使用词在文档中出现的频次表示词的重要程度, * 那么很容易取出反例,即有些词出现频率高反而没多少信息量, 如,”a” , “the” , “of” 。 * 如果一个词在语料库中出现频率高,说明它在特定文档集中信息量很低。 * 逆文档频次(inverse document frequency)是词所能提供的信息量的一种度量 * */ public static void main(String[] args) { SparkConf conf = new SparkConf(); conf.setAppName("WordCounter").setMaster("local"); JavaSparkContext sc = new JavaSparkContext(conf); final HashingTF hashingTF = new HashingTF(); /* hello mllib spark goodBye spark hello spark goodBye spark */ JavaRDD<String> text = sc.textFile("C:/Users/dulinan/Desktop/spam1.txt"); JavaRDD<Vector> tf = text.map(new Function<String, Vector>() { @Override public Vector call(String v1) throws Exception { return hashingTF.transform(Arrays.asList(v1.split(" "))); } }); IDFModel idf = new IDF().fit(tf); JavaRDD<Vector> tfIdf = idf.transform(tf); List<Vector> list = tfIdf.collect(); System.out.println(list); } }
相关文章推荐
- Spark MLlib TF-IDF算法原理及调用实例(Scala/Java/python)
- spark-mllib-TFIDF实现
- 利用JAVA计算TFIDF和Cosine相似度-学习版本
- 使用spark的TF-IDF算法计算单词的重要性
- java 实现 计算tfidf 使用ik分词
- 使用spark TF-IDF特征计算文章间相似度
- spark mllib TF-IDF 文本特征提取算法
- Java计算TF-IDF值
- python 分词计算文档TF-IDF值并排序
- TF-IDF计算三
- 转:Lucene之计算相似度模型VSM(Vector Space Model) : tf-idf与交叉熵关系,cos余弦相似度
- TF-IDF java实现
- java实现&nbsp;tfidf
- TF-IDF java实现
- 文档的词频-反向文档频率(TF-IDF)计算
- TF-IDF理解及其Java实现
- 文档的词频-反向文档频率(TF-IDF)计算
- 运用hadoop计算TF-IDF续-支持中文读取-支持文件输出控制
- TF-IDF提取关键词并用余弦算法计算相似度
- TF-IDF解析及在计算广告中的应用