เสียงที่ซ้ำกันหลายครั้ง
ในแบบฝึกหัดนี้ เราจะเริ่มต้นด้วยเทคนิคการจำแนกประเภทที่ง่ายที่สุด นั่นคือการหาค่าเฉลี่ยตามมิติของชุดข้อมูล แล้วตรวจสอบผลลัพธ์ด้วยสายตา
เราจะใช้ข้อมูลเสียงหัวใจที่ได้แนะนำไปในบทก่อน โดยบางไฟล์บันทึกเสียงหัวใจ ปกติ ในขณะที่บางไฟล์บันทึกเสียงหัวใจ ผิดปกติ ลองดูว่าสามารถสังเกตความแตกต่างได้หรือไม่
ใน workspace มี DataFrame สองชุด ได้แก่ normal และ abnormal ซึ่งมีรูปร่างเป็น (n_times_points, n_audio_files) และเก็บข้อมูลเสียงของการเต้นหัวใจหลายครั้ง นอกจากนี้ยังมีตัวแปร sfreq สำหรับความถี่การสุ่มตัวอย่าง และฟังก์ชันช่วยพล็อตกราฟ show_plot_and_make_titles() พร้อมใช้งานแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning สำหรับข้อมูล Time Series ใน Python
คำแนะนำการฝึกหัด
- สร้างอาร์เรย์เวลาสำหรับไฟล์เสียงเหล่านี้ (ไฟล์เสียงทุกไฟล์มีความยาวเท่ากัน)
- จากนั้นรวมค่าจาก DataFrame ทั้งสองชุดเข้าด้วยกัน (
normalและabnormalตามลำดับนี้) เพื่อให้ได้อาร์เรย์เดียวที่มีรูปร่างเป็น(n_audio_files, n_times_points) - สุดท้าย ใช้โค้ดที่เตรียมไว้เพื่อวนลูปผ่านแต่ละรายการในลิสต์ / แกน แล้วพล็อตข้อมูลเสียงตามเวลาในออบเจ็กต์แกนที่สอดคล้องกัน
- พล็อตเสียงหัวใจปกติในคอลัมน์ซ้าย และเสียงหัวใจผิดปกติในคอลัมน์ขวา
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
fig, axs = plt.subplots(3, 2, figsize=(15, 7), sharex=True, sharey=True)
# Calculate the time array
time = np.arange(____) / ____
# Stack the normal/abnormal audio so you can loop and plot
stacked_audio = np.hstack([____, ____]).T
# Loop through each audio file / ax object and plot
# .T.ravel() transposes the array, then unravels it into a 1-D vector for looping
for iaudio, ax in zip(stacked_audio, axs.T.ravel()):
ax.plot(time, iaudio)
show_plot_and_make_titles()