Aandelen clusteren met KMeans
In deze oefening ga je bedrijven clusteren op basis van hun dagelijkse koersbewegingen (dus het dollarverschil tussen de slot- en openingskoers voor elke handelsdag). Je krijgt een NumPy-array movements met dagelijkse koersbewegingen van 2010 tot 2015 (afkomstig van Yahoo! Finance), waarbij elke rij overeenkomt met een bedrijf en elke kolom met een handelsdag.
Sommige aandelen zijn duurder dan andere. Om daarvoor te corrigeren, voeg je een Normalizer toe aan het begin van je pipeline. De Normalizer zet de koersreeks van elk bedrijf afzonderlijk om naar een relatieve schaal voordat het clusteren start.
Let op: Normalizer() is anders dan StandardScaler(), die je in de vorige oefening gebruikte. Waar StandardScaler() features (zoals de kenmerken van de vissen in de vorige oefening) standaardiseert door het gemiddelde te verwijderen en te schalen naar een variantie van 1, schaalt Normalizer() elke sample - hier: de koersreeks van elk bedrijf - onafhankelijk van de rest opnieuw in.
KMeans en make_pipeline zijn al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Unsupervised Learning in Python
Oefeninstructies
- Importeer
Normalizeruitsklearn.preprocessing. - Maak een instantie van
Normalizermet de naamnormalizer. - Maak een instantie van
KMeansmet10clusters met de naamkmeans. - Gebruik
make_pipeline()om een pipeline te maken met de naampipelinedienormalizerenkmeansaan elkaar koppelt. - Fit de pipeline op de array
movements.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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
____