gpt4 book ai didi

python - 使用 Gridsearch 为回归模型选择最佳参数

转载 作者:行者123 更新时间:2023-12-04 10:50:38 41 4
gpt4 key购买 nike

我正在做线性回归建模,我使用网格搜索来选择最佳参数。下面是我为这项工作遵循的 python 步骤,但出现错误(ValueError:估算器 LinearRegression(copy_X=True,fit_intercept=True,n_jobs=None,normalize=False)的参数 alpha 无效。使用 estimator 检查可用参数列表.get_params().keys().) 请帮助我为我的模型选择最佳参数..

from sklearn.linear_model import LinearRegression
reg = LinearRegression()
parameters = {"alpha": [1, 10, 100, 290, 500],
"fit_intercept": [True, False],
"solver": ['svd', 'cholesky', 'lsqr', 'sparse_cg', 'sag', 'saga'],
}
grid = GridSearchCV(estimator=reg, param_grid = parameters, cv = 2, n_jobs=-1)
grid.fit(x_train, y_train)
reg.score(x_test,y_test)

最佳答案

这是因为 sklearn.LinearRegression() 中没有要调整的 alpha 参数,因此您将无效参数传递给函数,生成 ValueError 你得到。

你应该看看这个 functions documentation更好地理解它:

sklearn.linear_model.LinearRegression(*, fit_intercept=True, normalize=False, copy_X=True, n_jobs=None)

从这里,我们可以看到我们可以调整的超参数是fit_interceptnormalizen_jobs。每个函数都有自己的可以调整的参数。以ExtraTreeRegressor为例(来自极其随机的树回归模型)也来自 sklearn:

sklearn.ensemble.ExtraTreesRegressor(n_estimators=100, *, criterion='mse', max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features='auto', max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, bootstrap=False, oob_score=False, n_jobs=None, random_state=None, verbose=0, warm_start=False, ccp_alpha=0.0, max_samples=None)

如您所见,可以微调的参数要多得多,也许可以使模型具有更大的灵 active 。在随机应用 GridSearchCV 之前,请确保您正确理解每个模型及其可调参数。

关于python - 使用 Gridsearch 为回归模型选择最佳参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59489830/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com