


Bagaimanakah anda melakukan pemasangan lengkung eksponen dan logaritma dalam Python melebihi pemasangan polinomial?
Nov 04, 2024 am 02:47 AMPemasangan Lengkung Eksponen dan Logaritma dalam Python Melebihi Pemasangan Polinomial
Selain pemasangan polinomial, yang mempunyai fungsi polyfit() dalam Python, terdapat teknik untuk memasang eksponen dan lengkung logaritma.
Pemasangan Lengkung Logaritma
Untuk memuatkan lengkung pada model y = A B log x, kita boleh menukar data dengan mengambil logaritma kedua-dua belah, menghasilkan log y = log A B log x. Dengan memasang log y dengan log x menggunakan polyfit(), kami memperoleh pekali log A dan B.
<code class="python">import numpy as np x = np.array([1, 7, 20, 50, 79]) y = np.array([10, 19, 30, 35, 51]) coeffs = np.polyfit(np.log(x), y, 1) print("Coefficients:", coeffs) print("y ≈", coeffs[1], "+", coeffs[0], "log(x)")</code>
Pemasangan Lengkung Eksponen
Untuk memuatkan lengkung pada model y = Ae^ (Bx), kita boleh mengambil logaritma kedua-dua belah, menghasilkan log y = log A B x. Parameter kemudiannya boleh ditentukan dengan memasang log y terhadap x menggunakan polyfit().
<code class="python">x = np.array([10, 19, 30, 35, 51]) y = np.array([1, 7, 20, 50, 79]) coeffs = np.polyfit(x, np.log(y), 1) print("Coefficients:", coeffs) print("y ≈", np.exp(coeffs[1]), "*", "exp(", coeffs[0], "x)")</code>
Nota tentang Bias dalam Pemasangan Tidak Berwajaran
Perlu diperhatikan bahawa pemasangan tidak berwajaran (tanpa mengambil kira berat titik data) boleh membawa kepada berat sebelah terhadap nilai kecil, terutamanya dalam pemasangan lengkung eksponen. Untuk mengurangkan perkara ini, pemberat boleh dimasukkan dalam proses pemasangan, berkadar dengan nilai-y.
Menggunakan Scipy untuk Pemasangan Lengkung
Scipy menyediakan fungsi curve_fit() untuk melaksanakan pemasangan lengkung tak linear. Ini membolehkan kami menyesuaikan mana-mana model secara langsung, tanpa transformasi.
<code class="python">from scipy.optimize import curve_fit # Logarithmic curve fitting popt, pcov = curve_fit(lambda t, a, b: a + b * np.log(t), x, y) print("Coefficients:", popt) print("y ≈", popt[1], "+", popt[0], "log(x)") # Exponential curve fitting popt, pcov = curve_fit(lambda t, a, b: a * np.exp(b * t), x, y, p0=(1, 0.1)) print("Coefficients:", popt) print("y ≈", popt[0], "*", "exp(", popt[1], "x)")</code>
Atas ialah kandungan terperinci Bagaimanakah anda melakukan pemasangan lengkung eksponen dan logaritma dalam Python melebihi pemasangan polinomial?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html?

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks

Cara Bekerja Dengan Dokumen PDF Menggunakan Python

Cara Cache Menggunakan Redis dalam Aplikasi Django

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch?

Memperkenalkan Toolkit Bahasa Alam (NLTK)
