繁体   English   中英

"是否可以在 sklearn 中调整线性回归(超)参数"

[英]Is it possible to tune the linear regression (hyper)parameter in sklearn

我开始学习一些 sci-kit learn 和一般的 ML,我遇到了一个问题。 我使用线性回归创建了一个模型。 .score很好(高于 0.8),但我想让它变得更好(可能达到 0.9)。 我搜索了 sklearn 的文档并用谷歌搜索了这个问题,但我似乎找不到答案。

我的问题是:是否可以调整LinearRegression模型? 如果是这样,我在哪里可以找到它?

#----- Forecast in hours -----#
forecast_out = 48


#----- Import and prep data -----#
using pandas to create X and y
x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.3)

#----- Linear Regression-----#
lr = LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)

lr.fit(x_train, y_train)
lr_confidence = lr.score(x_test, y_test)
print("lr confidence: ", lr_confidence)
x_forecast = np.array(data.drop(['Prediction'],1))[-forecast_out:]
lr_prediction = lr.predict(x_forecast)

总是有改进的余地。 参数在 LinearRegression 模型中。 使用 .get_params() 找出参数名称及其默认值,然后使用 .set_params(**params) 从字典中设置值。 GridSearchCV 和 RandomSearchCV 可以帮助您更好地、更快地调整它们。

这是一个非常开放的问题,您应该查看文档。 这一切都在那里,真的,相信我——我看过了。 只是谷歌线性回归文档。

http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html

似乎sklearn.linear_model.LinearRegression没有可以调整的超参数。 因此,请改用sklearn.linear_model.SGDRegressor ,它将提供许多用于调整超参数的sklearn.linear_model.SGDRegressor 它的文档可以在这里找到: https : //scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDRegressor.html

不,这是不可能的。 对于超参数调整线性回归,请尝试 Lasso、Ridge 或 ElasticNet

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM