Mengira Jarak Euclidean dengan NumPy
Dalam ruang 3D, diberi dua titik a = (ax, ay, az) dan b = (bx , oleh, bz), jarak Euclidean antara mereka dinyatakan sebagai:
dist = sqrt((ax-bx)^2 (ay-by)^2 (az-bz)^2)
Bagaimanakah NumPy boleh digunakan untuk mengira jarak ini?
Menggunakan NumPy, anda mempunyai tatasusunan a dan b mewakili dua titik:
import numpy
a = numpy.array((ax, ay, az))
b = numpy.array((bx, by, bz))
Penyelesaian:
Kepada selesaikan ini, manfaatkan numpy.linalg.norm:
dist = numpy.linalg.norm(a-b)
Nilai lalai bagi parameter ord dalam numpy.linalg.norm ialah 2, sepadan dengan norma l2. Oleh kerana formula jarak Euclidean mewakili norma l2, pengiraan ini mengukur jarak antara titik dengan tepat.
Fungsi ini mengambil asas teorinya daripada Pengenalan kepada Perlombongan Data, seperti yang digambarkan di bawah:
[Imej penjelasan teori daripada Pengenalan kepada Perlombongan Data]
Atas ialah kandungan terperinci Bagaimanakah NumPy Boleh Mengira Jarak Euclidean Antara Dua Titik 3D dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!