Garis logaritmik dari python yang paling cocok

Dalam tutorial Python ini, kita akan membahas Cara memplot garis yang paling cocok di matplotlib dengan python, dan kami juga akan membahas topik-topik berikut

  • Garis yang paling cocok
  • Garis paling cocok Matplotlib
  • Matplotlib baris paling pas menggunakan numpy. polifit()
  • Matplotlib paling cocok histogram garis
  • Matplotlib paling cocok dengan kurva
  • Matplotlib paling cocok untuk disebarkan

Daftar isi

Garis yang paling cocok

Garis yang paling cocok dalam grafik 2 dimensi mengacu pada garis yang menentukan hubungan optimal sumbu x dan koordinat sumbu y dari titik data yang diplot sebagai plot pencar pada grafik

Garis kecocokan terbaik atau hubungan optimal dapat dicapai dengan meminimalkan jarak titik data dari garis yang dituju

Persamaan linier mewakili garis secara matematis. Persamaan garis normalnya adalah sebagai berikut

(A * x) + (B * y) + C = 0

  • Di sini, x dan y adalah variabel yang mewakili nilai sumbu x dan sumbu y dari titik data
  • A dan B adalah koefisien variabel x dan y, dan C adalah konstanta. Secara kolektif, ini dikenal sebagai parameter garis yang menentukan bentuk dan posisi garis pada grafik

Namun, bentuk garis yang paling umum digunakan adalah bentuk kemiringan-intersep, yaitu sebagai berikut

y = (m * x) + c

  • Di sini, x dan y adalah variabel yang mewakili nilai sumbu x dan sumbu y dari titik data
  • m adalah koefisien dari variabel x yang mewakili kemiringan garis pada grafik. Kemiringan adalah parameter garis yang menentukan sudut garis pada grafik
  • c adalah nilai konstanta yang menyatakan perpotongan y dari garis pada grafik. Intercept adalah parameter garis yang menentukan posisi garis pada grafik

Kita dapat mengubah bentuk normal menjadi bentuk perpotongan kemiringan sebagai berikut

(A * x) + (B * y) + C = 0

(B * y) = -C – (A * x)

y = (-(A * x) – C) / B

y = ((-A / B) * x) + (-C / B)

Membandingkan persamaan ini dengan bentuk perpotongan kemiringan dari sebuah garis

Kita dapatkan, m = (-A / B) dan c = (-C / B)

Kami akan menggunakan bentuk perpotongan kemiringan garis di seluruh posting ini

Metode yang paling umum digunakan untuk menemukan parameter garis yang paling sesuai dengan titik data yang diberikan adalah metode kuadrat terkecil dalam analisis regresi

Analisis regresi sederhana adalah metode untuk menentukan hubungan antara variabel dependen numerik tunggal (Di Sini, y) dan variabel independen numerik (Di Sini, x)

Membaca. Tutorial subplot Matplotlib

Garis paling cocok Matplotlib

Kita dapat memplot garis yang paling cocok dengan titik data pencar di matplotlib. Pertama, kita perlu menemukan parameter garis yang paling cocok

Kita akan melakukannya dengan menerapkan konsep vektorisasi aljabar linier

Pertama, mari kita pahami algoritme yang akan kita gunakan untuk menemukan parameter garis yang paling cocok

Persamaan garisnya adalah. y = (m * x) + c

Mari ubah ini menjadi y = theta0 + (theta1 * x);

Sekarang, mari kita ubah persamaan ini menjadi bentuk vektor

  • Biarkan, N menjadi jumlah titik data yang diberikan
  • Biarkan, y menjadi vektor kolom dari N baris di mana setiap baris mewakili koordinat y dari setiap titik data
  • Misalkan theta adalah vektor kolom dari 2 baris dengan masing-masing parameter baris (theta0 dan theta1) sebagai nilai baris dari vektor
  • Misalkan, X adalah matriks dari 2XN dimana kolom ke-1 terdiri dari nilai 1 untuk setiap baris dan kolom ke-2 terdiri dari nilai koordinat x dari N titik data

Sekarang, persamaan dalam bentuk vektor akan menjadi seperti ini. y = X. theta

Kita dapat menghitung dan mendapatkan nilai parameter optimal (theta0 dan theta1) untuk titik data yang diberikan dengan menggunakan persamaan metode kuadrat terkecil dalam bentuk vektor, yaitu sebagai berikut

theta = (XT. X)-1. (XT. y); . X)-1 adalah invers dari matriks yang dihasilkan dari (XT. X)

Sekarang, mari terapkan algoritme ini menggunakan python dan plot garis yang dihasilkan

