【问题标题】:Locality Sensitive Hashing to find nearest neighbours in Python局部敏感散列在 Python 中查找最近的邻居
【发布时间】:2020-06-22 22:31:36
【问题描述】:

我正在使用this 链接来解决我的问题 我有一种情况,我正在使用位置敏感度散列来查找 3 个最近的邻居。我的数据集有 22 列分类和连续,大约 5000 行。我正在使用以下代码来运行 LSH:

from LocalitySensitiveHashing import *
lsh = LocalitySensitiveHashing( 
               datafile = "df3_clean.csv",
               dim = 22,
               r = 5368,         
               b = 100,          
          )
lsh.get_data_from_csv()
lsh.initialize_hash_store()
lsh.hash_all_data()
similarity_neighborhoods = lsh.lsh_basic_for_nearest_neighbors()
lsh.write_clusters_to_file( merged_similarity_groups, "clusters.txt" )

我收到此错误:ValueError: data type must provide an itemsize

在传递到 LSH 之前,我已经对所有数据集进行了编码,并且我的数据帧的数据类型是浮点数。我在这里想念什么?

如何打印前三个邻居的结果?我在数据框中的第一列是 Cust_ID,我需要按如下方式打印输出:

CUST_ID     1st_neighbor.    2nd_neighbor      3rd_neighbor
0022        0012             1234              2233
0023        0022             1234              2231

等等

【问题讨论】:

    标签: python-3.x scikit-learn nearest-neighbor lsh


    【解决方案1】:
    lsh = LocalitySensitiveHashing( 
               datafile = "df3_clean.csv",
               dim = 22,
               r = 5368,         
               b = 100,          
          )
    

    我认为“df3_clean.csv”没有读取给定的文件。相反,它将它作为字符串读取。 尝试使用 pandas,然后使用 pandas 读取 csv。 它会解决这个错误。

    【讨论】:

      猜你喜欢
      • 2016-03-16
      • 2013-06-19
      • 1970-01-01
      • 2016-09-19
      • 2020-11-05
      • 1970-01-01
      • 1970-01-01
      • 2015-02-03
      • 1970-01-01
      相关资源
      最近更新 更多