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

news2024/10/5 17:20:53

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
意思是,模型是否拟合截距项 w 0 w_0 w0 一般情况下我们都需要拟合 w 0 w_0 w0 也就是我们使用 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/148699.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Stack 155.最小栈

力扣155. 最小栈 【解法一】俩个栈实现 【解法二】一个栈实现 155. 最小栈 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推…

【C++】通过栈/队列/优先级队列/反向迭代器了解适配器及仿函数

目录 一、stack 实现一个stack 二、queue 实现一个queue 三、deque(双端对列)了解 1、deque的概念 2、为什么采用deque作为stack和queue的底层容器? 3、deque的缺点 3.1随机访问速度不如vector 3.2中间插入、删除速度不如list 3.3…

node.js——http模块

文章目录什么是 http 模块创建最基本的 Web 服务器request 请求对象response 响应对象解决中文乱码问题根据不同的 url 响应不同的 html 内容文件上传实战什么是 http 模块 http 模块是 Node.js 官方提供的、用来创建 Web 服务器的模块。 node.js提供了http模块,其…

【VCS Verdi】VCS Verdi 联合仿真总结

1. VCS 介绍VCS是编译型 Verilog 模拟器,它完全支持 OVI 标准的 Verilog HDL 语言、PLI 和 SDF。VCS 具有行业中较高的模拟性能,其出色的内存管理能力足以支持千万门级的 ASIC 设计,而其模拟精度也完全满足深亚微米 ASIC Sign-Off 的要求。VC…

C++模拟实现优先级队列(priority_queue)

目录 一、 仿函数 1.1仿函数的概念使用 1.2模拟实现仿函数 二、优先级队列(priority_queue) 2.1 优先级队列概念 2.2 优先级队列使用 2.3 模拟实现优先级队列 2.3.1 优先级队列类框架 2.3.2 模板参数 2.3.3 构造函数 2.3.4 仿函数 2.3.5 adjust_up (堆向…

linux系统中QT里面信号与槽的实现方法

大家好,今天主要来聊一聊,QT中信号与槽的使用方法。 目录 第一:QT中信号与槽简介 第二:如何在项目里创建信号 第三:如何在项目中创建槽 第四:项目中连接信号与槽 第一:QT中信号与槽简介 在学…

遥感图像处理:最小噪声分离变换(Minimum Noise Fraction Rotation,MNF Rotation)

遥感图像处理:最小噪声分离变换(Minimum Noise Fraction Rotation,MNF Rotation1.PCA变换2.MNF3.PCA和MNF1.PCA变换 在统计学中,主成分分析PCA是一种简化数据集的技术。它是一个线性变换。这个变换把数据变换到一个新的坐标系统中…

Django使用Celery异步发送短信(Django4.1.3+Celery5.2.7+ubuntu)

首先要下载Celery,直接pip就好 我的redis配置 CACHES {"default": {"BACKEND": "django_redis.cache.RedisCache","LOCATION": "redis://192.168.2.128:6379/0","OPTIONS": {"CLIENT_CLASS"…

自动化测试Seleniums~2

webdriver API 1.如何打开网页以及如何关闭一个浏览器。 package test_20230107;import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver;import static java.lang.Thread.sleep;public class Test {public static void main(String[] args)…

JavaEE多线程-线程的状态和安全问题

目录一、线程中的基本状态二、线程安全问题三、线程安全的标准类四、synchronized 关键字-监视器锁monitor locksynchronized 的特性五、volatile 关键字一、线程中的基本状态 NEW: 安排了工作, 还未开始行动, 就是创建了Thread对象, 但还没有执行start方法(内核里面还没有创建…

SpringSecurity(十一)【跨域】

十一、跨域 简介 跨域问题实际应用开发中的一个非常常见的需求,在 Spring 框架中对于跨域问题的处理方案有好几种,引入了 Spring Security 之后,跨域问题的处理方案又增加了 什么是 CORS CORS(Cross-Origin Resource-Sharing&…

联合证券|重磅数据出炉,道指飙涨700点!美股新年首周“开门红”!

美股涨嗨了! 当地时间1月6日,最新发布的美国12月非农工作陈述显现,美国工作市场终于呈现降温迹象,过去一年的激进加息成效初显。受此提振,美股三大股指高开高走,彻底改变前几日的跌势。从周k线看&#xff…

PCB结构和谐振(三)

PCB结构和谐振(一)PCB结构和谐振(二)仿真研究在本节中,我们首先对玻璃束的随机分布进行了简单的模拟研究。然后我们利用这些实验结论来简化常用的玻璃布3D结构。最后,这种简化的结构用于研究复杂层压板和两…

Java设计模式中原型模式是啥/浅克隆与深克隆又是什么/clone方法怎么回事

继续整理记录这段时间来的收获,详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用! 4.5 原型模式 4.5.1 概述 用已创建实例作为原型,通过复制该原型对象来创建一个和原型对象一样的新对象 4.5.2 结构 抽象原型类:规定具体…

Docker系列 深度使用nextcloud(九) 硬盘挂载

转自我的个人博客https://blognas.hwb0307.com,该文的内容更新仅在个人博客可见。欢迎关注! 前言 基于《Docker系列 搭建个人云盘服务nextcloud》,相信无论是在有/无443端口的Linux机子里均可成功安装Nextcloud。值得一提的是,Ne…

02、做点准备工作 osg\openscenegraph源代码下载 C++三维视频融合实战系列(时空克隆)

首先,要有一点C编程基础,熟悉VS2013开发环境。 在开始实践之前,先要搭建号VS2013开发环境。 然后,建议电脑安装windows 10 64位操作系统。 接下来需要在以下地址下载开源代码: 1、osg下载 打开openscenegraph主页…

CSS权威指南(七)视觉格式化

文章目录1.盒模型2.元素的显示方式3.行内元素1.盒模型 不管是什么元素,CSS都假定每个元素会生成一个或多个矩形框,我们称之为元素。各元素框的中心是内容区域,四周有可选的内边距、边框、轮廓和外边距。默认情况下,内容区的背景出现在内边距范围内。外边…

5分钟搞懂用户态,内核态

5分钟搞懂用户态,内核态 1. 什么是用户态,内核态 用户态就是提供应用程序运行的空间,为了使应用程序访问到内核管理的资源例如CPU,内存,I/O。内核必须提供一组通用的访问接口,这些接口就叫系统调用。 用户态,内核态…

进制详解:二进制、八进制和十六进制

进制详解:二进制、八进制和十六进制 背景(Contexts) 我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1、9、10、297、952 等,一个数字最多能表示九,如果要表示十、十一、二十九、一百等,…

机器学习笔记之深度信念网络(一)背景介绍与模型表示

机器学习笔记之深度信念网络——背景介绍与模型表示引言深度信念网络场景构建深度信念网络的联合概率分布引言 从本节开始,将介绍深度信念网络。 深度信念网络 深度信念网络(Deep Belief Network,DBN)是杰弗里辛顿(Geoffrey Hinton)于2006年提出的模型&#xff0…