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, kursun bir parçasıdır
Python ile Zaman Serisi Verileri için Machine Learning
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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()