scikit-learn 线性回归 LinearRegression 参数详解

  • LinearRegression 参数详解
  • 参考文献

LinearRegression 参数详解

# 从 sklearn 中引入线性模型模块
from sklearn import linear_model
# 建立线性回归对象 reg
reg = linear_model.LinearRegression(fit_intercept=True,copy_X=True,n_jobs=-1,positive=False)

fit_intercept: 是 bool 值只支持 True /False, 默认是 True
意思是,模型是否拟合截距项 w0w_0w0​ 一般情况下我们都需要拟合 w0w_0w0​ 也就是我们使用 True 选项,但是对于一些已经中心化的数据,其截距项可以确定为 0 我们就可以使用 False 选项,不拟合截距项。

例如:

# 从 sklearn 中引入线性模型模块
from sklearn import linear_model
# 建立线性回归对象 reg
reg = linear_model.LinearRegression(fit_intercept=False)
# 通过建立的对象拟合数据 x 为 [[0, 0], [1, 1], [2, 2]], y 为 [0, 1, 2]
reg.fit([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
# 拟合的参数系数如下 y = 0.5x1 + 0.5x2
print(reg.coef_)
print(reg.intercept_)

作为对比我们看另一个例子

# 从 sklearn 中引入线性模型模块
from sklearn import linear_model
# 建立线性回归对象 reg
reg = linear_model.LinearRegression(fit_intercept=True)
# 通过建立的对象拟合数据 x 为 [[0, 0], [1, 1], [2, 2]], y 为 [0, 1, 2]
reg.fit([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
# 拟合的参数系数如下 y = 1.1102230246251565e-16 + 0.5x1 + 0.5x2
print(reg.coef_)
print(reg.intercept_)


我们可以看到这两个拟合结果一个截距项确定为 0,一个截距项是非常接近 0 的数,这就是 fit_intercept 参数的作用。

copy_X: 是 bool 值只支持 True /False, 默认是 True
意思是我们的特征矩阵 X 是否需要拷贝,如果拷贝一份的话 scikit-learn 做的运算不会影响我们的原始数据,否则我们的 X 矩阵有可能会被覆盖。一般而言这个选项我们都使用 True,毕竟我们不希望原始数据被修改。

n_jobs 是 int 型,默认是 None (在这种情况下相当于 1)
意思是使用多少个 processor 完成这个拟合任务,通常来说对于少量数据我们可以使用默认选项 None,但是对于数据量较大且我们电脑 CPU 性能较好且有多核的情况下我们可以使用 -1 这个参数,调用所有 processor 为我们计算,减少运算所使用的时间。

positive 是 bool 型,默认是 False
意思是拟合的系数是否限制为正数,一般来说我们都使用 False 选项。
使用 True 选项往往是因为实际问题中参数存在限制,比如一些有具体含义的参数(必须是正数),需要注意的是 True 选项可能只支持 dense array (个人理解就是不支持带约束的稀疏矩阵的相关运算)。

参考文献

https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html#sklearn.linear_model.LinearRegression

scikit-learn 线性回归 LinearRegression 参数详解相关推荐

  1. 调包侠福音!机器学习经典算法开源教程(附参数详解及代码实现)

    Datawhale 作者:赵楠.杨开漠.谢文昕.张雨 寄语:本文针对5大机器学习经典算法,梳理了其模型.策略和求解等方面的内容,同时给出了其对应sklearn的参数详解和代码实现,帮助学习者入门和巩固 ...

  2. 最详细的Catboost参数详解与实例应用

    集成学习的两大准则:基学习器的准确性和多样性. 算法:串行的Boosting和并行的Bagging,前者通过错判训练样本重新赋权来重复训练,来提高基学习器的准确性,降低偏差!后者通过采样方法,训练出多 ...

  3. CI流水线配置文件参数详解(一)

    文章目录 4. 参数详解(一) 4.1 ``script`` 4.2 ``image`` 指定使用Docker镜像.如 ``iamge:name`` ,暂时忽略. 4.3 ``before_scrip ...

  4. 内存性能参数详解(转载)

    内存性能参数详解 先说说最有效提高你机器内存性能的几个参数:CL,TRP,TRCD CAS Latency "列地址选通脉冲潜伏期" BIOS中可能的其他描述为:tCL.CAS L ...

  5. spring boot 实战 / 可执行war启动参数详解

    概述   上一篇文章<spring boot 实战 / mvn spring-boot:run 参数详解>主要讲解了spring boot 项目基于maven插件启动过程中借助profil ...

  6. plot参数详解python_30行Python代码实现3D数据可视化

    作者:潮汐 来源:Python技术 欢迎来到编程教室~ 我们之前的文章中有讲解过不少 Matplotlib 的用法,比如: 完成这50个Matplotlib代码,你也能画出优秀的图表 25个常用Mat ...

  7. Ehcache配置参数详解

    ehcache配置参数详解 <?xml version="1.0" encoding="UTF-8"?><ehcache><dis ...

  8. PHP date函数参数详解

    PHP date函数参数详解 作者: 字体:[增加 减小] 类型:转载 time()在PHP中是得到一个数字,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧  不过这样方便计算, 要找 ...

  9. ping ip 端口_学生会私房菜【20200305期】——Ping命令及其常用参数详解

    一命令原理 Ping是ICMP的一个典型应用.Ping是检测网络连通的常用工具,同时也能收集其他相关信息.用户可以在Ping命令中指定不同参数,如ICMP报文长度.发送的ICMP报文个数.等待回复响应 ...

最新文章

  1. Linux 汇编语言开发指南
  2. 独家 | 在Python编程面试前需要学会的10个算法(附代码)
  3. 1060. [ZJOI2007]时态同步【树形DP】
  4. Centos7安装mariadb galera cluster数据库集群 详解
  5. windows下 apache 二级域名相关配置
  6. 就业指导——招聘信息的获取、简历投递和指导、HR面试指导
  7. 2019黑马python面试资料_2019最新Python黑马头条推荐系统项目
  8. python怎么暂停爬虫_python Python爬虫防封杀方法集合
  9. 劳务费计算用matlab实现
  10. VS C++ memcpy() 用于double、int、结构体
  11. 机器人自动化《RPA应用场景和发展趋势》
  12. 树莓派4B刷openwrt软路由系统,树莓派做有线路由器的扩展实现各种自定义操作
  13. 《简约至上:交互设计四策略》导读
  14. 004coursera网站中的VTT字幕的使用
  15. win11电脑中文用户名修改成英文用户名
  16. OSChina 周五乱弹 —— 生命诚可贵,改 BUG 价更高?
  17. 如何使用Nmap扫描所有TCP和UDP端口?
  18. SpringBoot使用Freemarker导出word模板(OpenXML)
  19. 嵌入式名工程师,为什么有些人月薪8K,而有些人年薪40K值得深思
  20. 杂记 SpaceX如何利用人工智能

热门文章

  1. 7 series FPGAs GTX资源及工作原理
  2. MapReduce处理小文件合并
  3. windows server 2012 r2关于vmtools安装失败以及KB2919355安装
  4. 微信小程序之组件的开发
  5. STM32F103C8T6最小系统板实现蜂鸣器报警
  6. GLSL (4)Uniform
  7. 详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程。...
  8. 基于FVM的应力求解
  9. NB-IoT小区选择的工作流程-信令分析
  10. js日历插件 中文、英文日历