不理解 ML 中的 plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], '-r')

Posted

技术标签:

【中文标题】不理解 ML 中的 plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], \'-r\')【英文标题】:not understanding plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], '-r') in ML不理解 ML 中的 plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], '-r') 【发布时间】:2020-11-26 16:57:35 【问题描述】:
plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS,  color='blue')
plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], '-r') **--this line**
plt.xlabel("Engine size")
plt.ylabel("Emission")

这个语法是什么意思?train_x 是EngineSize vs 公式,即。 theta0+theta1*~x(mean) 但是语法中的这个 -r 是什么&然后它是如何绘制的...... 请有人详细解释我的dis

【问题讨论】:

The third argument of plot is the format string.。它指定绘图的外观,即使用什么颜色、线条形状和标记大小。 - 表示实线,r 表示红色。 请阅读ml标签的描述。 【参考方案1】:

`plt.scatter(train.ENGINESIZE, train.CO2EMISIONS, color='blue') plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], '-r'))' 在解释上面的代码之前,让我明确一点线性回归方程如下:\

y=a+bx\

a:拦截 b:斜率/梯度(系数) 回到代码,它只是实际值预测值之间的散点图,用于比较回归模型的准确性

部分

regr.coef_[0][0]*train_x + regr.intercept_[0]

regr.coef_:这是一个包含 b 变量(系数)的列表变量,因此 regr.coef_[0][0] 旨在仅选择第一个值列表是系数。regr.intercept_:它也是一个列表,但它包含一个变量(截距)。\

结论是:

regr.coef_[0][0]*train_x + regr.intercept_[0] 等价于 y=a+bx

'-r' : 这是绘图中的线条颜色 您可以使用 '-y' : 表示黄色或 '-b' 表示蓝色

我希望这能让你明白:)。

【讨论】:

【参考方案2】:

这是绘制训练集的函数(蓝点):

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

这是绘制方程或模型的函数(红线):

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

在绘图功能中,您需要指定(X,Y) 进行绘图。所以X = Train_x(ENGINESIZE Values)Y = the equation (Y=0º+0¹X) -> 0º=regr.intercept_[0]0¹= regr.coef_[0][0]

换句话说:plt.plot(X,0º+0¹*X,'-r')

'r -> color of line: red

我希望这个解释对你有所帮助。祝你好运!

【讨论】:

以上是关于不理解 ML 中的 plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], '-r')的主要内容,如果未能解决你的问题,请参考以下文章

线的属性汇总(plt.plot)

TensorFlow框架实战学习

python 2: 解决python中的plot函数的图例legend不能显示中文问题

matplotlib 知识点整理:ax与figure

为啥 matplotlib 需要在 plt.scatter() 之前设置日志比例而不是 plt.plot()?

结合 plt.plot(x,y) 与 plt.boxplot()