在scikit-learn中,Lasso和Ridge回归是两种具有random_state
属性的回归方法。为什么这两种方法需要这个属性呢?
根据文档说明:
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=None, selection=’cyclic’)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)
回答:
对于Lasso来说,伪随机数生成器(RNG)可以根据其他选择的选项随机选择需要更新的特征:
伪随机数生成器的种子,用于随机选择要更新的特征。如果是整数,random_state是随机数生成器使用的种子;如果是RandomState实例,random_state就是随机数生成器;如果是None,随机数生成器是np.random使用的RandomState实例。当selection == ‘random’时使用。
对于Ridge来说,伪随机数生成器(RNG)可以根据其他选择的选项用于数据的洗牌:
用于洗牌数据时使用的伪随机数生成器的种子。如果是整数,random_state是随机数生成器使用的种子;如果是RandomState实例,random_state就是随机数生成器;如果是None,随机数生成器是np.random使用的RandomState实例。当solver == ‘sag’时使用。