Zacznij terazZacznij za darmo

Wiele powtórzeń dźwięków

W tym ćwiczeniu zaczniesz od jednej z najprostszych technik klasyfikacji: uśredniania po wymiarach zbioru danych i wizualnej analizy wyników.

Skorzystasz z danych dotyczących uderzeń serca opisanych w poprzednim rozdziale. Część nagrań przedstawia prawidłową pracę serca, inne – nieprawidłową. Sprawdź, czy uda ci się dostrzec różnicę.

W twoim środowisku dostępne są dwie ramki danych: normal i abnormal, obie o kształcie (n_times_points, n_audio_files), zawierające nagrania audio kilku uderzeń serca. Częstotliwość próbkowania jest zapisana w zmiennej sfreq. Dostępna jest również funkcja pomocnicza show_plot_and_make_titles().

To ćwiczenie jest częścią kursu

Uczenie maszynowe dla danych szeregów czasowych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Na początku utwórz tablicę czasu dla tych plików audio (wszystkie nagrania mają tę samą długość).
  • Następnie połącz wartości obu ramek danych (normal i abnormal, w tej kolejności), aby uzyskać pojedynczą tablicę o kształcie (n_audio_files, n_times_points).
  • Na koniec skorzystaj z dostarczonego kodu, aby przejść pętlą przez każdy element listy / oś i wykreślić przebieg audio w czasie na odpowiednim obiekcie osi.
  • Prawidłowe uderzenia serca wykreślisz w lewej kolumnie, a nieprawidłowe – w prawej.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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()
Edytuj i uruchom kod