Python でキャンベラからの距離を計算する方法 (例あり)


2 つのベクトル A と B の間のキャンベラ距離は次のように計算されます。

キャンベラからの距離 = Σ |A i -B i | / (|A i | + |B i |)

金:

  • A i : ベクトル A のi 番目の
  • Bi : ベクトル B の i番目の

たとえば、次の 2 つのベクトルがあるとします。

  • A = [2、4、4、6]
  • B = [5、5、7、8]

A と B の間のキャンベラ距離は次のように計算します。

  • キャンベラからの距離 = |2-5|/(2+5) + |4-5|/(4+5) + |4-7|/(4+7) + |6-8|/(6+8) ))
  • キャンベラからの距離 = 3/7 + 1/9 + 3/11 + 2/14
  • キャンベラからの距離 = 0.95527

これら 2 つのベクトル間のキャンベラ距離は0.95527です。

次の例は、Python でこれら 2 つの正確なベクトル間のキャンベラ距離を計算する方法を示しています。

例: Python でキャンベラからの距離を計算する

まず、各ベクトルを保持する NumPy 配列を作成しましょう。

 import numpy as np

#define two arrays
array1 = np. array ([2, 4, 4, 6])
array2 = np. array ([5, 5, 7, 8])

次に、Python のSciPyパッケージのcanberra()関数を使用して、2 つのベクトル間のキャンベラ距離を計算できます。

 from scipy. spatial import distance

#calculate Canberra distance between the arrays
distance. canberra (array1, array2)

0.9552669552

2 つのベクトル間のキャンベラ距離は0.95527です。

この値は、以前に手動で計算した値に対応していることに注意してください。

: canberra()関数の完全なドキュメントは、 SciPyパッケージからここで見つけることができます。

追加リソース

次のチュートリアルでは、Python で他の一般的な距離メトリックを計算する方法を説明します。

Pythonでユークリッド距離を計算する方法
Python でマンハッタンの距離を計算する方法
Python でハミング距離を計算する方法
Python でマハラノビス距離を計算する方法
Python でレーベンシュタイン距離を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です