(sklearn)ElasticNet回归 sklearn.linear_model.ElasticNet用法

来源:互联网 发布:外国男朋友 知乎 编辑:程序博客网 时间:2024/06/05 03:42

class sklearn.linear_model.ElasticNet(alpha=1.0l1_ratio=0.5fit_intercept=Truenormalize=Falseprecompute=Falsemax_iter=1000copy_X=Truetol=0.0001warm_start=Falsepositive=Falserandom_state=Noneselection=’cyclic’)

Elastic回归使对Lasso回归和岭回归的一种融合,其惩罚项是L1范数和L2范数的一个权衡。

参数:

alpha : α值。

l1_ratio:ρ值,ElasticNet混合参数,其中0 <= l1_ratio <= 1。对于l1_ratio = 0,惩罚为L2范数。 对于l1_ratio = 1,为L1范数。 对于0 

               <l1_ratio<1,惩罚是L1和L2的组合。

fit_intercept:一个布尔值,制定是否需要b值。
max_iter:一个整数,指定最大迭代数。
normalize:一个布尔值。如果为True,那么训练样本会在回归之前会被归一化。
copy_X:一个布尔值。如果为True,会复制X,否则会覆盖X。

precompute:一个布尔值或者一个序列。它决定是否提前计算Gram矩阵来加速计算。Gram也可以传递参数, 对于稀疏输入,此选项始终

                       为“True”以保留稀疏性。
tol:一个浮点数,指定判断迭代收敛与否的一个阈值。
warm_start:一个布尔值。如果为True,那么使用前一次训练结果继续训练,否则从头开始训练。
positive:一个布尔值。如果为True,那么强制要求权重向量的分量都为整数。

selection:一个字符串,可以选择‘cyclic’或者‘random’。它指定了当每轮迭代的时候,选择权重向量的哪个分量来更新。

  • ‘ramdom’:更新的时候,随机选择权重向量的一个分量来更新。
  • ‘cyclic’:更新的时候,从前向后一次选择权重向量的一个分量来更新。
random_state:一个整数或者一个RandomState实例,或者None。
  • 如果为整数,则它指定了随机数生成器的种子。
  • 如果为RandomState实例,则指定了随机数生成器。
  • 如果为None,则使用默认的随机数生成器。 
返回值

coef_:权重向量。
intercept:b值。
n_iter_:实际迭代次数。


方法

fix(X,y[,sample_weight]):训练模型。
predict(X):用模型进行预测,返回预测值。
score(X,y[,sample_weight]):返回预测性能的得分,不大于1,越大效果越好。
get_params([deep]):获取此估计器的参数。
set_params(** params):
设置此估计器的参数。



官方说明:http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ElasticNet.html






    阅读全文
    0 0
    原创粉丝点击