🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #27484

Re: sortowanie zgodnie z odlegloscia

#27484
From: Bart Ogryczak
Date: Tue, 25 May 2010 13:48
24 lines
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-mail
References: <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