Gerarchie di titoli azionari
Nel capitolo 1 hai usato il clustering k-means per raggruppare le aziende in base agli andamenti dei loro prezzi azionari. Ora eseguirai un clustering gerarchico delle aziende. Ti viene fornito un array NumPy di movimenti di prezzo movements, in cui le righe corrispondono alle aziende, e un elenco dei nomi delle aziende companies. Il clustering gerarchico di SciPy non si integra in una pipeline di sklearn, quindi dovrai usare la funzione normalize() da sklearn.preprocessing invece di Normalizer.
linkage e dendrogram sono già stati importati da scipy.cluster.hierarchy, e PyPlot è stato importato come plt.
Questo esercizio fa parte del corso
Apprendimento non supervisionato in Python
Istruzioni dell'esercizio
- Importa
normalizedasklearn.preprocessing. - Riscalare gli andamenti dei prezzi per ciascun titolo usando la funzione
normalize()sumovements. - Applica la funzione
linkage()anormalized_movements, usando il collegamento'complete', per calcolare il clustering gerarchico. Assegna il risultato amergings. - Traccia un dendrogramma del clustering gerarchico, usando la lista
companiesdei nomi delle aziende comelabels. Inoltre, specifica gli argomentileaf_rotation=90eleaf_font_size=6come hai fatto nell'esercizio precedente.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Import normalize
____
# Normalize the movements: normalized_movements
normalized_movements = ____
# Calculate the linkage: mergings
mergings = ____
# Plot the dendrogram
____
plt.show()