# Importing the necessary libraries
from matplotlib import pyplot as plt
import numpy as np

# Preparing the data to be computed and plotted
dt = np.array([
          [0.05, 0.11],
          [0.13, 0.14],
          [0.19, 0.17],
          [0.24, 0.21],
          [0.27, 0.24],
          [0.29, 0.32],
          [0.32, 0.30],
          [0.36, 0.39],
          [0.37, 0.42],
          [0.40, 0.40],
          [0.07, 0.09],
          [0.02, 0.04],
          [0.15, 0.19],
          [0.39, 0.32],
          [0.43, 0.48],
          [0.44, 0.41],
          [0.47, 0.49],
          [0.50, 0.57],
          [0.53, 0.59],
          [0.57, 0.51],
          [0.58, 0.60]
])

# Preparing X and y data from the given data
x = dt[:, 0].reshape(dt.shape[0], 1)
X = np.append(x, np.ones((dt.shape[0], 1)), axis=1)
y = dt[:, 1].reshape(dt.shape[0], 1)

# Calculating the parameters using the least square method
theta = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(y)

print(f'The parameters of the line: {theta}')

# Now, calculating the y-axis values against x-values according to
# the parameters theta0 and theta1
y_line = X.dot(theta)

# Plotting the data points and the best fit line
plt.scatter(x, y)
plt.plot(x, y_line, 'r')
plt.title('Best fit line using regression method')
plt.xlabel('x-axis')
plt.ylabel('y-axis')

plt.show()

Garis logaritmik dari python yang paling cocok
Garis paling cocok Matplotlib

Membaca. Bagan batang plot Matplotlib

Matplotlib baris paling pas menggunakan numpy. polifit()

Kami dapat memplot garis yang paling cocok untuk titik data tertentu menggunakan numpy. polifit() fungsi

