Я использую это ссылка для решения моей проблемы У меня есть ситуация, когда я использую хеширование с учетом местоположения, чтобы найти 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
и так далее
 
                                                                     
                                                                    