Menu
CoddyTech

Rekap: Suasana Playlist

Termasuk bagian Pembelajaran Tanpa Pengawasan dalam perjalanan Machine Learning di Coddy. Pelajaran 42 dari 51.

challenge icon

Tantangan

Sedang

98 lagu di playlist-mu ada di songs.csv. Kelompokkan lagu-lagu itu berdasarkan suasana hati; grafiknya sudah disiapkan.

  1. Skalakan keempat fitur dan kelompokkan lagu menjadi 4 cluster.
  2. Beri nama setiap cluster berdasarkan rata-rata energy dan valence-nya: jika keduanya 0.5 atau lebih, namanya happy; jika hanya energy yang memenuhi, tense; jika hanya valence yang memenuhi, calm; jika tidak keduanya, sad.
  3. Urutkan dari yang terbesar, lalu cetak jumlah lagu dan lagu andalan untuk setiap suasana hati: lagu yang paling dekat dengan pusat cluster-nya.
  4. Buat scatter plot dengan valence pada sumbu mendatar dan energy pada sumbu tegak, satu kelompok untuk setiap suasana hati dan beri label dengan namanya; tampilkan legenda, lalu tampilkan grafiknya.

Untuk playlist pertama di bab ini:

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

dan grafiknya:

Playlist lain dengan 80 lagu, berjudul Playlist Moods, valence pada sumbu mendatar dan energy pada sumbu tegak, dalam empat kelompok berlabel: tense di kiri atas, happy di kanan atas, sad di kiri bawah, calm di kanan bawah

Lalu Coddy menjelaskan playlist-mu.

Coba sendiri

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

# Satu baris untuk setiap lagu: energy dan valence (0 sedih hingga 1 bahagia) bernilai dari 0 hingga 1, serta tempo dan acousticness
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")

# Tulis kodemu di bawah ini

Semua pelajaran di Pembelajaran Tanpa Pengawasan

Latihan sendiri: Compiler Python online