python - 在数据帧的所有行上应用 LSH approxNearestNeighbors
问题描述
我正在尝试在数据框的model.approxNearestNeighbors(df, key, n)
所有行上应用 BucketedRandomProjectionLSH 的函数,以便为每个项目找到前 n 个最相似的项目。我的数据框有 100 万行。
我的问题是我必须找到一种方法在合理的时间内(不超过 2 小时)计算它。我已经阅读了有关该函数的信息,approxSimilarityJoin(df, df, threshold)
但是该函数花费的时间太长并且没有返回正确的行数:如果我的数据框有 100.000 行,并且我设置了一个非常高/允许的阈值,我得到的结果甚至不是 10%返回的行数。
所以,我正在考虑approxNearestNeighbors
在所有行上使用,以便计算时间几乎是线性的。
您如何将该功能应用于数据框的每一行?我不能使用 UDF,因为我需要模型 + 数据框作为输入。
你有什么建议吗 ?
解决方案
推荐阅读
- python - 如何通过 SQLalchemy 获取数据库中的总行数?
- python - 警告使用 `.loc[]` 当它已经被使用时
- python - 如何在数据框中添加一列以对行求和
- ruby-on-rails - 在 ruby on rails 上发送电子邮件作为工作
- r - R数据框:如何对另一列中不同值的基于数据的列值进行切片
- c# - 从单个数据表中获取树形图形式的数据表
- node.js - Ejs传递的变量不显示
- spring - 引导 Spring-boot 应用程序时出错
- flutter - 将 TabBarView 中的其他选项卡更改为其他选项卡时,键盘仍然显示
- ruby-on-rails - 尝试从一个控制器插入两个表时,Rails 一直显示“UnkownAttributeError”