class sklearn.linear_model.Lasso(alpha = 1.0,fit_intercept = True,normalize = False,precompute = False,copy_X = True,max_iter = 1000,tol = 0.0001,warm_start = False,positive = False, random_state =无,选择='循环')
class sklearn.linear_model.Ridge(alpha = 1.0,fit_intercept = True,normalize = False,copy_X = True,max_iter = None,tol = 0.001,solver ='auto', random_state = None )
答案 0 :(得分:2)
这两种方法都涉及在模型的某些阶段生成随机数。
对于套索来说,这是由于每个变量的回归系数的拟合。这可以在“循环”中完成。方式,或在每次迭代时随机选择变量。第一个属性selection = 'cyclic'
,后者属性selection = 'random
。后者涉及随机数。正如documentation所述:
如果设置为“random”,则每次迭代都会更新随机系数,而不是默认情况下按顺序循环使用要素。这(设置为“随机”)通常会导致明显更快的收敛,尤其是当tol高于1e-4时。
对于岭回归,如果您希望使用随机梯度下降拟合模型,则需要使用子采样。为此,您需要在初始化模型solver = 'sag'
或solver = 'saga'
时说明。 random_state
处的documentation读取:
在随机数据混洗时使用的伪随机数生成器的种子。如果是int,则random_state是随机数生成器使用的种子;如果是RandomState实例,则random_state是随机数生成器;如果为None,则随机数生成器是np.random使用的RandomState实例。求解器=='sag'时使用。
答案 1 :(得分:1)
在lasso的情况下,可以使用RNG(取决于其他选择的选项)随机选择要执行更新的功能:
伪随机数生成器的种子,用于选择要更新的随机要素。如果是int,则random_state是随机数生成器使用的种子;如果是RandomState实例,则random_state是随机数生成器;如果为None,则随机数生成器是np.random使用的RandomState实例。选择=='随机'时使用。
在ridge的情况下,可以使用RNG(取决于其他选择的选项)来改组数据:
在随机数据混洗时使用的伪随机数生成器的种子。如果是int,则random_state是随机数生成器使用的种子;如果是RandomState实例,则random_state是随机数生成器;如果为None,则随机数生成器是np.random使用的RandomState实例。求解器=='sag'时使用。