Hiérarchies d’actions
Dans le chapitre 1, vous avez utilisé le clustering k-means pour regrouper les entreprises en fonction de l'évolution du cours de leurs actions. Vous allez maintenant effectuer un clustering hiérarchique des entreprises. Vous disposez d'un tableau NumPy représentant l'évolution des cours, movements, dont les lignes correspondent aux entreprises, et d'une liste des noms des entreprises, companies. Le regroupement hiérarchique SciPy ne s'intègre pas dans un pipeline sklearn, vous devrez donc utiliser la fonction normalize() de sklearn.preprocessing à la place de Normalizer.
linkage et dendrogram ont déjà été importés depuis scipy.cluster.hierarchy, et PyPlot a été importé sous le nom plt.
Cet exercice fait partie du cours
Apprentissage non supervisé en Python
Instructions
- Importez « normalize » depuis « sklearn.preprocessing ».
- Recalculez les fluctuations de prix pour chaque action en utilisant la fonction « normalize() » sur « movements ».
- Appliquez la fonction « linkage() » à « normalized_movements », en utilisant le lien « 'complete' », pour calculer le regroupement hiérarchique. Attribuez le résultat à « mergings ».
- Créez un graphique du regroupement hiérarchique en utilisant la liste « companies » des noms de sociétés comme « labels ». De plus, spécifiez les arguments clés « leafrotation=90 » et « leaffont_size=6 » comme vous l'avez fait dans l'exercice précédent.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Import normalize
____
# Normalize the movements: normalized_movements
normalized_movements = ____
# Calculate the linkage: mergings
mergings = ____
# Plot the dendrogram
____
plt.show()