เสียงนั้นคืออะไร?
เพลงเริ่มต้นในรูปแบบอนาล็อก นั่นคือเสียงที่เราได้ยินจริงๆ แล้วคือการสั่นสะเทือนของอากาศ เพื่อจะวิเคราะห์เพลงได้ จึงต้องแปลงเพลงให้อยู่ในรูปตัวเลขที่มีความหมาย แทร็กใน Million Song Dataset มีการวัดค่า timbre จำนวน 12 ค่า ที่เก็บในช่วงเวลาต่างๆ ตลอดทั้งเพลง (Timbre คือตัววัดคุณภาพของเสียงที่รับรู้ได้ ใช้แยกแยะเสียงร้องออกจากเครื่องดนตรีประเภทสายหรือเครื่องกระทบ เป็นต้น)
ในบทนี้ จะลองทำนายว่าแต่ละแทร็กเผยแพร่ในปีใด โดยอาศัยข้อมูล timbre กล่าวคือ จะนำค่า timbre เหล่านี้มาสร้าง feature สำหรับโมเดล (ขอทบทวนว่า feature ในศัพท์ machine learning หมายถึงตัวแปร input ของโมเดล ซึ่งในสถิติมักเรียกว่า explanatory variable)
ข้อมูล timbre อยู่ในรูปเมทริกซ์ โดยแถวแทนช่วงเวลา และคอลัมน์แทนการวัด timbre แต่ละประเภท เมทริกซ์ timbre ทุกตัวจึงมี 12 คอลัมน์เหมือนกัน แต่จำนวนแถวจะต่างกันไปตามแต่ละเพลง ค่าเฉลี่ยของแต่ละคอลัมน์ใช้ประมาณค่าเฉลี่ยของการวัด timbre ตลอดทั้งเพลง และนำมาสร้าง feature ได้ 12 ค่าสำหรับโมเดล
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
แนะนำ Spark ด้วย sparklyr ใน R
คำแนะนำการฝึกหัด
timbre ซึ่งเก็บค่า timbre ของเพลง "Poker Face" ของ Lady Gaga ถูกกำหนดไว้ใน workspace แล้ว
- ใช้
colMeans()เพื่อหาค่าเฉลี่ยของแต่ละคอลัมน์ในtimbreแล้วกำหนดผลลัพธ์ให้กับmean_timbre
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# timbre has been pre-defined
timbre
# Calculate column means
(mean_timbre <- ___)