Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Importeer Normalizer uit sklearn.preprocessing.
  • Maak een instantie van Normalizer met de naam normalizer.
  • Maak een instantie van KMeans met 10 clusters met de naam kmeans.
  • Gebruik make_pipeline() om een pipeline te maken met de naam pipeline die normalizer en kmeans aan 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
____
Code bewerken en uitvoeren