Что означают аргументы, передаваемые внутри метода plt.plot ()? - PullRequest
0 голосов
/ 04 мая 2020

Я пытался построить модель линейной регрессии в python, используя scikit learn и matplotlib. Однако код запутался, когда я строил данные с помощью plt.scatter () и plt.plot ()

Вот мой код, который моделирует данные с использованием sklearn: -

from sklearn import linear_model
regr = linear_model.LinearRegression()
train_x = np.asanyarray(train[['ENGINESIZE']])
train_y = np.asanyarray(train[['CO2EMISSIONS']])
regr.fit (train_x, train_y)
# The coefficients
print ('Coefficients: ', regr.coef_)
print ('Intercept: ',regr.intercept_)

Вот мой код, который отображает модель линейной регрессии на графике: -

plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS,  color='blue')
plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], '-y')
plt.xlabel("Engine size")
plt.ylabel("Emission")

Я не понимаю аргументы, переданные в plt.scatter() и plt.plot(). Я заметил, что при удалении метода plt.plot() линия наилучшего соответствия не отображается на графике.

1 Ответ

0 голосов
/ 04 мая 2020

Библиотека plt выводит данные. Первая запись - это данные x, вторая - данные y. Другие входные данные могут использоваться для добавления цвета, ширины линии или типа маркера, как показано в документации .

plt.scatter, которая добавляет точечный график ваших данных. Догадываясь по названию ваших переменных, я подозреваю:

plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS,  color='blue')

Составляет график рассеяния всех размеров двигателя и соответствующих выбросов CO2 с использованием синих маркеров.

plt.plot dr aws линия. Догадываясь по названию ваших переменных, я подозреваю, что

plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], '-y')

отобразит линейную регрессию ваших тренировочных данных желтым цветом. train_x - это данные x, а regr.coef_[0][0]*train_x + regr.intercept_[0] - данные y (следует формуле y = a * x + b).

...