Menu
CoddyTech

Ripasso: stati d’animo delle playlist

Fa parte della sezione Apprendimento non supervisionato del percorso Machine Learning di Coddy. Lezione 42 di 51.

challenge icon

Sfida

Medio

Le 98 canzoni della tua playlist sono in songs.csv. Dividile in base all'umore; il grafico è già impostato.

  1. Scala le quattro caratteristiche e raggruppa le canzoni in 4 cluster.
  2. Assegna un nome a ogni cluster in base alla media di energia e valenza: se entrambe sono almeno 0.5, happy; solo energia, tense; solo valenza, calm; nessuna delle due, sad.
  3. In ordine decrescente, stampa la dimensione di ogni umore e il suo inno: la canzone più vicina al centro.
  4. Disponi la valenza sull'asse orizzontale e l'energia su quello verticale, con un gruppo per ogni umore etichettato con il suo nome; aggiungi la legenda e visualizza il grafico.

Per la prima playlist del capitolo:

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

e il relativo grafico:

Le 80 canzoni di un'altra playlist, intitolata Playlist Moods, con la valenza sull'asse orizzontale e l'energia su quello verticale, suddivise in quattro gruppi etichettati: tense in alto a sinistra, happy in alto a destra, sad in basso a sinistra, calm in basso a destra

Poi Coddy descriverà la tua.

Provalo tu

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

# Una riga per canzone: energia e valenza (0 triste, 1 felice) da 0 a 1, tempo, componente acustica
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")

# Scrivi il tuo codice qui sotto

Tutte le lezioni di Apprendimento non supervisionato

Esercitati da solo: Compilatore Python online