Menu
CoddyTech

Ôn tập: sắc thái danh sách phát

Thuộc phần Học không giám sát trong hành trình Machine Learning của Coddy. Bài học 42 trên 51.

challenge icon

Thử thách

Trung bình

98 bài hát trong danh sách phát của bạn nằm trong songs.csv. Hãy phân loại chúng theo tâm trạng; biểu đồ đã được chuẩn bị sẵn.

  1. Chuẩn hóa bốn đặc trưng và phân cụm các bài hát thành 4 cụm.
  2. Đặt tên cho mỗi cụm dựa trên giá trị trung bình của năng lượng và sắc thái: cả hai đều từ 0.5 trở lên thì là happy, chỉ năng lượng từ 0.5 trở lên thì là tense, chỉ sắc thái từ 0.5 trở lên thì là calm, cả hai đều dưới 0.5 thì là sad.
  3. In kích thước và bài hát tiêu biểu của từng tâm trạng theo thứ tự từ lớn nhất đến nhỏ nhất: bài hát gần tâm cụm nhất.
  4. Biểu diễn sắc thái theo trục ngang và năng lượng theo trục dọc, mỗi nhóm ứng với một tâm trạng và được gắn nhãn bằng tên tâm trạng đó; thêm chú giải rồi hiển thị biểu đồ.

Với danh sách phát đầu tiên của chương:

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

và biểu đồ của danh sách đó:

Một danh sách phát khác có 80 bài hát, tiêu đề Playlist Moods, sắc thái theo trục ngang và năng lượng theo trục dọc, gồm bốn nhóm được gắn nhãn: tense ở phía trên bên trái, happy ở phía trên bên phải, sad ở phía dưới bên trái, calm ở phía dưới bên phải

Sau đó, Coddy sẽ mô tả danh sách phát của bạn.

Tự làm thử

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

# Mỗi bài hát một hàng: energy và valence (0 buồn, 1 vui) có giá trị từ 0 đến 1, cùng với tempo và 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")

# Viết code của bạn bên dưới

Tất cả bài học trong Học không giám sát

Tự luyện tập: Trình biên dịch Python online