Fungsi ini adalah fungsi yang ditentukan sebelumnya yang mengambil 3 argumen wajib sebagai nilai koordinat x (sebagai iterable), nilai koordinat y (sebagai iterable), dan derajat persamaan (1 untuk linier, 2 untuk kuadrat, 3 untuk

Sintaksnya adalah sebagai berikut

numpy.polyfit(x, y, degree)
_

Sekarang, mari kita lihat contoh dan pahami implementasi fungsinya

# Importing the necessary libraries
from matplotlib import pyplot as plt
import numpy as np

# Preparing the data to be computed and plotted
dt = np.array([
          [0.05, 0.11],
          [0.13, 0.14],
          [0.19, 0.17],
          [0.24, 0.21],
          [0.27, 0.24],
          [0.29, 0.32],
          [0.32, 0.30],
          [0.36, 0.39],
          [0.37, 0.42],
          [0.40, 0.40],
          [0.07, 0.09],
          [0.02, 0.04],
          [0.15, 0.19],
          [0.39, 0.32],
          [0.43, 0.48],
          [0.44, 0.41],
          [0.47, 0.49],
          [0.50, 0.57],
          [0.53, 0.59],
          [0.57, 0.51],
          [0.58, 0.60]
])

# Preparing X and y from the given data
X = dt[:, 0]
y = dt[:, 1]

# Calculating parameters (Here, intercept-theta1 and slope-theta0)
# of the line using the numpy.polyfit() function
theta = np.polyfit(X, y, 1)

print(f'The parameters of the line: {theta}')

# Now, calculating the y-axis values against x-values according to
# the parameters theta0, theta1 and theta2
y_line = theta[1] + theta[0] * X

# Plotting the data points and the best fit line
plt.scatter(X, y)
plt.plot(X, y_line, 'r')
plt.title('Best fit line using numpy.polyfit()')
plt.xlabel('x-axis')
plt.ylabel('y-axis')

plt.show()

Garis logaritmik dari python yang paling cocok
Matplotlib baris paling pas menggunakan numpy. polifit()

Membaca. Apa itu inline matplotlib

Matplotlib paling cocok histogram garis

Kita dapat menyesuaikan distribusi histogram dan memplot kurva/garis itu dengan python

Kita dapat menggunakan library scipy dengan python, langkah-langkah untuk melakukan tugas diberikan di bawah ini

  • Pertama, kita bisa memanggil fungsi scipy. statistik. norma. fit() dengan data parameter untuk memplot histogram, untuk mendapatkan statistik data seperti rata-rata dan standar deviasi
  • Dan kemudian, kita akan memanggil fungsi scipy. statistik. norma. pdf() dengan parameter x (tempat sampah untuk histogram), rata-rata data, dan standar deviasi data, untuk mendapatkan nilai y terhadap data yang diberikan untuk kurva yang paling sesuai
  • Kemudian, kita dapat memplot kurva dengan histogram

Mari ikuti yang di atas

# Importing the necessary libraries
from matplotlib import pyplot as plt
import numpy as np
import scipy.stats

dt = np.random.normal(0, 1, 1000)

# Plotting the sample data on histogram and getting the bins
_, bins, _ = plt.hist(dt, 25, density=1, alpha=0.5)


# Getting the mean and standard deviation of the sample data dt
mn, std = scipy.stats.norm.fit(dt)


# Getting the best fit curve y values against the x data, bins
y_curve = scipy.stats.norm.pdf(bins, mn, std)

# Plotting the best fit curve
plt.plot(bins, y_curve, 'k')

plt.title('Best fit curve for histogram')
plt.xlabel('x-axis')
plt.ylabel('y-axis')
plt.show()

Garis logaritmik dari python yang paling cocok
Matplotlib paling cocok histogram garis

Membaca. Python plot beberapa baris menggunakan Matplotlib

Matplotlib paling cocok dengan kurva

Kita dapat memplot kurva yang paling sesuai dengan titik data yang diberikan di python jika titik data saat diplot sebar pada grafik menunjukkan beberapa tren kurva tingkat atas (kuadrat, kubik, ...)

Kita bisa menggunakan numpy. polifit() fungsi. Fungsi ini sebenarnya mengembalikan kurva yang paling cocok untuk tren polinomial apa pun. Seperti yang telah kita diskusikan tentang fungsi ini di topik sebelumnya, mari kita praktikkan sebuah contoh untuk pemahaman yang lebih baik

# Importing the necessary libraries
from matplotlib import pyplot as plt
import numpy as np

# Preparing the data to be computed and plotted
dt = np.array([
          [0.5, 0.28],
          [0.5, 0.29],
          [0.5, 0.33],
          [0.7, 0.21],
          [0.7, 0.23],
          [0.7, 0.26],
          [0.8, 0.24],
          [0.8, 0.25],
          [0.8, 0.29],
          [0.9, 0.28],
          [0.9, 0.30],
          [0.9, 0.31],
          [1.0, 0.30],
          [1.0, 0.33],
          [1.0, 0.35]
])

# Preparing X and y from the given data
X = dt[:, 0]
y = dt[:, 1]

# Calculating parameters (theta0, theta1 and theta2)
# of the 2nd degree curve using the numpy.polyfit() function
theta = np.polyfit(X, y, 2)

print(f'The parameters of the curve: {theta}')

# Now, calculating the y-axis values against x-values according to
# the parameters theta0, theta1 and theta2
y_line = theta[2] + theta[1] * pow(X, 1) + theta[0] * pow(X, 2)

# Plotting the data points and the best fit 2nd degree curve
plt.scatter(X, y)
plt.plot(X, y_line, 'r')
plt.title('2nd degree best fit curve using numpy.polyfit()')
plt.xlabel('x-axis')
plt.ylabel('y-axis')
plt.show()
_

Garis logaritmik dari python yang paling cocok
Matplotlib paling cocok dengan kurva

Membaca. Matplotlib plot garis

Matplotlib paling cocok untuk disebarkan

Kami telah membahas dua metode berbeda, untuk mendapatkan garis yang paling cocok untuk disebarkan. Jadi, mari kita lakukan metode lain untuk mendapatkan garis yang paling pas

Kita dapat menggunakan model regresi linier yang telah ditentukan sebelumnya dalam sub-modul linear_model sklearn librery/module untuk mendapatkan garis yang paling cocok untuk titik data yang diberikan. Langkah-langkah untuk membuat model dan mendapatkan parameter garis yang paling sesuai adalah sebagai berikut

  • Pertama, impor LinearRegression dari sklearn. sub-modul linear_model
  • Kemudian, buat model baru menggunakan LinearRegression(), katakanlah model = LinearRegression()
  • Dan, sesuaikan data yang diberikan dengan model yang dibuat menggunakan model. fit() metode yang mengambil 2 argumen x dan y
  • Dan kemudian, dapatkan nilai y untuk prediksi garis paling cocok menggunakan model fungsi. predict() terhadap nilai x yang diberikan dalam fungsi sebagai parameter
  • Sekarang, kita dapat memplot nilai y yang dihasilkan dengan nilai x sebagai plot garis yang memberikan garis yang paling cocok untuk titik data yang diberikan
# Importing the necessary libraries
from matplotlib import pyplot as plt
import numpy as np

# Importing the sklearn's linear_model,
# a pre-defined linear regression model
from sklearn.linear_model import LinearRegression


# Preparing the data to be computed and plotted
dt = np.array([
          [0.05, 0.11],
          [0.13, 0.14],
          [0.19, 0.17],
          [0.24, 0.21],
          [0.27, 0.24],
          [0.29, 0.32],
          [0.32, 0.30],
          [0.36, 0.39],
          [0.37, 0.42],
          [0.40, 0.40],
          [0.07, 0.09],
          [0.02, 0.04],
          [0.15, 0.19],
          [0.39, 0.32],
          [0.43, 0.48],
          [0.44, 0.41],
          [0.47, 0.49],
          [0.50, 0.57],
          [0.53, 0.59],
          [0.57, 0.51],
          [0.58, 0.60]
])

# Preparing X and y from the given data
X = dt[:, 0].reshape(len(dt), 1)
y = dt[:, 1].reshape(len(dt), 1)

# Creatoing a linear regression model and fitting the data to the model
model = LinearRegression()
model.fit(X, y)

# Now, predicting the y values according to the model
y_line = model.predict(X)

# Printing thr coffecient/parameter of the resulted line
print(f'The parameters of the line: {model.coef_}')

# Plotting the data points and the best fit line
plt.scatter(X, y)
plt.plot(X, y_line, 'r')
plt.title('Best fit line using linear regression model from sklearn')
plt.xlabel('x-axis')
plt.ylabel('y-axis')

plt.show()

Garis logaritmik dari python yang paling cocok
Matplotlib paling cocok untuk disebarkan

Anda mungkin juga ingin membaca tutorial berikut

  • Cara menginstal matplotlib python
  • subplots_adjust Matplotlib
  • Penanda sebar Matplotlib
  • Log plot log Matplotlib
  • Apa itu Matplotlib dan bagaimana menggunakannya dengan Python
  • modulenotfounderror. tidak ada modul bernama 'matplotlib'
  • Matplotlib plot_date
  • Matplotlib garis putus-putus
  • Matplotlib menyimpan gambar kosong

Dalam tutorial Python ini, kita telah membahas, Cara memplot garis yang paling cocok di matplotlib dengan python, dan kami juga telah membahas topik-topik berikut

  • Garis yang paling cocok
  • Garis paling cocok Matplotlib
  • Matplotlib baris paling pas menggunakan numpy. polifit()
  • Matplotlib paling cocok histogram garis
  • Matplotlib paling cocok dengan kurva
  • Matplotlib paling cocok untuk disebarkan

Garis logaritmik dari python yang paling cocok

Bijay Kumar

Python adalah salah satu bahasa paling populer di Amerika Serikat. Saya telah bekerja dengan Python untuk waktu yang lama dan saya memiliki keahlian dalam bekerja dengan berbagai perpustakaan di Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, dll… Saya memiliki pengalaman dalam bekerja dengan berbagai klien . Lihat profil saya

Bagaimana Anda memplot grafik eksponensial dengan Python?

Dalam program ini, saya menggunakan persamaan polinomial dengan variabel eksponensial y = 5e -2x + 1 with x values range from 0 to 10. The program generated co-ordinate points (x, y) in the graph will be (0, 6.0), (1, 1.7), (2, 1.1), (3, 1.0), (4, 1.0), (5, 1.0), (6, 1.0), (7, 1.0), (8, 1.0), (9, 1.0), and (10, 1.0).

Bagaimana Anda menyesuaikan kurva logaritmik dengan Python?

y = alog(x) + b di mana a ,b adalah koefisien dari persamaan logaritmik tersebut. y = e(ax)*e(b) di mana a ,b adalah koefisien dari persamaan eksponensial tersebut. Kami juga akan menggunakan numpy. polyfit() method untuk menyesuaikan kurva.

Bagaimana Anda menemukan garis yang paling cocok untuk fungsi eksponensial?

Untuk menemukan kurva yang paling cocok, Anda perlu melakukan regresi eksponensial. Tekan STAT, lalu panah kanan untuk menyorot CALC, lalu tekan 0. ExpReg . Koefisien korelasi adalah r, yaitu 0. 994 dalam hal ini. Itu berarti bahwa persamaannya adalah 99. 4% cocok dengan data.

Bagaimana Anda paling cocok dengan data di Python?

Pemasangan data .
Impor fungsi curve_fit dari scipy
Buat daftar atau array numpy dari variabel independen Anda (nilai x Anda). .
Buat daftar array numpy dari variabel dependen Anda (nilai y Anda). .
Buat fungsi untuk persamaan yang ingin Anda paskan. .
Gunakan fungsi curve_fit agar sesuai dengan data Anda