Klasteryzacja akcji za pomocą KMeans
W tym ćwiczeniu przeprowadzisz klasteryzację spółek na podstawie dziennych zmian cen ich akcji (czyli różnicy w dolarach między ceną zamknięcia a ceną otwarcia w każdym dniu handlowym). Otrzymujesz tablicę NumPy movements zawierającą dzienne zmiany cen z lat 2010–2015 (pobraną z Yahoo! Finance), gdzie każdy wiersz odpowiada jednej spółce, a każda kolumna – jednemu dniu handlowemu.
Niektóre akcje są droższe od innych. Aby to uwzględnić, dodaj Normalizer na początku potoku. Normalizer przed rozpoczęciem klasteryzacji niezależnie przekształci ceny akcji każdej spółki do skali względnej.
Zwróć uwagę, że Normalizer() różni się od StandardScaler(), którego używano w poprzednim ćwiczeniu. StandardScaler() standaryzuje cechy (takie jak cechy danych o rybach z poprzedniego ćwiczenia) przez odjęcie średniej i skalowanie do wariancji jednostkowej, natomiast Normalizer() przeskalowuje każdą próbkę – tutaj: ceny akcji każdej spółki – niezależnie od pozostałych.
KMeans i make_pipeline zostały już za ciebie zaimportowane.
To ćwiczenie jest częścią kursu
Uczenie nienadzorowane w Pythonie
Instrukcje do ćwiczenia
- Zaimportuj
Normalizerzsklearn.preprocessing. - Utwórz instancję
Normalizero nazwienormalizer. - Utwórz instancję
KMeanso nazwiekmeansz10klastrami. - Za pomocą
make_pipeline()utwórz potok o nazwiepipeline, który łączynormalizerikmeans. - Dopasuj potok do tablicy
movements.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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
____