Menu
CoddyTech

Podsumowanie: nastroje playlist

Część sekcji Uczenie nienadzorowane ścieżki Machine Learning w Coddy. Lekcja 42 z 51.

challenge icon

Wyzwanie

Średni

98 utworów z Twojej playlisty znajduje się w songs.csv. Podziel je według nastroju; wykres jest już przygotowany.

  1. Przeskaluj cztery cechy i podziel utwory na 4 klastry.
  2. Nazwij każdy klaster na podstawie średniej energii i walencji: jeśli obie wartości wynoszą co najmniej 0.5, użyj happy; jeśli tylko energia — tense; jeśli tylko walencja — calm; jeśli żadna — sad.
  3. Od największego do najmniejszego wypisz liczebność każdego nastroju i hymn: utwór położony najbliżej jego środka.
  4. Umieść walencję na osi poziomej, a energię na pionowej; dla każdego nastroju dodaj jedną grupę oznaczoną jego nazwą. Dodaj legendę i wyświetl wykres.

W przypadku pierwszej playlisty z tego rozdziału:

happy: 26 songs, anthem Lucky Avenue
tense: 22 songs, anthem Midnight Highway
sad: 17 songs, anthem Grey Bridges
calm: 15 songs, anthem Soft Window

a jej wykres wygląda tak:

80 utworów z innej playlisty na wykresie zatytułowanym Playlist Moods; walencja na osi poziomej, energia na pionowej, cztery oznaczone grupy: tense u góry po lewej, happy u góry po prawej, sad na dole po lewej, calm na dole po prawej

Teraz Coddy opisze Twoją playlistę.

Spróbuj swoich sił

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans

# Jeden wiersz na utwór: energia i walencja (0 – smutny, 1 – radosny) w zakresie od 0 do 1, tempo, akustyczność
songs = pd.read_csv("songs.csv")
features = ["energy", "valence", "tempo_bpm", "acousticness"]

fig, ax = plt.subplots()
ax.set_title("Playlist Moods")
ax.set_xlabel("Valence (sad to happy)")
ax.set_ylabel("Energy")

# Napisz swój kod poniżej

Wszystkie lekcje w sekcji Uczenie nienadzorowane

Poćwicz samodzielnie: Kompilator Python online