如何选择PolynomialFeatures中最合适的degree参数?

我有一段时间序列代码,用于生成线性和二次趋势。我对如何选择degree参数感到困惑。我看到以下定义:

在scikit-learn的PolynomialFeatures中,当传递degree参数时,会创建所有到该度数的项。

我对这个定义不太理解。能用简单的数学解释一下吗?我怎样才能确保我使用的是最佳的度数?

如果您需要,这里是我的代码样本:

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport statsmodels.api as sm                                                                                                                          import statsmodels.formula.api as smf                                                                                                                 import statsmodels.tsa.api as smtimport randomfrom sklearn.linear_model import LinearRegressionfrom sklearn.linear_model import Ridgefrom sklearn.preprocessing import PolynomialFeaturesfrom sklearn.pipeline import make_pipeliney = [5*np.random.normal() for j in range(50)] + [30 + 5 * np.random.normal() for j in range(50)] +  [50 + 5 * np.random.normal() for j in range(50)] +  [20 + 5 * np.random.normal() for j in range(50)]X = [x for x in range(len(y))]X = np.reshape(X, (len(X), 1))model = LinearRegression()model.fit(X, y)trend = model.predict(X)model = make_pipeline(PolynomialFeatures(2), Ridge())model.fit(X, y)quadratic = model.predict(X)fig = plt.figure(1, figsize=(15, 9))ax = fig.add_subplot(111)ax.plot(trend, label="Linear Trend")ax.plot(quadratic, label="Quadratic Trend")ax.plot(X, y, label='Time Series')ax.legend()plt.show()

回答:

你使用2作为degree参数;线性成分将被包含在二次项中。例如,如果你计算的线性成分是2x - 5,而二次项是3x^2 + x + 1,那么函数返回的结果将是它们的和,即3x^2 + 3x + 4

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

发表回复

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