Menu
CoddyTech

복습: 플레이리스트 분위기

Coddy Machine Learning 여정의 비지도 학습 섹션에 포함된 레슨. 51개 중 42번째.

challenge icon

챌린지

중급

플레이리스트의 노래 98곡은 songs.csv에 있습니다. 노래를 분위기별로 분류하세요. 차트는 설정되어 있습니다.

  1. 네 가지 특성을 스케일링하고 노래를 4개 클러스터로 묶으세요.
  2. 각 클러스터의 평균 에너지와 긍정성을 기준으로 이름을 붙이세요. 둘 다 0.5 이상이면 happy, 에너지만 해당하면 tense, 긍정성만 해당하면 calm, 둘 다 해당하지 않으면 sad입니다.
  3. 가장 큰 클러스터부터 각 분위기의 규모와 대표곡, 즉 중심에 가장 가까운 노래를 출력하세요.
  4. 가로축에 긍정성, 세로축에 에너지를 표시하고, 분위기별로 하나의 그룹을 해당 이름으로 표시해 산점도를 그리세요. 범례를 표시하고 차트를 보여 주세요.

챕터의 첫 번째 플레이리스트에서는 다음과 같습니다.

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

그리고 차트는 다음과 같습니다.

Playlist Moods라는 제목의 다른 플레이리스트 노래 80곡을 나타낸 차트. 가로축은 긍정성, 세로축은 에너지이며, 네 개의 그룹에 이름이 표시되어 있습니다. tense는 왼쪽 위, happy는 오른쪽 위, sad는 왼쪽 아래, calm은 오른쪽 아래에 있습니다.

이제 Coddy가 여러분의 플레이리스트를 설명합니다.

직접 해보기

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

# 노래당 한 행: energy와 valence(0은 슬픔, 1은 행복)는 0부터 1까지, tempo, 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")

# 아래에 코드를 작성하세요

비지도 학습의 모든 레슨

직접 연습해 보세요: 온라인 Python 컴파일러