Hướng dẫn polynomial fit python - polynomial fit python


Hồi quy đa thức

Nếu các điểm dữ liệu của bạn rõ ràng sẽ không phù hợp với hồi quy tuyến tính (một đường thẳng thông qua tất cả các điểm dữ liệu), nó có thể là lý tưởng cho hồi quy đa thức.

Hồi quy đa thức, như hồi quy tuyến tính, sử dụng mối quan hệ giữa các biến X và Y để tìm cách tốt nhất để vẽ một dòng thông qua các điểm dữ liệu.

Hướng dẫn polynomial fit python - polynomial fit python


Làm thế nào nó hoạt động?

Python có các phương pháp tìm kiếm mối quan hệ giữa các điểm dữ liệu và để vẽ một dòng hồi quy đa thức. Chúng tôi sẽ chỉ cho bạn cách sử dụng các phương pháp này thay vì trải qua công thức toán học.

Trong ví dụ dưới đây, chúng tôi đã đăng ký 18 chiếc xe khi họ đi qua một chiếc Tollbooth nhất định.

Chúng tôi đã đăng ký tốc độ của xe và thời gian trong ngày (giờ) xảy ra.

Trục X đại diện cho giờ trong ngày và trục y đại diện cho tốc độ:

Thí dụ

Bắt đầu bằng cách vẽ một âm mưu phân tán:

Nhập matplotlib.pyplot như PLT

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22] y = [100,90,80,60, 60,55,60,65,70,70,75,76,78,79,90,99,99,100]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

plt.scatter (x, y) plt.show ()
plt.show()

Result:

Chạy ví dụ »

Thí dụ

Bắt đầu bằng cách vẽ một âm mưu phân tán:

Nhập matplotlib.pyplot như PLT
import matplotlib.pyplot as plt

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22] y = [100,90,80,60, 60,55,60,65,70,70,75,76,78,79,90,99,99,100]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

plt.scatter (x, y) plt.show ()

Chạy ví dụ »

Nhập numpy matplotlib sau đó vẽ dòng hồi quy đa thức:
plt.plot(myline, mymodel(myline))
plt.show()

Result:

Chạy ví dụ »

Nhập numpy và matplotlib sau đó vẽ dòng hồi quy đa thức:

Nhập Numpyimport matplotlib.pyplot như PLT

myModel = numpy.poly1d (numpy.polyfit (x, y, 3))

myline = numpy.linspace (1, 22, 100)

import numpy
import matplotlib.pyplot as plt

plt.scatter (x, y) plt.plot (myline, mymodel (myline)) plt.show ()

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

Ví dụ giải thích

mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))

Nhập các mô -đun bạn cần.

myline = numpy.linspace(1, 22, 100)

Bạn có thể tìm hiểu về mô -đun Numpy trong hướng dẫn Numpy của chúng tôi.

plt.scatter(x, y)

Bạn có thể tìm hiểu về mô -đun SCIPY trong hướng dẫn SCIPY của chúng tôi.

plt.plot(myline, mymodel(myline))

Tạo các mảng đại diện cho các giá trị của trục X và Y:

plt.show()



R-Squared

Numpy có một phương pháp cho phép chúng tôi tạo ra một mô hình đa thức:

Sau đó chỉ định cách dòng sẽ hiển thị, chúng tôi bắt đầu ở vị trí 1 và kết thúc ở vị trí 22:

Vẽ biểu đồ phân tán ban đầu:

Vẽ dòng hồi quy đa thức:

Thí dụ

Bắt đầu bằng cách vẽ một âm mưu phân tán:

Nhập matplotlib.pyplot như PLT
from sklearn.metrics import r2_score

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22] y = [100,90,80,60, 60,55,60,65,70,70,75,76,78,79,90,99,99,100]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

plt.scatter (x, y) plt.show ()

Chạy ví dụ »

Nhập numpy matplotlib sau đó vẽ dòng hồi quy đa thức:

Nhập Numpyimport matplotlib.pyplot như PLT The result 0.94 shows that there is a very good relationship, and we can use polynomial regression in future predictions.


myModel = numpy.poly1d (numpy.polyfit (x, y, 3))

myline = numpy.linspace (1, 22, 100)

plt.scatter (x, y) plt.plot (myline, mymodel (myline)) plt.show ()

Ví dụ giải thích

matplotlib0

Thí dụ

Bắt đầu bằng cách vẽ một âm mưu phân tán:

Nhập matplotlib.pyplot như PLT
from sklearn.metrics import r2_score

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22] y = [100,90,80,60, 60,55,60,65,70,70,75,76,78,79,90,99,99,100]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

plt.scatter (x, y) plt.show ()

Chạy ví dụ »
print(speed)

Chạy ví dụ »

Nhập numpy matplotlib sau đó vẽ dòng hồi quy đa thức:


Nhập Numpyimport matplotlib.pyplot như PLT

myModel = numpy.poly1d (numpy.polyfit (x, y, 3))

Thí dụ

Bắt đầu bằng cách vẽ một âm mưu phân tán:

Nhập matplotlib.pyplot như PLT
import matplotlib.pyplot as plt

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22] y = [100,90,80,60, 60,55,60,65,70,70,75,76,78,79,90,99,99,100]
y = [21,46,3,35,67,95,53,72,58,10,26,34,90,33,38,20,56,2,47,15]

plt.scatter (x, y) plt.show ()

Chạy ví dụ »

Nhập numpy matplotlib sau đó vẽ dòng hồi quy đa thức:
plt.plot(myline, mymodel(myline))
plt.show()

Result:

Chạy ví dụ »

Nhập numpy matplotlib sau đó vẽ dòng hồi quy đa thức:

Thí dụ

Bắt đầu bằng cách vẽ một âm mưu phân tán:

Nhập matplotlib.pyplot như PLT
from sklearn.metrics import r2_score

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22] y = [100,90,80,60, 60,55,60,65,70,70,75,76,78,79,90,99,99,100]
y = [21,46,3,35,67,95,53,72,58,10,26,34,90,33,38,20,56,2,47,15]

plt.scatter (x, y) plt.show ()

Chạy ví dụ »

Nhập numpy matplotlib sau đó vẽ dòng hồi quy đa thức:

Nhập Numpyimport matplotlib.pyplot như PLT