Aan de slagBegin gratis

Veel herhalingen van geluiden

In deze oefening begin je met misschien wel de eenvoudigste classificatietechniek: middelen over dimensies van een gegevensset en het resultaat visueel bekijken.

Je gebruikt de hartslagdata uit het vorige hoofdstuk. Sommige opnames bevatten normale hartslagactiviteit, andere abnormale activiteit. Eens kijken of je het verschil kunt zien.

Twee DataFrames, normal en abnormal, elk met de vorm (n_times_points, n_audio_files) en met het audio van meerdere hartslagen, zijn beschikbaar in je werkruimte. Ook is de bemonsteringsfrequentie geladen in een variabele sfreq. Een handige plotfunctie show_plot_and_make_titles() is ook beschikbaar in je werkruimte.

Deze oefening maakt deel uit van de cursus

Machine Learning voor tijdreeksgegevens in Python

Bekijk cursus

Oefeninstructies

  • Maak eerst de tijdarray voor deze audiobestanden (alle audio's hebben dezelfde lengte).
  • Stapel daarna de waarden van de twee DataFrames (normal en abnormal, in die volgorde) zodat je één array krijgt met de vorm (n_audio_files, n_times_points).
  • Gebruik tot slot de gegeven code om door elk lijstitem/as te loopen en het audiosignaal in de bijbehorende as over de tijd te plotten.
  • Je plott normale hartslagen in de linkerkolom en abnormale in de rechterkolom

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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()
Code bewerken en uitvoeren