gpt4 book ai didi

python - 对 LinearRegression 使用 .set_params() 函数

转载 作者:行者123 更新时间:2023-12-05 04:42:22 24 4
gpt4 key购买 nike

我最近开始使用线性回归进行机器学习。我使用了 LinearRegression (lr) 来预测一些值。事实上,我的预测很糟糕,我被要求更改超参数以获得更好的结果。

我使用以下命令获取超参数:

lr.get_params().keys() 
lr.get_params()

并获得了以下内容:

 'copy_X': True,
'fit_intercept': True,
'n_jobs': None,
'normalize': False,
'positive': False}

dict_keys(['copy_X', 'fit_intercept', 'n_jobs', 'normalize', 'positive'])

现在,问题开始出现了。我试图找到使用 .set_params() 函数的正确语法,但每个答案似乎都超出了我的理解范围。

自从诸如 lr.set_params('normalize'==True) 之类的命令返回后,我尝试分配一个位置参数

TypeError: set_params() takes 1 positional argument but 2 were given

lr.set_params(some_params = {'normalize'})返回

ValueError (`ValueError: Invalid parameter some_params for estimator LinearRegression(). Check the list of available parameters with estimator.get_params().keys().

谁能简单解释一下这个函数是如何工作的?

最佳答案

正确的语法是 set_params(**params) 其中 params 是一个包含估计器参数的字典,参见 scikit-learn documentation .

from sklearn.linear_model import LinearRegression

reg = LinearRegression()

reg.get_params()
# {'copy_X': True,
# 'fit_intercept': True,
# 'n_jobs': None,
# 'normalize': False,
# 'positive': False}

reg.set_params(**{
'copy_X': False,
'fit_intercept': False,
'n_jobs': -1,
'normalize': True,
'positive': True
})

reg.get_params()
# {'copy_X': False,
# 'fit_intercept': False,
# 'n_jobs': -1,
# 'normalize': True,
# 'positive': True}

关于python - 对 LinearRegression 使用 .set_params() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69873513/

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