Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj Normalizer z sklearn.preprocessing.
  • Utwórz instancję Normalizer o nazwie normalizer.
  • Utwórz instancję KMeans o nazwie kmeans z 10 klastrami.
  • Za pomocą make_pipeline() utwórz potok o nazwie pipeline, który łączy normalizer i kmeans.
  • 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
____
Edytuj i uruchom kod