首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SVD在火花放电中的应用

SVD在火花放电中的应用
EN

Stack Overflow用户
提问于 2016-02-12 17:00:23
回答 2查看 5.4K关注 0票数 1

我有一个庞大的名单的名字-姓氏,我试图合并他们。例如,'Michael Jordan'Jordan Michael

我正在使用pyspark执行以下过程

  1. 计算->计算,因为相似度->转换为稀疏矩阵
  2. 计算字符串距离矩阵->转换为稠密矩阵
  3. tfidf稀疏矩阵与字符串距离稠密矩阵的元素乘法计算“最终相似度”

这对于10000个名字是可行的,但我怀疑计算100万个名字的相似性需要多长时间,因为每个矩阵都是1000000×1000000(由于矩阵是对称的,我只取上三角形矩阵,但这并没有改变所需的高复杂性时间)。

我读过,在计算了tfidf之后,计算输出矩阵的SVD来减少维数是非常有用的。从文档中,我找不到computeSVD的例子。它不存在吗?

在我的情况下,SVD如何可以帮助减少高内存和计算时间?

欢迎任何反馈和意见。

EN

回答 2

Stack Overflow用户

发布于 2017-07-14 17:29:46

Stack Overflow用户

发布于 2016-02-12 18:36:48

我找不到computeSVD的例子。它不存在吗?

不,它没有。目前(Spark1.6.0/Spark2.0.0快照) computeSVD只在Scala中可用。您可以在这里使用eliasah提供的解决方案:

Pyspark and PCA: How can I extract the eigenvectors of this PCA? How can I calculate how much variance they are explaining?

在我的情况下,SVD如何可以帮助减少高内存和计算时间?

那得看情况。如果您的数据只是一组非常短的字符串(2-3个字),而您只需在空格上拆分就可以标记您的数据,那么它根本帮不上您。它不能改善你使用的蛮力方法,而且你的数据已经非常稀少了。

如果您在某些上下文中处理数据,或者提取更复杂的特性(例如,ngram),它可以降低成本,但是仍然不能帮助您处理总体复杂性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35368227

复制
相关文章

相似问题

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