Non riesco a comprendere un caso d'uso specifico della classe sklearn.cluster.SpectralClustering
come indicato nella documentazione ufficiale here. Diciamo che voglio usare la mia matrice di affinità per eseguire il clustering. Ho un'istanza di un oggetto della classe SpectralClustering
come segue: Utilizzo della classe sklearn.cluster.SpectralClustering con parametro affinity = 'precomputed'
from sklearn.clustering import SpectralClustering
cl = SpectralClustering(n_clusters=5,affinity='precomputed')
La documentazione per il parametro affinity
sopra è il seguente:
affinità: stringa, matrice simile o richiamabile, default 'RBF'
Se una stringa, può essere uno dei "neighbor_vicini", "precomputed", "rbf" o uno dei kernel supportato da sklearn.metrics.pairwise_kernels. Devono essere utilizzati solo i kernel che producono punteggi di somiglianza (valori non negativi che aumentano con la somiglianza). Questa proprietà non è controllata dall'algoritmo di clustering.
Ora, oggetto cl
ha un metodo fit
per cui la documentazione sul suo unico parametro X
è la seguente:
X: array simili o matrice sparsa, forma (N_SAMPLES, n_features)
O, se == affinità
precomputed
, una matrice di affinità precalcolate di forma (N_SAMPLES, N_SAMPLES)
Qui è dove si confondono. Sto usando la mia matrice di affinità, dove una misura di 0 significa che due punti sono identici, con un numero più alto che significa che due punti sono più dissimili. Tuttavia, le altre scelte per il parametro affinity
effettivamente prendere un insieme di dati e produrre una somiglianza matrice, per cui superiore valori sono indicativi di più somiglianza, e bassi valori indicano dissomiglianza (come il kernel base radiale).
Così quando si utilizza il metodo fit
sulla mia istanza di SpectralClustering
, faccio io in realtà bisogno di trasformare la mia matrice di affinità in una matrice di similarità prima di passarlo alla chiamata fit
metodo come parametro X
? La stessa pagina di documentazione fa una nota sulla trasformazione della distanza in somiglianze ben educate, ma non indica esplicitamente dove dovrebbe essere eseguita questa fase, e tramite quale chiamata di metodo.
Grazie - ho notato che il frammento, ma è stato preso sulla formulazione, vale a dire.affinità che significa somiglianza, in contrapposizione alla distanza. –
Mi chiedo cosa significa "delta"? come impostare questo parametro? – eastdog