Mam elementy wymiarowe N x D
, które muszę uszeregować zgodnie z ich odległością do wektora wymiarowego 1 x D
. Jakiś szybki sposób na zaimplementowanie tego w Pythonie bez rekurencyjnego stosowania argmin
?
Dziękuję!
Mam elementy wymiarowe N x D
, które muszę uszeregować zgodnie z ich odległością do wektora wymiarowego 1 x D
. Jakiś szybki sposób na zaimplementowanie tego w Pythonie bez rekurencyjnego stosowania argmin
?
Dziękuję!
Coś naprawdę prostego to Kwadratowa odległość euklidesowa, a jej implementacja wyglądałaby następująco:
In []: F= randn(5, 3)
In []: t= randn(1, 3)
In []: ((F- t)** 2).sum(1)
Out[]: array([ 8.80512, 4.61693, 2.6002, 3.3293, 12.41800])
Gdzie F
to cechy, a t
wektor docelowy. W ten sposób ranking będzie wyglądał następująco:
In []: ((F- t)** 2).sum(1).argsort()
Out[]: array([2, 3, 1, 0, 4])
Jeśli jednak jesteś w stanie opisać więcej w swoim przypadku, mogą istnieć bardziej odpowiednie środki, takie jak odległość Mahalanobisa.
Python
indeksy zaczynają się od 0
, więc w tym przypadku argsort(.)
zapewni to, czego szukasz, na przykład ((F- t)** 2).sum(1).argsort()
. Dziękuję
- person eat; 20.06.2011