如何解释多变量多项式回归模型中的系数?

我在解决一个在线课程中的多变量多项式回归问题时,需要构建一个模型(多项式形式)来预测“汽车价格”,这个价格是“马力”、“整备质量”、“发动机尺寸”和“高速公路油耗”的函数。课程幻灯片中提供的代码对我不起作用,因此我尝试用稍微不同的方法自己解决这个问题,并且(不确定)我成功了。

现在我想确定每个系数对应哪个变量以及对应的幂次。

   from sklearn.linear_model import LinearRegression   from sklearn.preprocessing import PolynomialFeatures   lm=LinearRegression()   pr=PolynomialFeatures(degree=2, include_bias=False)   zi=df[['horsepower','curb-weight','engine-size','highway-mpg']]   y=df["price"]   x_poly=pr.fit_transform(zi)   lm.fit(x_poly,y)   y_poly_pred=lm.predict(x_poly)   print(lm.intercept_)   print(lm.coef_)

输出 ‘print(lm.coef_)’ 是一个数组:

[  3.76158683e+02,   1.09866844e+01,  -1.15342835e+02,   2.20081486e+02,   1.67487147e+00,  -1.85925420e-01,  -1.27963440e+00,  -1.97616945e+00,   5.93872420e-04,   1.11397083e-01,  -2.12935236e-01,   1.04605018e-01,   2.69312438e-01,   4.36657298e+00]

我如何知道这些系数分别对应哪些变量和哪些幂次?


回答:

一种方法是,你可以这样获取多项式特征的列名:

pr.get_feature_names(zi.columns)

然后

pd.DataFrame(zip(pr.get_feature_names(zi.columns),lm.coef_),columns=["feature","coef_"])

上述代码应该会打印出每个特征的系数

工作示例:

from sklearn.preprocessing import PolynomialFeaturesfrom sklearn.linear_model import LinearRegressionimport pandas as pdimport numpy as npdata = pd.DataFrame.from_dict({    'x': np.random.randint(low=1, high=10, size=5),    'y': np.random.randint(low=-1, high=1, size=5),})lm=LinearRegression()p = PolynomialFeatures(degree=2)p_data = p.fit_transform(data)lm.fit(p_data,data['y'])print (p.get_feature_names(data.columns))coefmapping = pd.DataFrame(zip(p.get_feature_names(data.columns),lm.coef_),columns=["feature","coef_"])print(coefmapping)

输出:

  feature         coef_0       1 -1.204939e-141       x -1.165951e-152       y  5.000000e-013     x^2 -6.938894e-184     x y -3.156113e-165     y^2 -5.000000e-01

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中创建了一个多类分类项目。该项目可以对…

发表回复

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