语法:

 ElasticNet(self, alpha=1.0, l1_ratio=0.5, fit_intercept=True, normalize=False, precompute=False, max_iter=1000, copy_X=True, tol=1e-4, warm_start=False, positive=False, random_state=None, selection=’cyclic’)

类型:

 sklearn.linear_model.coordinate_descent 中的类,使用L1和L2组合作为正则项的线性回归。最小化目标函数为

 
1(2∗nsamples)||y−Xw||22+α∗l1_ratio∗||w||1+0.5∗ alpha∗(1−l1_ratio)∗||w||221(2∗nsamples)||y−Xw||22+α∗l1_ratio∗||w||1+0.5∗ alpha∗(1−l1_ratio)∗||w||22

 如果关注L1和L2惩罚项的分类,记住下面的公式:

 
a=L1+b∗L2a=L1+b∗L2

 这里:

 
α=a+bl1_ratio=a/(a+b)α=a+bl1_ratio=a/(a+b)

 这里参数l1_ratio对用R中的glmnet包中的αα

,αα

对用R中的λλ

,特别的,l1_ratio = 1 是lasso惩罚,当前l1_ratio≤0.01l1_ratio≤0.01

是不可靠的,除非你使用自己定义的alpha序列。

 在用户指南中读取更多。

输入参数:

  • 参数名:alpha
  • 类型:float, optional
  • 说明:混合惩罚项的常数,morning是1,看笔记的得到有关这个参数的精确数学定义。alpha = 0等价于传统最小二乘回归,通过LinearRegression求解。因为数学原因,使用alpha = 0的lasso回归时不推荐的,如果是这样,你应该使用 LinearRegression 。*

  • 参数名:l1_ratio
  • 类型:float
  • 说明:弹性网混合参数,0 <= l1_ratio <= 1,对于 l1_ratio = 0,惩罚项是L2正则惩罚。对于 l1_ratio = 1是L1正则惩罚。对于 0

属性

  • 参数名:coef_
  • 类型:array, shape (n_features,) | (n_targets, n_features)
  • 说明:参数向量(损失函数表达式中的ww

    )


  • 参数名:sparse_coef_
  • 类型:scipy.sparse matrix, shape (n_features, 1) | (n_targets, n_features)
  • 说明:sparse_coef_ 是从coef_ 导出的只读属性

  • 参数名:intercept_
  • 类型:float | array, shape (n_targets,)
  • 说明:决策函数中的独立项,即截距

  • 参数名:n_iter_
  • 类型:array-like, shape (n_targets,)
  • 说明:由坐标下降求解器运行的,达到指定公差的迭代次数。

实例:

#导入弹性网
from sklearn.linear_model import ElasticNet
from sklearn.datasets import make_regression # 初始化数据,模拟数据
X, y = make_regression(n_features=2, random_state=0)
# 实例化弹性网类,设定随机种子,保证每次计算结果都相同
regr = ElasticNet(random_state=0)
# 训练弹性网
regr.fit(X, y)
# 打印系数,结果是[ 18.83816048 64.55968825]
print(regr.coef_)
# 打印截距,结果是1.45126075617
print(regr.intercept_)
# 打印预测值,结果是[ 1.45126076]
print(regr.predict([[0, 0]]))
 

 为了避免不必要的内存复制,应该将fit方法的X参数直接作为一个fortranguous numpy数组传递

参阅

  • SGDRegressor:采用增量式培训实现弹性净回归。
  • SGDClassifier:用弹性网惩罚实现逻辑回归。
  • (SGDClassifier(loss=”log”, penalty=”elasticnet”)).

