目前,我尝试用Apache Spark和scala实现LDA算法:
// Filter out stopwords
val stopwords: Array[String] = sc.textFile("data/english_stops_words.txt").collect()
val filteredTokens = new StopWordsRemover()
.setStopWords(stopwords)
.setCaseSensitive(false)
.setInputCol("words")
.setOutputCol("filtered")
.transform(tokens)
// Limit to top `vocabSize` most common words and convert to word count vector features
val cvModel = new CountVectorizer()
.setInputCol("filtered")
.setOutputCol("features")
.setVocabSize(vocabSize)
.fit(filteredTokens)
val countVectors = cvModel.transform(filteredTokens)
.select("docId", "features")
.map { case Row(docId: Long, countVector: Vector) => (docId, countVector) }
.cache()
// Filter out stopwords
List<String> stopwords = sc.textFile("data/english_stops_words.txt")
.collect();
DataFrame filteredTokens = new StopWordsRemover()
.setStopWords(stopwords.toArray(new String[0]))
.setCaseSensitive(false).setInputCol("words")
.setOutputCol("filtered").transform(tokens);
// Limit to top `vocabSize` most common words and convert to word count
// vector features
CountVectorizerModel cvModel = new CountVectorizer()
.setInputCol("filtered").setOutputCol("features")
.setVocabSize(vocabSize).fit(filteredTokens);
JavaRDD<TextId> countVectors = cvModel.transform(filteredTokens)
.select("docId", "features").toJavaRDD()
.map(new Function<Row, TextId>() {
private static final long serialVersionUID = 1L;
@Override
public TextId call(Row row) throws Exception {
return new TextId(row.get(0).toString(), Long.parseLong(row.get(1).toString()));
}
}).cache();
JavaPairRDD<Long, Vector> countVectors = cvModel.transform(filteredTokens)
.select("docId", "features").toJavaRDD()
.mapToPair(new PairFunction<Row, Long, Vector>() {
public Tuple2<Long, Vector> call(Row row) throws Exception {
return new Tuple2<Long, Vector>(Long.parseLong(row.getString(0)), Vectors.dense(row.getDouble(1)));
}
}).cache();
可以使用MaptoPair
方法创建JavaPairrdd
。
假设textid
有一个字符串
和一个long
字段,代码可以如下所示:
JavaPairRDD<Long, Vector> countVectors = cvModel.transform(filteredTokens)
.select("docId", "features").toJavaRDD()
.mapToPair(new PairFunction<Row, Long, Vector>() {
public Tuple2<Long, Vector> call(Row row) throws Exception {
return new Tuple2<String, Long>(row.getAs[Long](0), row.getAs[Vector](1)));
}
}).cache();
贴一个timeline 8.25 一面 25min 自我介绍,简单问了下项目 手撕 lc零钱兑换2 无八股 8.31 二面 35min 1. 算法:手撕快排,对算法的优化有哪些,在生产环境中可以有哪些改进 2. 慢sql的查询,深入问,explain查询哪些信息,profile查询什么,在生产环境中怎么界定是不是慢sql 3. 有没有用过rabbitMQ?在哪里用到的? 4. Spring MVC
本文向大家介绍使用Python和PyQT进行Java GUI开发,包括了使用Python和PyQT进行Java GUI开发的使用技巧和注意事项,需要的朋友参考一下 编程是为计算机科学专业学生培养不同技能的基础。当同龄人发现自己对编程技巧充满信心时,他们想进一步努力。他们可能会选择不同的选项,例如Web开发,GUI编程,游戏开发,数据科学,人工智能,人机交互等。GUI开发被视为这些热门话题中的最热门
一、Scala简介 1.1 概念 Scala 全称为 Scalable Language,即“可伸缩的语言”,之所以这样命名,是因为它的设计目标是希望伴随着用户的需求一起成长。Scala 是一门综合了面向对象和函数式编程概念的静态类型的编程语言,它运行在标准的 Java 平台上,可以与所有的 Java 类库无缝协作。 1.2 特点 1. Scala是面向对象的 Scala 是一种面向对象的语言,每
课程内容涵盖了Java互操作性。 Javap 类 异常 特质 单例对象 闭包和函数 变化性 Javap javap的是JDK附带的一个工具。不是JRE,这里是有区别的。 javap反编译类定义,给你展示里面有什么。用法很简单 [local ~/projects/interop/target/scala_2.8.1/classes/com/twitter/interop]$ javap MyTrai
不得不的说,这笔好操作,本来投递的是北京经纬,结果给我搞到下面的子公司! 1、自我介绍 2、Redis的底层问题。 3、Java的数据类型,其中几个所占的字节长度。 4、问项目,其中Kafka的使用情况以及场景。 其它问的也没啥,全程五六分钟,妥妥浪费时间。 #北京润科通用技术有限公司##Java开发#
情况如下:我试图在PostgreSQL数据库中存储/检索Byte[]数组和BLOB。 其中'image'列的类型为BYTEA,IMG.BinaryStream的类型为InputStream。 我得到这个错误: 在我的构建中有以下依赖项。sbt: PS:...试图git克隆PGJDBC。它需要ant 1.4.1来构建。这个ant版本已经有8年了,在Apache基金会的网站上已经没有了。是不是有点诡异