แนะนำศิลปินเพลง ส่วนที่ 2
สมมติว่าคุณเป็นแฟนตัวยงของ Bruce Springsteen — คิดว่าจะชอบศิลปินคนไหนอีกบ้าง? ลองใช้ NMF features จากแบบฝึกหัดก่อนหน้าและ cosine similarity เพื่อค้นหาศิลปินที่คล้ายกัน โค้ดจากแบบฝึกหัดก่อนหน้าได้รันไว้แล้ว ดังนั้น norm_features จึงเป็น array ที่เก็บ NMF features ที่ผ่านการ normalize แล้วในรูปแถว และชื่อศิลปินทั้งหมดอยู่ใน list ชื่อ artist_names
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Unsupervised Learning ใน Python
คำแนะนำการฝึกหัด
- Import
pandasในชื่อpd - สร้าง DataFrame ชื่อ
dfจากnorm_featuresโดยใช้artist_namesเป็น index - ใช้ accessor
.loc[]ของdfเพื่อเลือกแถวของ'Bruce Springsteen'แล้วเก็บผลลัพธ์ไว้ในตัวแปรartist - ใช้เมธอด
.dot()ของdfกับartistเพื่อคำนวณ dot product ของทุกแถวกับartistแล้วบันทึกผลลัพธ์เป็นsimilarities - แสดงผลลัพธ์ของเมธอด
.nlargest()ของsimilaritiesเพื่อดูศิลปินที่คล้ายกับ'Bruce Springsteen'มากที่สุด
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import pandas
____
# Create a DataFrame: df
df = ____
# Select row of 'Bruce Springsteen': artist
artist = df.loc[____]
# Compute cosine similarities: similarities
similarities = ____
# Display those with highest cosine similarity
____