Menu
CoddyTech

Récapitulatif : ambiances des playlists

Fait partie de la section Apprentissage non supervisé du Journey Machine Learning de Coddy. Leçon 42 sur 51.

challenge icon

Défi

Moyen

Les 98 chansons de ta playlist se trouvent dans songs.csv. Classe-les par humeur ; le graphique est prêt.

  1. Standardise les quatre caractéristiques et regroupe les chansons en 4 clusters.
  2. Nomme chaque cluster d’après la moyenne de son énergie et de sa valence : si les deux sont supérieures ou égales à 0.5, c’est happy ; si seule l’énergie l’est, tense ; si seule la valence l’est, calm ; si aucune des deux ne l’est, sad.
  3. En commençant par le plus grand, affiche la taille de chaque humeur et son hymne : la chanson la plus proche de son centre.
  4. Place la valence sur l’axe horizontal et l’énergie sur l’axe vertical, avec un groupe par humeur nommé d’après celle-ci ; ajoute une légende et affiche le graphique.

Pour la première playlist du chapitre :

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

et son graphique :

Les 80 chansons d’une autre playlist, intitulée Playlist Moods, représentées selon la valence sur l’axe horizontal et l’énergie sur l’axe vertical, réparties en quatre groupes nommés : tense en haut à gauche, happy en haut à droite, sad en bas à gauche, calm en bas à droite

Ensuite, Coddy décrit la tienne.

Essayez vous-même

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

# Une ligne par chanson : énergie et valence (0 triste à 1 joyeux) de 0 à 1, tempo, caractère acoustique
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")

# Écrivez votre code ci-dessous

Toutes les leçons de Apprentissage non supervisé

Entraînez-vous par vous-même : Compilateur Python en ligne