Seslerin çok kez tekrarı
Bu egzersizde, muhtemelen en basit sınıflandırma tekniğiyle başlayacaksın: bir veri kümesinin boyutları boyunca ortalama almak ve sonucu görsel olarak incelemek.
Geçen bölümde açıklanan kalp atışı verilerini kullanacaksın. Bazı kayıtlar normal kalp atışı aktivitesini, bazıları ise anormal aktiviteyi içeriyor. Bakalım farkı ayırt edebilecek misin.
Çalışma alanında, birkaç kalp atışının seslerini içeren ve her biri (n_times_points, n_audio_files) biçiminde olan iki DataFrame, normal ve abnormal mevcut. Ayrıca, örnekleme frekansı sfreq adlı bir değişkende yüklü. Kolaylık sağlayan bir çizim fonksiyonu show_plot_and_make_titles() da çalışma alanında hazır.
Bu egzersiz
Python ile Zaman Serisi Verileri için Machine Learning
kursunun bir parçasıdırEgzersiz talimatları
- Önce, bu ses dosyaları için zaman dizisini oluştur (tüm seslerin uzunluğu aynı).
- Sonra, iki DataFrame'in değerlerini (
normalveabnormal, bu sırayla) birleştirerek tek bir(n_audio_files, n_times_points)şekline sahip dizi oluştur. - Son olarak, sağlanan kodu kullanarak her liste öğesi/ekseni üzerinden döngü kur ve karşılık gelen eksen nesnesinde sesi zamana karşı çiz.
- Normal kalp atışlarını sol sütunda, anormal olanları sağ sütunda çizeceksin.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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()