У меня есть большой набор данных, для которого мне нужно вычислить евклидову матрицу расстояний, однако я ограничен в ОЗУ и использую np.float64 (по умолчанию), так как dtype делает ПК нехваткой памяти. Я бы использовал квадратное расстояние, так как оно быстрее и в любом случае возвращает целое число.
Использование .astype (np.int32) не решает проблему, так как он все еще сначала создается как float64.
сам набор данных - int32, но возвращенная матрица - float64
matrix = pairwise_distances(dataset, metric='euclidean', squared=True)
print(matrix.dtype)
float64
Как я могу привести его непосредственно к массиву int?