sklearn LinearRegression中的coef_究竟是什么?如何从中解释公式?

当我使用sklearn中的LinearRegression时,我会这样做

m = 100X = 6*np.random.rand(m,1)-3y = 0.5*X**2 + X+2 + np.random.randn(m,1)lin_reg = LinearRegression()lin_reg.fit(X,y)y_pred_1 = lin_reg.predict(X)y_pred_1 = [_[0] for _ in y_pred_1]

当我绘制(X,y)和(X, y_pred_1)时,看起来是正确的。

我想通过以下方式创建最佳拟合线的公式:

y= (lin_reg.coef_)x + lin_reg.intercept_

我手动将coef_和intercept_的值插入到公式中,并与lin_reg.predict(value)预测的值进行比较,结果是相同的,因此lin_reg.predict实际上使用了上述使用coef和intercept创建的公式。

我的问题是如何为简单多项式回归创建公式?

我会这样做

poly_features = PolynomialFeatures(degree=2, include_bias=False)X_poly_2 = poly_features.fit_transform(X)poly_reg_2 = LinearRegression()poly_reg_2.fit(X_poly_2, y)

然后poly_reg_2.coef_给我array([[0.93189329, 0.43283304]])poly_reg_2.intercept_ = array([2.20637695])

因为这是“简单”的多项式回归,应该看起来像

y = x^2 + x + b,其中x是相同的变量。

poly_reg_2.coef_中,哪一个是x^2,哪一个不是?


回答:

多亏了https://www.youtube.com/watch?v=Hwj_9wMXDVo,我获得了见解,并找到了如何解释多项式回归公式的方法。

所以poly_reg_2.coef_ = array([[0.93189329, 0.43283304]])

你知道简单线性回归看起来像
y = b + m1x

然后2次多项式回归看起来像
y = b + m1x + m2(x^2)

3次的则是:
y = b + m1x + m2(x^2) + m3(x^3)

以此类推……所以在我的情况下,两个系数只是按照顺序的m1和m2。

所以最终我的公式变为:

y = b + 0.93189329x + 0.43283304(x^2)。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注