gpt4 book ai didi

python - 用于多项式回归的 GridsearchCV

转载 作者:行者123 更新时间:2023-11-30 09:18:52 27 4
gpt4 key购买 nike

我是机器学习的新手,并且一直坚持这个。

当我尝试在线性模型中实现多项式回归时,例如使用多个次数的多项式范围(1,10)并获得不同的 MSE。我实际上使用 GridsearchCV 方法来查找多项式的最佳参数。

from sklearn.model_selection import GridSearchCV

poly_grid = GridSearchCV(PolynomialRegression(), param_grid, cv=10, scoring='neg_mean_squared_error')

我不知道如何获得上面的PolynomialRegression()估计器。我搜索的一种解决方案是:

import numpy as np
from sklearn.model_selection import GridSearchCV
from sklearn.pipeline import make_pipeline

def PolynomialRegression(degree=2, **kwargs):
return make_pipeline(PolynomialFeatures(degree), LinearRegression(**kwargs))

param_grid = {'polynomialfeatures__degree': np.arange(10), 'linearregression__fit_intercept': [True, False], 'linearregression__normalize': [True, False]}

poly_grid = GridSearchCV(PolynomialRegression(), param_grid, cv=10, scoring='neg_mean_squared_error')

但它甚至没有产生任何结果。

最佳答案

poly_grid = GridSearchCV...

只会声明并实例化网格搜索对象。您需要使用 fit() 方法提供一些数据来进行任何训练或超参数搜索。

类似这样的事情:

poly_grid.fit(X, y)

其中 X 和 y 是您的训练数据和标签。

请参阅the documentation :

fit(X, y=None, groups=None, **fit_params)[source]

Run fit with all sets of parameters.

然后使用cv_results_和/或best_params_分析结果。

请查看下面给出的示例:

回复评论:

@BillyChow 你是否调用了poly_grid.fit()?如果不是,那么显然它不会产生任何结果。

如果是,那么根据您的数据,这将需要很多时间,因为您在参数中指定了从 1 到 10 的度数,并且具有 10 倍的 cv。因此,随着程度的增加,拟合和交叉验证的时间会很快增加。

如果您想查看工作情况,您可以将 verbose 参数添加到 gridSearchCV,如下所示:

poly_grid = GridSearchCV(PolynomialRegression(), param_grid, 
cv=10,
scoring='neg_mean_squared_error',
verbose=3)

然后调用poly_grid.fit(X, y)

关于python - 用于多项式回归的 GridsearchCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47414819/

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