私のデータセットの形式: [x 座標、y 座標、時間] 時間は 0 から 23 までの整数値です。
私の質問は、座標にはユークリッド距離メトリックが必要であるが、時間には別のユークリッド距離メトリックが必要な場合に、このデータをどのようにクラスター化できるかということです (ユークリッド距離メトリックでは d(23,0) は 23 であるため)。scipy の機能ごとに異なる距離メトリックを使用してデータをクラスター化することは可能ですか? どのように?
ありがとうございました
私のデータセットの形式: [x 座標、y 座標、時間] 時間は 0 から 23 までの整数値です。
私の質問は、座標にはユークリッド距離メトリックが必要であるが、時間には別のユークリッド距離メトリックが必要な場合に、このデータをどのようにクラスター化できるかということです (ユークリッド距離メトリックでは d(23,0) は 23 であるため)。scipy の機能ごとに異なる距離メトリックを使用してデータをクラスター化することは可能ですか? どのように?
ありがとうございました
適切な方法で「時間」を処理する独自のメトリックを定義する必要があります。scipy.spatial.distance.pdistのドキュメントでは、独自の関数を定義できます
Y = pdist(X, f)
ユーザー指定の 2 アリティ関数 f を使用して、X 内のすべてのベクトルのペア間の距離を計算します。[...] たとえば、ベクトル間のユークリッド距離は次のように計算できます。
dm = pdist(X, lambda u, v: np.sqrt(((u-v)**2).sum()))
metric
メトリクスは、キーワードを介して任意の scipy クラスタリング アルゴリズムに渡すことができます。たとえば、次を使用しlinkage
ます。
scipy.cluster.hierarchy.linkage(y, method='single', metric='euclidean')