Clustering dei titoli azionari con KMeans
In questo esercizio eseguirai il clustering delle aziende usando i movimenti giornalieri dei prezzi delle azioni (cioè la differenza in dollari tra i prezzi di chiusura e di apertura di ogni giornata di scambio). Ti viene fornito un array NumPy movements con i movimenti giornalieri dei prezzi dal 2010 al 2015 (ottenuti da Yahoo! Finance), in cui ogni riga corrisponde a un'azienda ed ogni colonna a una giornata di contrattazione.
Alcune azioni sono più costose di altre. Per tenerne conto, includi un Normalizer all'inizio della tua pipeline. Il Normalizer trasformerà separatamente il prezzo di ciascuna azienda su una scala relativa prima che inizi il clustering.
Nota che Normalizer() è diverso da StandardScaler(), che hai usato nell'esercizio precedente. Mentre StandardScaler() standardizza le feature (come le feature dei dati sui pesci dell'esercizio precedente) rimuovendo la media e scalando alla varianza unitaria, Normalizer() riscalibra ogni campione - qui, il prezzo delle azioni di ciascuna azienda - in modo indipendente dagli altri.
KMeans e make_pipeline sono già stati importati per te.
Questo esercizio fa parte del corso
Apprendimento non supervisionato in Python
Istruzioni dell'esercizio
- Importa
Normalizerdasklearn.preprocessing. - Crea un'istanza di
Normalizerchiamatanormalizer. - Crea un'istanza di
KMeanschiamatakmeanscon10cluster. - Usando
make_pipeline(), crea una pipeline chiamatapipelineche concateninormalizerekmeans. - Adatta (fit) la pipeline all'array
movements.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Import Normalizer
____
# Create a normalizer: normalizer
normalizer = ____
# Create a KMeans model with 10 clusters: kmeans
kmeans = ____
# Make a pipeline chaining normalizer and kmeans: pipeline
pipeline = ____
# Fit pipeline to the daily price movements
____