Een t-SNE-kaart van de aandelenmarkt
t-SNE levert sterke visualisaties op wanneer de individuele samples gelabeld kunnen worden. In deze oefening pas je t-SNE toe op gegevens van aandelenkoersen van bedrijven. Een scatterplot van de resulterende t-SNE-features, gelabeld met de bedrijfsnamen, geeft je een kaart van de aandelenmarkt! De koersbewegingen voor elk bedrijf zijn beschikbaar als de array normalized_movements (deze zijn al voor je genormaliseerd). De lijst companies bevat de naam van elk bedrijf. PyPlot (plt) is al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Unsupervised Learning in Python
Oefeninstructies
- Importeer
TSNEuitsklearn.manifold. - Maak een TSNE-instantie met de naam
modelmetlearning_rate=50. - Pas de methode
.fit_transform()vanmodeltoe opnormalized_movements. Ken het resultaat toe aantsne_features. - Selecteer kolom
0en kolom1vantsne_features. - Maak een scatterplot van de t-SNE-features
xsenys. Geef het extra keywordargumentalpha=0.5mee. - Code om elk punt te labelen met de bedrijfsnaam is al voor je geschreven met
plt.annotate(), dus klik alleen nog op Antwoord verzenden om de visualisatie te zien!
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Import TSNE
____
# Create a TSNE instance: model
model = ____
# Apply fit_transform to normalized_movements: tsne_features
tsne_features = ____
# Select the 0th feature: xs
xs = ____
# Select the 1th feature: ys
ys = tsne_features[:,1]
# Scatter plot
____
# Annotate the points
for x, y, company in zip(xs, ys, companies):
plt.annotate(company, (x, y), fontsize=5, alpha=0.75)
plt.show()