Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Melicinkan Keluk dengan Berkesan apabila Berurusan dengan Set Data Bising?
Melicinkan Keluk dengan Kebisingan Set Data: Panduan Praktikal
Melicinkan keluk untuk set data yang bising ialah cabaran biasa dalam analisis data. Untuk menangani perkara ini, pertimbangkan set data dengan variasi 20% disebabkan oleh hingar:
import numpy as np x = np.linspace(0, 2*np.pi, 100) y = np.sin(x) + np.random.random(100) * 0.2
Untuk situasi ini, penapis Savitzky-Golay ialah pilihan yang berkesan. Penapis ini berfungsi dengan memasang polinomial pada tetingkap titik data dan menggunakan polinomial untuk menganggarkan nilai di tengah tetingkap. Tetingkap kemudian dialihkan sepanjang data dan proses berulang, menghasilkan lengkung yang terlicin.
Begini cara untuk melaksanakan penapis Savitzky-Golay dalam Python:
<code class="python">import numpy as np import matplotlib.pyplot as plt</code>
<code class="python">yhat = savgol_filter(y, 51, 3) # window size 51, polynomial order 3</code>
<code class="python">plt.plot(x, y) plt.plot(x, yhat, color='red') plt.show()</code>
Lengkung yang terhasil akan lebih licin daripada yang asal sambil mengekalkan isyarat asas.
Nota: Jika anda tidak mempunyai fungsi savgol_filter tersedia, anda boleh memasangnya menggunakan arahan berikut:
pip install scipy
Atas ialah kandungan terperinci Bagaimana untuk Melicinkan Keluk dengan Berkesan apabila Berurusan dengan Set Data Bising?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!