Khoảng cách Euclid giữa hai tập điểm
Trung bìnhnumpybroadcasting5 test · 12 giây · sai số 1e-5
Cho tập A gồm n điểm và tập B gồm m điểm trong không gian d chiều. Trả về ma trận D (n, m) với D[i, j] = ‖A[i] − B[j]‖₂.
- Không dùng vòng lặp: dùng broadcasting
A[:, None, :] - B[None, :, :], hoặc khai triển ‖a−b‖² = ‖a‖² + ‖b‖² − 2a·b (nhớ chặn giá trị âm nhỏ do sai số bằngnp.maximum(…, 0)).
Viết hàm
pairwise_distances(A, B)Tham số
A: ma trận (n, d)B: ma trận (m, d)
Trả về
Ma trận (n, m).
Ví dụ
Tham số
A = [[0,0],[1,1]] B = [[3,4]]
Kết quả
[[5.0],[3.605551275]]
Tham số
A = [[1,2,3]] B = [[1,2,3],[0,0,0]]
Kết quả
[[0.0,3.741657387]]
Bài tiếp theo: Độ tương đồng cosine giữa các embedding →
Python · NumPy
Bấm “Chạy thử” để gọi pairwise_distances() với 2 ví dụ trong đề và so sánh kết quả. Dùng print() thoải mái để gỡ lỗi.