首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何利用Spark模型获取how聚类数据

如何利用Spark模型获取how聚类数据
EN

Stack Overflow用户
提问于 2016-07-06 22:36:20
回答 1查看 361关注 0票数 0

我正在使用Spark对600万条记录进行Kmeans集群,我使用了以下代码来获取Kmeans:

代码语言:javascript
运行
复制
val model = KMeans.train(parsedData, 3, 8)

我将集群中心编号设置为3。使用下面的代码,我可以通过以下代码获得3个集群中心:

代码语言:javascript
运行
复制
model.clusterCenters.foreach{println} 

我的问题是,如何才能得到真实的组数据,我认为星火应该输出600万个真实数据与3个组。

的进一步问题请:上面的任务对文本文档进行聚类。所以我把文本文档转移到浮动向量。火花只输出浮点矢量,但我想直接得到原始文本文档,请问有什么想法吗?例如:我的文件如下:

代码语言:javascript
运行
复制
doc1: {the book is good}
doc2: {the weather is sunny}
doc3: {rain is coming}

我将上面的文本文件传输到浮动向量,如下所示,用于向Spark提供信息:

代码语言:javascript
运行
复制
doc1:{0.2,0.3,0.5,1.5,0.0,0.0,0.0,0.0}
doc1:{0.2,0.0,0.5,0.0,0.8,0.0,0.0,0.0}
doc1:{0.0,0.3,0.0,0.0,0.8,0.0,0.0,0.9}

因此,我希望Spark能够直接输出集群原始文本文档,而不是浮动向量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-06 23:04:32

只有mappredict

代码语言:javascript
运行
复制
parsedData.map(p => (model.predict(p), p))

要获得原始文档,您可以尝试zip方法,只要数据没有被重新排序(洗牌),否则:

代码语言:javascript
运行
复制
model.predict(parsedData).zip(rawDocuments)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38234917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档