2009-09-23 20 views
9

Mi piacerebbe usare correlation clustering e immagino che R sia un buon punto di partenza.Raggruppamento di correlazione in R

Posso presentare i dati a R come un insieme di vettori sparse grandi o come una tabella con una matrice di dissomiglianza pre-calcolata.

Le mie domande sono:

  • sono lì R funzioni esistente per trasformare questo in un hierarchical cluster con agnes che utilizza correlation clustering?
  • dovrò implementare manualmente la funzione (ovviamente semplice) correlation clustering, in caso affermativo come faccio a farla funzionare bene con agnes?

risposta

7

io certamente so molto poco su questo argomento, ma solo per puntare in una direzione:

  • hai guardato il pacchetto cluster? Ha un'ottima documentazione. In particolare, guarda l'aiuto (agnes) per alcuni suggerimenti. Martin Maechler (un membro del team R core) ha creato il pacchetto e ha contribuito alle discussioni sull'overflow dello stack prima, quindi spero che fornirà una risposta qui.
  • La funzione hclust() fa parte del pacchetto stats. In effetti, credo che ci siano piani per unire hclust() e agnes().
  • Potresti anche trovare this page from the Bioconductor project helpful.
  • In caso contrario, si può avere un po 'di fortuna guardando altri pacchetti nelle visualizzazioni CRAN Clustering, Natural Language Processing o Machine Learning.
+0

Grazie per i riferimenti – daveb

+0

Nessun problema. Sentiti libero di postare qualsiasi risposta a questa domanda quando trovi tutto! :) – Shane

7

L'approccio standard sarebbe quella che coinvolge cor(), hclust() e plot.hclust(). Consiglio vivamente heatmap.2 dal meraviglioso pacchetto gplots.

1

Sono passato a http://www.rseek.org/ e ho inserito l'algoritmo agnes e trovato il pacchetto CLUSTER su CRAN ha i seguenti dettagli di funzione per la funzione AGNES.

Dettagli

Agnes è descritto nel capitolo 5 di Kaufman e Rousseeuw (1990). Rispetto ad altri metodi di clustering agglomeranti come hclust, agnes ha le seguenti caratteristiche: (a) se ne ricava l'agglomerante coefficiente (vedi agnes.object) che misura la quantità di raggruppamento struttura trovato; e (b) a parte lo albero usuale fornisce anche il banner , un nuovo display grafico (vedi plot.agnes).

L'algoritmo agnes costruisce una gerarchia di clustering . Inizialmente, ogni osservazione è un piccolo cluster per stesso. I cluster vengono uniti fino a solo un grande cluster che contiene contiene tutte le osservazioni.A ciascuno stadio i due cluster più vicini sono combinati per formare un cluster più grande.

Per il metodo = "media", la distanza tra due gruppi è la media dei le differenze tra i punti in un cluster ei punti nell'altra grappolo . In method = "single", abbiamo utilizzare la più piccola dissomiglianza tra un punto nel primo cluster e un punto nel secondo cluster (il metodo più vicino vicino). Quando method = "complete", usiamo il più grande diversità tra un punto nel primo cluster e un punto nel secondo gruppo (più lontana metodo prossimo ).

Il clustering è un argomento piuttosto vasto e troverete molti pacchetti per R che ne implementano una qualche forma. Quando si hanno sia attributi che covariate, la combinazione di clustering con l'ordinazione a volte può fornire più informazioni.

2

È facile utilizzare la funzione agnes nel gruppo con il cluster con una matrice di dissomiglianza. Basta impostare l'argomento "diss" su TRUE.

Se è possibile calcolare facilmente la matrice di dissomiglianza al di fuori di R, allora quella potrebbe essere la strada da percorrere. Altrimenti, è possibile utilizzare semplicemente la funzione cor in R per generare la matrice di similarità (dalla quale è possibile ottenere la matrice di dissimilarità sottraendo da 1).

Problemi correlati