Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencari Puncak Penting dalam Python Menggunakan Fungsi find_peaks SciPy?
Mencari Puncak dalam Python/SciPy
Mencari puncak dalam data ialah tugas biasa dalam pelbagai bidang, termasuk pemprosesan isyarat, analisis imej dan analisis data. Python menyediakan beberapa pakej dan fungsi untuk pengesanan puncak, termasuk fungsi scipy.signal.find_peaks SciPy.
Algoritma Pencarian Puncak SciPy
Fungsi find_peaks mengambil tatasusunan 1D sebagai input dan mengembalikan indeks puncak. Ia menggunakan algoritma pencarian puncak yang mengesan puncak berdasarkan beberapa parameter:
Penonjolan untuk Penolakan Bunyi
Parameter penonjolan amat berguna untuk membezakan puncak yang ketara daripada puncak yang disebabkan oleh hingar . Penonjolan ditakrifkan sebagai penurunan ketinggian minimum untuk pergi dari puncak ke mana-mana rupa bumi yang lebih tinggi. Dengan menetapkan ambang penonjolan yang tinggi, algoritma boleh menapis dengan berkesan puncak kecil yang disebabkan oleh hingar.
Contoh Penggunaan
Kod berikut menunjukkan pencarian puncak dalam frekuensi yang bising -mempelbagaikan sinusoid menggunakan fungsi find_peaks:
<code class="python">import numpy as np import matplotlib.pyplot as plt from scipy.signal import find_peaks x = np.sin(2*np.pi*(2**np.linspace(2,10,1000))*np.arange(1000)/48000) + np.random.normal(0, 1, 1000) * 0.15 peaks_prominence, _ = find_peaks(x, prominence=1) plt.plot(x) plt.plot(peaks_prominence, x[peaks_prominence], "ob") plt.legend(['Signal', 'Peaks (prominence)']) plt.show()</code>
Seperti yang ditunjukkan dalam plot, fungsi find_peaks menemui puncak dengan amplitud tinggi dan penonjolan, dengan berkesan menapis puncak yang disebabkan oleh hingar.
Pilihan Pencarian Puncak Lain
Selain find_peaks, SciPy juga menyediakan fungsi mencari puncak lain, seperti peak_widths dan argrelmax. Fungsi ini mungkin lebih sesuai untuk aplikasi atau pelarasan tertentu.
Kesimpulan
Fungsi scipy.signal.find_peaks SciPy menyediakan penyelesaian yang mantap dan serba boleh untuk pencarian puncak dalam Python . Parameter boleh larasnya, termasuk penonjolan, membolehkan penyesuaian untuk mengesan puncak yang ketara dalam pelbagai jenis data.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Puncak Penting dalam Python Menggunakan Fungsi find_peaks SciPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!