Viele Wiederholungen von Geräuschen
In dieser Übung startest du mit einer der einfachsten Klassifikationstechniken: dem Mittelwert über die Dimensionen eines Datensatzes zu bilden und das Ergebnis visuell zu untersuchen.
Du arbeitest mit den Herzschlagdaten aus dem letzten Kapitel. Einige Aufnahmen zeigen normale Herzaktivität, andere abnormale Aktivität. Mal sehen, ob du den Unterschied erkennst.
Zwei DataFrames, normal und abnormal, jeweils mit der Form (n_times_points, n_audio_files) und dem Audio mehrerer Herzschläge, sind in deinem Workspace verfügbar. Außerdem ist die Abtastrate in einer Variable sfreq geladen. Eine praktische Plot-Funktion show_plot_and_make_titles() steht dir ebenfalls zur Verfügung.
Diese Übung ist Teil des Kurses
Maschinelles Lernen für Zeitreihendaten in Python
Anleitung zur Übung
- Erstelle zuerst das Zeitarray für diese Audiodateien (alle Audios haben dieselbe Länge).
- Füge anschließend die Werte der beiden DataFrames (
normalundabnormal, in dieser Reihenfolge) so zusammen, dass du ein einzelnes Array der Form(n_audio_files, n_times_points)erhältst. - Verwende schließlich den bereitgestellten Code, um über jedes Listenelement bzw. jede Achse zu iterieren und das Audio über der Zeit im jeweiligen Achsenobjekt zu plotten.
- Du plottest normale Herzschläge in der linken Spalte und abnormale in der rechten Spalte
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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()