sklearn中的弹性网函数 ElasticNet的更多相关文章

  1. sklearn中,数据集划分函数 StratifiedShuffleSplit.split() 使用踩坑

    在SKLearn中,StratifiedShuffleSplit 类实现了对数据集进行洗牌.分割的功能.但在今晚的实际使用中,发现该类及其方法split()仅能够对二分类样本有效. 一个简单的例子如下 ...

  2. sklearn中预测模型的score函数

    sklearn.linear_model.LinearRegression.score score(self, X, y, sample_weight=None) Returns the coeffi ...

  3. sklearn中的模型评估-构建评估函数

    1.介绍 有三种不同的方法来评估一个模型的预测质量: estimator的score方法:sklearn中的estimator都具有一个score方法,它提供了一个缺省的评估法则来解决问题. Scor ...

  4. sklearn中的metrics模块中的Classification metrics

    metrics是sklearn用来做模型评估的重要模块,提供了各种评估度量,现在自己整理如下: 一.通用的用法:Common cases: predefined values 1.1 sklearn官 ...

  5. (数据科学学习手札25)sklearn中的特征选择相关功能

    一.简介 在现实的机器学习任务中,自变量往往数量众多,且类型可能由连续型(continuou)和离散型(discrete)混杂组成,因此出于节约计算成本.精简模型.增强模型的泛化性能等角度考虑,我们常 ...

  6. 标准方程法_岭回归_LASSO算法_弹性网

    程序所用文件:https://files.cnblogs.com/files/henuliulei/%E5%9B%9E%E5%BD%92%E5%88%86%E7%B1%BB%E6%95%B0%E6%8 ...

  7. sklearn中SVM调参说明

    写在前面 之前只停留在理论上,没有实际沉下心去调参,实际去做了后,发现调参是个大工程(玄学).于是这篇来总结一下sklearn中svm的参数说明以及调参经验.方便以后查询和回忆. 常用核函数 1.li ...

  8. Delphi 中DataSnap技术网摘

    Delphi2010中DataSnap技术网摘 一.为DataSnap系统服务程序添加描述 这几天一直在研究Delphi 2010的DataSnap,感觉功能真是很强大,现在足有理由证明Delphi7 ...

  9. 文本数据预处理:sklearn 中 CountVectorizer、TfidfTransformer 和 TfidfVectorizer

    文本数据预处理的第一步通常是进行分词,分词后会进行向量化的操作.在介绍向量化之前,我们先来了解下词袋模型. 1.词袋模型(Bag of words,简称 BoW ) 词袋模型假设我们不考虑文本中词与词 ...

随机推荐

  1. ajax+jquery上传图片

    利用ajax进行图片上传,啥也不说了,上代码~ <input type="file" id="uploadImg"> <span  oncli ...

  2. python_ joinablequeue详解

    2019-5-20未命名文件 新建模板小书匠 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 小书匠主按钮>模板 里的模板管理来改变新建文章的内容. joinablequeue实 ...

  3. Factorization Machines

  4. Selenium(十三)调用js,控制浏览器的滚动条

    WebDiver 不能操作本地 Windows 控件,但对于浏览器上的控件也不是都可以操作的.比如浏览器的滚动条,虽然 WebDriver 提供操作浏览器的前进和后退按钮,但对于滚动条并没有提供相应用 ...

  5. postgresql —— 零碎笔记

    聚合函数 -- 聚合查询 SELECT city, max(temp_lo) FROM weather WHERE city LIKE 'S%' GROUP BY city HAVING max(te ...

  6. 云计算(8)--MapReduce如何处理fault

    一些常见的故障 NM周期性的给RM发送heartbeats,如果RM发现server fails,则它会让所有与这个server有关的AM知道,让受影响的job的AM采取一些action,重新分配它的 ...

  7. Git----查看提交日志

    Git log 只包括当前分支的commit. 截图示例: Git reflog 显示整个本地仓储的commit(所有branch,包括已撤销的commit) 截图示例: Git reflog --r ...

  8. HttpServletRequest获取浏览器、服务端和客户端信息

    如何通过HttpServletRequest来获取到上面的属性呢? 1.引入开源工具 <!-- https://mvnrepository.com/artifact/eu.bitwalker/U ...

  9. 入门指引之查看accesstoken

    1. 测试工具查看 https://mp.weixin.qq.com/debug/ 2. 代码获取: # -*- coding: utf-8 -*- # filename: basic.py impo ...

  10. Vue IE11 报错 Failed to generate render function:SyntaxError: 缺少标识符 in

    报错截图: 查了篇文章(https://blog.csdn.net/weixin_42018057/article/details/81385121),遇到的情况跟文章里描述的类似,他提供的方法是:需 ...