Saya mempunyai coretan kod yang menggunakan fungsi semisin untuk mengira matriks jarak antara dua senarai koordinat. Walaupun pelaksanaan semasa berfungsi, ia melibatkan gelung bersarang dan boleh memakan masa yang sangat lama untuk set data yang besar. Saya sedang mencari alternatif yang lebih cekap yang mengelakkan penggunaan gelung for.
import numpy as np from haversine import haversine string_list_1 = [(20.00,-100.1),...] # List of vector pair coordinates (lat,long) string_list_2 = [(21.00,-101.1),...] # Another list of pair coordinates dist_mat = np.zeros((len(string_list_1), len(string_list_2))) for i, coord1 in enumerate(string_list_1): dist_mat[i, :] = np.array([haversine(coord1, coord2) for coord2 in string_list_2])
Saya ingin nasihat atau contoh kod untuk pelaksanaan yang lebih cekap dan lebih pantas mengelakkan penggunaan gelung for.
Gunakan haversine
dalam sklearn. Petunjuk:
from sklearn.metrics.pairwise import haversine_distances haversine_distances(string_list_1,string_list_2)
Atas ialah kandungan terperinci Vektorisasi harvesine senarai vektor. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!