Python khoảng cách Euclide

Công thức này có hai ưu điểm so với các cách tính khoảng cách khác. Đầu tiên, nó hiệu quả về mặt tính toán khi xử lý dữ liệu thưa thớt. Thứ hai, nếu một đối số thay đổi nhưng đối số kia không thay đổi, thì có thể tính toán trước dot[x, x] và/hoặc dot[y, y]

Tuy nhiên, đây không phải là cách chính xác nhất để thực hiện phép tính này, bởi vì phương trình này có khả năng bị "hủy bỏ thảm khốc". Ngoài ra, ma trận khoảng cách do hàm này trả về có thể không đối xứng chính xác theo yêu cầu của, e. g. , scipy.spatial.distance chức năng

Đọc thêm trong Hướng dẫn sử dụng .

Thông số . X {dạng mảng, ma trận thưa thớt} của hình dạng [n_samples_X, n_features]

Một mảng trong đó mỗi hàng là một mẫu và mỗi cột là một đối tượng địa lý

Y {dạng mảng, ma trận thưa thớt} của hình dạng [n_samples_Y, n_features], default=None

Một mảng trong đó mỗi hàng là một mẫu và mỗi cột là một đối tượng địa lý. Nếu None, phương pháp sử dụng

>>> from sklearn.metrics.pairwise import euclidean_distances
>>> X = [[0, 1], [1, 1]]
>>> # distance between rows of X
>>> euclidean_distances[X, X]
array[[[0., 1.],
       [1., 0.]]]
>>> # get distance to origin
>>> euclidean_distances[X, [[0, 0]]]
array[[[1.        ],
       [1.41421356]]]
0

Y_norm_squared hình dạng giống như mảng [n_samples_Y,] hoặc [n_samples_Y, 1] hoặc [1, n_samples_Y], default=None

Các tích vô hướng được tính toán trước của các vectơ trong Y [e. g. ,

>>> from sklearn.metrics.pairwise import euclidean_distances
>>> X = [[0, 1], [1, 1]]
>>> # distance between rows of X
>>> euclidean_distances[X, X]
array[[[0., 1.],
       [1., 0.]]]
>>> # get distance to origin
>>> euclidean_distances[X, [[0, 0]]]
array[[[1.        ],
       [1.41421356]]]
1] Có thể bỏ qua trong một số trường hợp, xem lưu ý bên dưới

bình phương bool, mặc định=Sai

Trả về khoảng cách Euclide bình phương

X_norm_squared hình dạng giống như mảng [n_samples_X,] hoặc [n_samples_X, 1] hoặc [1, n_samples_X], default=None

Các tích vô hướng được tính toán trước của các vectơ trong X [e. g. ,

>>> from sklearn.metrics.pairwise import euclidean_distances
>>> X = [[0, 1], [1, 1]]
>>> # distance between rows of X
>>> euclidean_distances[X, X]
array[[[0., 1.],
       [1., 0.]]]
>>> # get distance to origin
>>> euclidean_distances[X, [[0, 0]]]
array[[[1.        ],
       [1.41421356]]]
2] Có thể bỏ qua trong một số trường hợp, xem lưu ý bên dưới

Trả về . khoảng cách ndarray của hình dạng [n_samples_X, n_samples_Y]

Trả về khoảng cách giữa vectơ hàng của

>>> from sklearn.metrics.pairwise import euclidean_distances
>>> X = [[0, 1], [1, 1]]
>>> # distance between rows of X
>>> euclidean_distances[X, X]
array[[[0., 1.],
       [1., 0.]]]
>>> # get distance to origin
>>> euclidean_distances[X, [[0, 0]]]
array[[[1.        ],
       [1.41421356]]]
0 và vectơ hàng của
>>> from sklearn.metrics.pairwise import euclidean_distances
>>> X = [[0, 1], [1, 1]]
>>> # distance between rows of X
>>> euclidean_distances[X, X]
array[[[0., 1.],
       [1., 0.]]]
>>> # get distance to origin
>>> euclidean_distances[X, [[0, 0]]]
array[[[1.        ],
       [1.41421356]]]
1

Xem thêm

>>> from sklearn.metrics.pairwise import euclidean_distances
>>> X = [[0, 1], [1, 1]]
>>> # distance between rows of X
>>> euclidean_distances[X, X]
array[[[0., 1.],
       [1., 0.]]]
>>> # get distance to origin
>>> euclidean_distances[X, [[0, 0]]]
array[[[1.        ],
       [1.41421356]]]
2

Khoảng cách giữa các cặp phần tử của X và Y

ghi chú

Để đạt được độ chính xác cao hơn, có thể không sử dụng

>>> from sklearn.metrics.pairwise import euclidean_distances
>>> X = [[0, 1], [1, 1]]
>>> # distance between rows of X
>>> euclidean_distances[X, X]
array[[[0., 1.],
       [1., 0.]]]
>>> # get distance to origin
>>> euclidean_distances[X, [[0, 0]]]
array[[[1.        ],
       [1.41421356]]]
3 và
>>> from sklearn.metrics.pairwise import euclidean_distances
>>> X = [[0, 1], [1, 1]]
>>> # distance between rows of X
>>> euclidean_distances[X, X]
array[[[0., 1.],
       [1., 0.]]]
>>> # get distance to origin
>>> euclidean_distances[X, [[0, 0]]]
array[[[1.        ],
       [1.41421356]]]
4 nếu chúng được chuyển thành
>>> from sklearn.metrics.pairwise import euclidean_distances
>>> X = [[0, 1], [1, 1]]
>>> # distance between rows of X
>>> euclidean_distances[X, X]
array[[[0., 1.],
       [1., 0.]]]
>>> # get distance to origin
>>> euclidean_distances[X, [[0, 0]]]
array[[[1.        ],
       [1.41421356]]]
5

Làm cách nào để triển khai khoảng cách Euclide trong Python mà không cần NumPy?

Phương thức chung không sử dụng NumPy. sqrs = [điểm1 [0] - điểm2 [0]]**2 + [điểm1[1] - điểm2[1]]**2 + [điểm1[2] - điểm2[2 . . euc_dist = toán học. sqrt[sqrt] print ["Khoảng cách Euclide giữa điểm 1 và điểm 2. ", euc_dist]

Khoảng cách Euclide có giống với L2 không?

Định mức L2 tính toán khoảng cách của tọa độ vectơ từ gốc của không gian vectơ. Như vậy, nó còn được gọi là chuẩn Euclide vì nó được tính bằng khoảng cách Euclide từ gốc tọa độ .

Làm cách nào để tính khoảng cách giữa hai điểm trong Python bằng NumPy?

Sử dụng toán học tích hợp. Python có phương thức tích hợp sẵn trong mô-đun toán học để tính khoảng cách giữa 2 điểm trong không gian 3d. Tuy nhiên, điều này chỉ hoạt động với Python 3. 8 hoặc muộn hơn. môn Toán. dist[] nhận hai tham số, là hai điểm và trả về khoảng cách Euclide giữa các điểm đó

Chủ Đề