对 LinearRegression 使用 .set_params() 函数
Using .set_params() function for LinearRegression
我最近开始使用线性回归进行机器学习。我使用 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}
解压 **
表示法,@FlaviaGiammarino 的回答等同于:
reg.set_params(
copy_X=False,
fit_intercept=False,
n_jobs=-1,
normalize=True,
positive=True
)
我最近开始使用线性回归进行机器学习。我使用 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}
解压 **
表示法,@FlaviaGiammarino 的回答等同于:
reg.set_params(
copy_X=False,
fit_intercept=False,
n_jobs=-1,
normalize=True,
positive=True
)