Я читаю наборы данных из файла в numpy
массивы, подобные этому:
def read_data(filename):
data = np.empty(shape=[0, 65], dtype=int)
with open(filename) as f:
for line in f:
data = np.vstack((data, np.array(list(map(int, line.split(','))), dtype=int)))
return data
Я использую numpy
для расчета евклидова расстояния между двумя списками:
def euclidean_distance(x, z):
return np.linalg.norm(x-z)
После этого я вычисляю евклидовы расстояния следующим образом:
for data in testing_data:
for data2 in training_data:
dist = euclidean_distance(data, data2)
Моя проблема в том, что этот код работает очень медленно, его завершение занимает ~ 10 минут. Как я могу улучшить это, что мне не хватает?
Я должен использовать расстояния в другом алгоритме, поэтому скорость очень важна.