Я использую эту ссылку для достижения решения своей проблемы. У меня есть ситуация, когда я использую хеширование с учетом местоположения, чтобы найти 3 ближайших соседей. Мой набор данных состоит из 22 столбцов, как категориальных, так и непрерывных, и содержит около 5000 строк. Я использую следующий код для запуска L SH:
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
Я уже закодировал весь свой набор данных перед передачей в L SH и тип данных для моего фрейма данных float. Что мне здесь не хватает?
Как распечатать результат для трех верхних соседей? мой первый столбец в кадре данных - Cust_ID, и мне нужно напечатать вывод следующим образом:
CUST_ID 1st_neighbor. 2nd_neighbor 3rd_neighbor
0022 0012 1234 2233
0023 0022 1234 2231
и т. д.