Пример линейной регрессии с использованием matplotlib вместо pylab - PullRequest
0 голосов
/ 07 сентября 2018

Поскольку pylab не рекомендуется, я собираюсь использовать matplotlib из этого примера в https://www.wired.com/2011/01/linear-regression-with-pylab/

from pylab import *

x = [0.2, 1.3, 2.1, 2.9, 3.3]
y = [3.3, 3.9, 4.8, 5.5, 6.9]

(m, b) = polyfit(x, y, 1)
print(m, b)

yp = polyval([m, b], x)
plt.plot(x, yp)
plt.grid(True)
plt.scatter(x,y)
xlabel('x')
ylabel('y')
show()

Если я начну это с

import matplotlib.pyplot as plt

Я не знаю, как заменить polyfit и polyval функции в matplotlib. В строках 4 и 7 они вызывают функции polyfit и polyval (они находятся в модуле pylab). Какие функции я должен использовать вместо этого для использования matplotlib?

Я хочу использовать этот пример, но использую matplotlib.

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Функции построения графиков находятся в matplotlib.pyplot, но PyLab также включает в себя числовые функции из NumPy, которые вы можете использовать с

import numpy as np

np.polyfit(...)  # etc.

(см. Также первый ответ здесь .)

0 голосов
/ 07 сентября 2018

polyfit и polyval доступны в numpy. Так что вы можете просто использовать:

import numpy as np
import matplotlib.pyplot as plt

x = [0.2, 1.3, 2.1, 2.9, 3.3]
y = [3.3, 3.9, 4.8, 5.5, 6.9]

(m, b) = np.polyfit(x, y, 1)
print(m, b)

yp = np.polyval([m, b], x)
plt.plot(x, yp)
plt.grid(True)
plt.scatter(x,y)

enter image description here

...