Beaucoup de répétitions de sons
Dans cet exercice, vous allez commencer par l'une des techniques de classification les plus simples : faire une moyenne sur certaines dimensions d'un jeu de données et inspecter le résultat visuellement.
Vous utiliserez les données de battements cardiaques présentées au dernier chapitre. Certains enregistrements sont une activité cardiaque normale, tandis que d'autres sont anormale. Voyons si vous pouvez repérer la différence.
Deux DataFrames, normal et abnormal, chacun de forme (n_times_points, n_audio_files) et contenant l'audio de plusieurs battements cardiaques, sont disponibles dans votre espace de travail. De plus, la fréquence d'échantillonnage est chargée dans une variable appelée sfreq. Une fonction de traçage pratique, show_plot_and_make_titles(), est aussi disponible dans votre espace de travail.
Cette activité fait partie du cours
Machine Learning pour les données chronologiques en Python
Instructions de l’exercice
- Commencez par créer le tableau des temps pour ces fichiers audio (tous les audios ont la même durée).
- Empilez ensuite les valeurs des deux DataFrames (
normalpuisabnormal, dans cet ordre) afin d'obtenir un seul tableau de forme(n_audio_files, n_times_points). - Enfin, utilisez le code fourni pour parcourir chaque élément de la liste / axe et tracer l'audio en fonction du temps dans l'objet axe correspondant.
- Vous tracerez les battements cardiaques normaux dans la colonne de gauche et les anormaux dans la colonne de droite
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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()