問題タブ [distance-matrix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 各行間の平均絶対スコアを含む距離行列を作成するにはどうすればよいですか?
行列を考えると、
各列の各行の絶対平均差を含む距離行列を作成したいと考えています。たとえば、次の場合、 と の間の距離はX1
= X3
1.67 になります。
abs(1 - 3) + abs(2-4) + abs(3-4) + abs(4-5) + abs(2-3) + abs(5-2) = 10 / 6 = 1.67
designdist()
この方法でビーガンパッケージの関数を使用してみました:
列 1 と 3 の結果の距離は 0.666 です。この関数の問題は、各列のすべての値を合計してから減算することです。しかし、各行の絶対差 (個別、絶対) を合計し、それを N で割る必要があります。
python - Pandas Distance Matrix DataFrame を行に変換する
列とインデックスとして n 個の ID を持つ pandas DataFrame があります。これを n 2行の距離に変換することを考えていない簡単な方法はありますか?
に
matlab - MapReduce の完全な距離行列
私は MapReduce に比較的慣れていないので、次の問題が頭をよぎりました: MapReduce で完全な (つまり疎ではない) 距離行列をどのように計算できますか?
N 個のインスタンスを持つ 2D データセットがあり、そのようなポイント間のすべての可能な距離を評価し、それらをマトリックスに格納する必要があります。
私がこれまでに行ったことは、
- Map にそのチャンクを取得させ、そのようなポイント間の距離を評価させます。結果のマトリックスは、いくつかの距離といくつかのゼロを含む NxN マトリックスになります。
- Reduce はそのような行列を連結 (合計) し、空白を埋めます (つまり、チャンク内距離、まだゼロの要素)。
これはあまり効率的ではないと思います (特にメモリの観点から)。
誰でも私を啓発できますか?
更新:上記のコードで少し最適化を行いました。今
- Map はそのチャンクを受け取り、NxN マトリックスを事前に割り当てずに、そのようなポイント間の距離を評価しますが、Nx3 マトリックスを事前に割り当てます (ポイント A の 1 番目の列、2 番目の列はポイント B、3 番目の列は dist(A,B) です)。
- Reducer は、完全にゼロで満たされた NxN 行列を事前に割り当てます。Map によって計算された距離 (チャンク間) を埋めてから、空隙 (つまり、チャンク内の距離、まだゼロの要素) を埋めます。
マッパーは NxN マトリックス全体を構築する必要がないため、より良いソリューションであることは間違いありませんが、それでも、より適切に実行できると思います。
matlab - 多くのアイテム間の類似性を適切に表現する MATLAB
皆さんと一緒に MATLAB でアイデアをブレインストーミングしたいと思います。多くの列 (14K) と少数の行 (7) を持つマトリックスがあり、列が項目で、行が項目の特徴である場合、すべての項目との類似性を計算し、それを行列に保持したいと思います。
- 計算が簡単
- アクセスしやすい
pdist()
1.の場合、非常に高速な使用の素晴らしいアイデアを思いつきました:
しかし、アクセスs
は不便です。i
itemとの間の類似性にアクセスすることを好みますj
。たとえば、次を使用しS(i,j)
ます。
元の定義でS
は、 は行列ではなく配列です。2D マトリックスとして作成することは、ストレージに関して悪い考えですか? どの類似性がどのアイテムに対応するかをすばやく見つけるのに役立つクールなアイデアを考えてもらえますか?
ありがとうございました。
r - Rの距離行列の可能なペアの変換リスト
一連の要素 A、B、C、D があります。可能なペア (AB、AC、AD、BC、BD、CD) ごとに、距離測定値を計算し、位置 x のベクトルに格納しました。
位置x
は次のループによって決定されます: (n
は要素の数で、この例の場合は 4)
distancevector
Rで距離行列に変換する最も簡単な方法は何ですか?
例:
距離ベクトル = c(0.1, 0.2, 0.3, 0.4, 0.5, 0.6)
私が欲しいのは、この距離行列です:
1 0.1 0.2 0.3
B 0.1 1 0.4 0.5
C 0.2 0.4 1 0.6
D 0.3 0.5 0.6 1