NumPy を使用したユークリッド距離の計算
3D 空間内の 2 つの点が与えられ、NumPy 配列 a および b として表されます。あなたの目標は、これらの点間のユークリッド距離を計算することです。
2 つの点間のユークリッド距離は、次の式を使用して計算されます。
dist = sqrt((ax-bx)^2 + (ay-by)^2 + (az-bz)^2)
NumPy でこの距離を計算するには、次を利用できます。 numpy.linalg.norm 関数。この関数は、ベクトルの長さであるベクトル ノルムを計算します。 2 点間のユークリッド距離は、単純にそれらの差の l2 ノルムです。
したがって、次のように距離を計算できます。
import numpy a = numpy.array((ax, ay, az)) b = numpy.array((bx, by, bz)) dist = numpy.linalg.norm(a - b)
numpy.linalg.norm 関数はベクトルを受け取ります。を入力として使用し、そのノルムを返します。この関数の ord パラメーターのデフォルト値は 2 で、これはユークリッド距離とも呼ばれる l2 ノルムに対応します。
ユークリッド距離と l2 距離との関係をより深く理解するには標準については、書籍「データ マイニング入門」からの抜粋を参照してください。
以上がNumPy を使用して 3D 空間のユークリッド距離を効率的に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。