我正在使用此链接来解决我的问题 我有一种情况,我正在使用位置敏感度散列来查找 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
等等