ध्वनियों की कई पुनरावृत्तियाँ
इस अभ्यास में, आप शायद सबसे सरल क्लासिफिकेशन तकनीक से शुरू करेंगे: किसी डेटासेट के विभिन्न आयामों पर एवरेज लेना और परिणाम को विज़ुअली देखना.
आप पिछले चैप्टर में वर्णित हार्टबीट डेटा का उपयोग करेंगे. कुछ रिकॉर्डिंग्स normal हार्टबीट एक्टिविटी की हैं, जबकि अन्य abnormal एक्टिविटी की. चलिए देखते हैं कि क्या आप फर्क पकड़ पाते हैं.
दो DataFrames, normal और abnormal, जिनका shape (n_times_points, n_audio_files) है और जिनमें कई हार्टबीट्स की ऑडियो है, आपके वर्कस्पेस में उपलब्ध हैं. साथ ही, सैंपलिंग फ़्रीक्वेंसी sfreq नाम के वैरिएबल में लोड है. एक सुविधाजनक plotting फंक्शन show_plot_and_make_titles() भी आपके वर्कस्पेस में उपलब्ध है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Time Series Data के लिए Machine Learning
अभ्यास निर्देश
- पहले, इन ऑडियो फाइलों के लिए time array बनाइए (सभी ऑडियो समान लंबाई के हैं).
- फिर, दोनों DataFrames (
normalऔरabnormal, इसी क्रम में) के वैल्यूज़ को साथ में stack कीजिए ताकि आपके पास shape(n_audio_files, n_times_points)वाला सिंगल array हो. - अंत में, दिए गए कोड का उपयोग करके हर लिस्ट आइटम / axis पर लूप चलाइए, और संबंधित axis ऑब्जेक्ट पर समय के साथ ऑडियो प्लॉट कीजिए.
- आप left कॉलम में normal हार्टबीट्स और right कॉलम में abnormal हार्टबीट्स प्लॉट करेंगे
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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()