Domanda

Come il mio primo progetto nella scienza dei dati, vorrei cogliere i principali cluster nei dati rumorosi. Penso che un buon esempio sarebbe cercare di individuare alcuni link su una determinata questione StackExchange che ha un certo numero di risposte. Il più comune tipo di collegamento è un collegamento a una domanda sulla rete SE. Il prossimo comune è o link tag o link ai profili utente. I restanti collegamenti potrebbero essere link casuali inclusi nei post, che è considerato il rumore. Idealmente, sto cercando una soluzione in cui non so quanti cluster di link ci sarà prima del tempo.

Ho implementato il mio primo tentativo con scikit-learn e K-Means. Tuttavia, non è l'ideale perché mi sembrano avere per specificare il numero di cluster prima del tempo, e credo che i casuali, collegamenti rumorosi vengono raggruppati in modo improprio. Penso anche che è più efficace su un corpus più ampio rispetto al relativamente piccolo di URL gettoni (anche se questo è solo una supposizione).

C'è un modo per fare questo tipo di clustering, in cui il numero di cluster è sconosciuto o in cui uno dei cluster è una sorta di oggetti cluster contenente varie che non corrispondono da vicino gli altri cluster?

È stato utile?

Soluzione

Hai guardato DBSCAN ? È un raggruppamento spaziale densità a base di dati con rumore che può definire cluster non lineari (a differenza k-means).

E non richiede conoscere il numero di cluster. Tuttavia, esso richiede due parametri (minima dimensione del cluster e dimensione quartieri) che misura la densità. Ma si può essere in grado di stimare nel vostro settore particolare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top