Article View: pl.comp.lang.python
Article #27484Re: sortowanie zgodnie z odlegloscia
From: Bart Ogryczak
Date: Tue, 25 May 2010 13:48
Date: Tue, 25 May 2010 13:48
24 lines
2496 bytes
2496 bytes
On May 25, 2:20 pm, sdh <stasze...@gmail.com> wrote: > czesc wszystkim, > > mam liste obiektow oraz funkcje "porownaj(a,b)", ktora dla danych > dwoch obiektow a i b zwraca wartosc 'odleglosci' miedzy nimi. jesli > 'odleglosc' rowna sie 0 to znaczy, ze sa one identyczne (wg jakiejś > tam hierarchii). ale w rzeczywistosci wartosc odleglosci bedzie sie > wahac w zakresie 1-kilkadziesiat. > > pytanie: jak posortowac ta liste tak, aby elementy (obiekty) > najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b)) > znalazly sie kolo siebie na liscie? Nie posortować, a poklastrować. Robi się macierz odległości, wylicza jej wektory własne, redukuje jej stopień do liczby klastrów które chcesz mieć i gotowe. Nie pytaj mnie o szczegóły, to ten wykład miałem pare lat temu. Tutaj możesz zacząć szukać od strony matematycznej: http://en.wikipedia.org/wiki/Cluster_analysis A pythonowe narzędzia znajdziesz w SciPy http://docs.scipy.org/doc/scipy/reference/linalg.html Update: jest chyba nawet gotowe rozwiązanie. http://code.google.com/p/scipy-cluster/ Ciebie interesuje normal euklidesowa.
Technical Details
Message-ID:
<dd1d2997-970d-48cf-85a2-028b144178ae@f13g2000vbm.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!plix.pl!newsfeed1.plix.pl!news-out2.kabelfoon.nl!newsfeed.kabelfoon.nl!bandi.nntp.kabelfoon.nl!nx02.iad01.newshosting.com!newshosting.com!news-out.readnews.com!news-xxxfer.readnews.com!postnews.google.com!f13g2000vbm.googlegroups.com!not-for-mailReferences:
<5f71e755-08cd-4c40-8201-205b22a5d80f@40g2000vbr.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!plix.pl!newsfeed1.plix.pl!news-out2.kabelfoon.nl!newsfeed.kabelfoon.nl!bandi.nntp.kabelfoon.nl!nx02.iad01.newshosting.com!newshosting.com!news-out.readnews.com!news-xxxfer.readnews.com!postnews.google.com!f13g2000vbm.googlegroups.com!not-for-mail From: Bart Ogryczak <b.ogryczak@gmail.com> Newsgroups: pl.comp.lang.python Subject: Re: sortowanie zgodnie z odlegloscia Date: Tue, 25 May 2010 06:48:25 -0700 (PDT) Organization: http://groups.google.com Lines: 31 Message-ID: <dd1d2997-970d-48cf-85a2-028b144178ae@f13g2000vbm.googlegroups.com> References: <5f71e755-08cd-4c40-8201-205b22a5d80f@40g2000vbr.googlegroups.com> NNTP-Posting-Host: 94.100.112.225 Mime-Version: 1.0 X-Trace: posting.google.com 1274795305 13173 127.0.0.1 (25 May 2010 13:48:25 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 25 May 2010 13:48:25 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: f13g2000vbm.googlegroups.com; posting-host=94.100.112.225; posting-account=1kG_1AoAAADLEA3eucGvO2J-Uo4aPCW_ User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4,gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit