Clustering von Aktien mit KMeans
In dieser Übung gruppierst du die Unternehmen anhand ihrer täglichen Aktienkursentwicklung (d.h. der Dollar-Differenz zwischen dem Schluss- und dem Eröffnungskurs eines jeden Handelstages). Du erhältst ein NumPy-Array movements
mit den täglichen Kursbewegungen von 2010 bis 2015 (bezogen von Yahoo! Finance), wobei jede Zeile einem Unternehmen und jede Spalte einem Handelstag entspricht.
Manche Aktien sind teurer als andere. Um dies zu berücksichtigen, füge am Anfang deiner Pipeline eine Normalizer
ein. Der Normalisierer wandelt den Aktienkurs jedes Unternehmens separat in eine relative Skala um, bevor das Clustering beginnt.
Beachte, dass Normalizer()
etwas anderes ist als StandardScaler()
, das du in der vorherigen Übung benutzt hast. Während StandardScaler()
Merkmale standardisiert (wie z. B. die Merkmale der Fischdaten aus der vorherigen Übung), indem es den Mittelwert entfernt und auf eine Einheitsvarianz skaliert, skaliert Normalizer()
jede Stichprobe - hier den Aktienkurs jedes Unternehmens - unabhängig von den anderen neu.
KMeans
und make_pipeline
sind bereits für dich importiert worden.
Diese Übung ist Teil des Kurses
Unüberwachtes Lernen in Python
Anleitung zur Übung
- Importiere
Normalizer
vonsklearn.preprocessing
. - Erstelle eine Instanz von
Normalizer
mit dem Namennormalizer
. - Erstelle eine Instanz von
KMeans
namenskmeans
mit10
Clustern. - Erstelle mit
make_pipeline()
eine Pipeline namenspipeline
, dienormalizer
undkmeans
verkettet. - Passe die Pipeline an das Array
movements
an.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# 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
____