24/8/12算法笔记 复习_线性回归
import numpy as np#导入包
X = np.array([[1,1],[2,1]])#构造矩阵
y = np.array([14,10])np.linalg.solve(X,y) #linalg是线性代数,用于求解线性方程AX = b,solve计算线性代数回归问题X.T#转置
a = X.T.dot(X)#矩阵乘法B = np.linalg.inv(a)#求逆矩阵from sklearn.linear_model import LinearRegression #导入线性回归代数model = LinearRegression(fit_intercept=False) #不计算斜率,没有使用正规方程model.fit(X,y)#用于训练模型model.coef_ #结果,返回值:系数,斜率
model.intercept_ #表示截距项y = y+12 #带截距的线性方程X = np.array([[1,2],[3,4]]) #假设X是一个numpy数组ones_array = np.full((X.shape[0],1),fill_value = 1)#使用np.full创建形状匹配X的数组X = np.concatenate([X,ones_array],axis = 1)#使用np.concatenate在X的每行末尾添加ones_array#线性回归中的截距项:在进行线性回归时,通常需要在特征矩阵中添加一个全为1的列,以便模型可以学习截距项。这样,模型就可以估计出在所有特征值为0时的预测值。#正规方程计算
import matplotlib.pyplot as plt
import numpy as npX = np.linspace(0,10,num = 30).reshape(-1,1) #生成一个数组,以矩阵方式存在,reshape(-1,1) 确保了数据以矩阵的形式存在,便于进行矩阵运算。#斜率和截距随机生成
w = np.random.randint(1,5,size = 1)
b = np.random.randint(1,10,size = 1)#方程
y = X*w+b+np.random.randn(30,1) #X是特征矩阵,w是权重向量,b是偏置项,np.random是添加的随机噪声plt.scatter(X,y) #绘制散点图

注意点 :
为什么要添加one_array
在机器学习和统计建模中,添加一个全为1的数组(通常称为“ones array”)到数据集中有几种常见原因:
-
线性回归中的截距项:在进行线性回归时,通常需要在特征矩阵中添加一个全为1的列,以便模型可以学习截距项。这样,模型就可以估计出在所有特征值为0时的预测值。
-
逻辑回归:在逻辑回归中,添加一个全为1的列允许模型包含一个常数项,这对于某些类型的数据是必要的。
-
特征标准化:在特征标准化过程中,添加一个全为1的列可以保持数据的维度不变,同时允许模型在标准化过程中考虑所有特征。
-
神经网络输入:在构建神经网络时,添加一个全为1的列可以作为偏置项(bias),类似于在每个神经元中添加一个偏置参数。
-
稀疏矩阵优化:在处理稀疏矩阵时,添加一个全为1的列可以简化某些操作,例如在某些优化算法中。
-
数据预处理:在某些数据预处理步骤中,添加一个全为1的列可以帮助实现特定的数据处理或特征工程需求。
-
模型泛化:在某些情况下,添加全为1的列可以帮助模型更好地泛化,特别是在数据集中某些特征的值可能为0时。
reshape的用处:reshape(-1,1) 确保了数据以矩阵的形式存在,便于进行矩阵运算。
y = X*w+b+np.random(30,1) 的理解:X 是特征矩阵,w 是权重向量,b 是偏置项,而 np.random(30,1) 是添加的随机噪声。
randn,和randint函数区别:
-
randn:
np.random.randn(*size)函数用于生成标准正态分布(均值为0,标准差为1)的随机样本。这里的size可以是一个或多个整数,指定了输出数组的形状。- 例如,
np.random.randn(3, 2)会生成一个3行2列的数组,数组中的每个元素都是从标准正态分布中抽取的。
-
randint:
np.random.randint(low, high=None, size=None, dtype=int)函数用于生成随机整数。low和high是整数,分别表示随机数的最小值和最大值(不包括high)。size参数指定了输出数组的形状。dtype参数指定了输出数组的数据类型,默认是整数类型。- 例如,
np.random.randint(1, 10, size=(3, 2))会生成一个3行2列的数组,数组中的每个元素都是从1到9之间的随机整数。
相关文章:
24/8/12算法笔记 复习_线性回归
import numpy as np#导入包 X np.array([[1,1],[2,1]])#构造矩阵 y np.array([14,10])np.linalg.solve(X,y) #linalg是线性代数,用于求解线性方程AX b,solve计算线性代数回归问题X.T#转置 a X.T.dot(X)#矩阵乘法B np.linalg.inv(a)#求逆矩阵from sklearn.linea…...
Linux系统驱动(十四)输入子系统
文章目录 一、输入子系统(一)输入子系统框架结构(二)输入子系统的API 二、实现两个按键的驱动(一)实现思路(二)代码实现 一、输入子系统 在linux系统中使用输入子系统驱动上报鼠标&…...
力扣(2024.08.12)
1. 98:验证二叉搜索树 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def isValidBST(self, r…...
最新版的AutoGPT,我搭建好了
最近AutoGPT不是更新了嘛 安装 我按照官方的教程 在本地搭建好了 改动 可见的改动,主要是把原来的纯命令行改成前后端的形式 看下前端界面 界面比较简单,主要分3个大块 监控 第一个是监控 主要是看你在 build 里构建的Agents的运行情况 build 第一个是Ag…...
[SWPUCTF 2021 新生赛]PseudoProtocols(构造伪协议)
打开题目所给的环境我们可以看到这样一句话: 这里我先尝试访问/hint.php ,但是发现什么都没有发生, F12查看源代码也并没有发现什么,到这里来看的话似乎没有思路了,但是这个题的题目已经给了我们很明显的提示ÿ…...
基于STM32开发的智能语音助手系统
目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 初始化代码控制代码应用场景 智能家居控制个人语音助理常见问题及解决方案 常见问题解决方案结论 1. 引言 随着人工智能技术的发展,智能语音助手已经逐渐进入了人们的日常生活。…...
基于python的图像去雾算法研究系统设计与实现
博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…...
自定义 View 可以播放一段视频
请实现一个自定义 View 的核心代码,核心要求可以响应如下事件: // - 要求自定义 View 可以播放一段视频 / - 在 view 左侧区域上下滑动,可以提高减少音量 / / - 在 view 右侧区域上下滑动可以提高减少屏幕亮度 // - 在 view 左右滑动可以…...
LVS负载均衡集群部署之—NAT模式的介绍及搭建步骤
一、环境准备 1.准备三台rhel9服务器 服务器名称 主机名 ip地址备注LVS调度服务器lvs.timinglee.org eth0:172.25.254.100(外网) eth1:192.168.0.100(内网) 关闭selinux和防火墙webserver2网站服务器webserver1.timinglee.orgeth0:192.168.…...
【算法】浅析哈希算法【附代码示例】
哈希算法:数据存储与检索的基石 1. 引言 在计算机科学中,哈希算法是一种用于将数据(如文件、网络地址或数据库记录)转换为固定长度的哈希值的过程。哈希值通常是一个较短的数字或字符串,用于快速检索原始数据或验证数…...
2024.8.12
2024.8.12 【梦最让我费解的地方在于,明明你看不清梦里人们的脸,却清晰地知道他们是谁。】 Monday 七月初九 序理论 最小链覆盖&最长反链长度 我们设定一个二元关系符R和一个集合A 我们设定<A,R>这样一个类群,那么对于任意 a i…...
使用Python解析pdf、docx等格式文件。
针对不同类型的文件,需要采取特定的访问与解析策略来有效获取其中蕴含的知识。下面我们将介绍对于不同数据源数据的获取方式。 1 解析Docx文档 1.1 获取Docx文档中文本 from docx import Document # pip install python-docx # python-docx 0.8.11 filename xx…...
Linux网络通信基础API
这篇文章只有Linux网络通信基础API大参数信息,和返回值,这篇文章并没有这些基础API的参数类型介绍。accept的第二个参数可以查看客户端信息。 创建socket #include <sys/types.h> /* See NOTES */#include <sys/socket.h>int sock…...
Python爬虫:下载4K壁纸
🎁🎁创作不易,关注作者不迷路🎀🎀 目录 🌸完整代码 🌸分析 🎁基本思路 🎁需要的库 🎁提取图片的链接和标题 👓寻找Cookie和User-Agent &…...
2024年【北京市安全员-B证】新版试题及北京市安全员-B证免费试题
题库来源:安全生产模拟考试一点通公众号小程序 2024年【北京市安全员-B证】新版试题及北京市安全员-B证免费试题,包含北京市安全员-B证新版试题答案和解析及北京市安全员-B证免费试题练习。安全生产模拟考试一点通结合国家北京市安全员-B证考试最新大纲…...
python爬取B站视频实验
实验17:爬虫2 文章目录 实验17:爬虫21.实验目标及要求2. 实验主要内容3.实验小结 1.实验目标及要求 (1)掌握有关爬虫的包 (2)掌握爬虫方法 (3)爬取B站卡塔尔世界杯若干视频 2. 实验…...
10步搞定Python爬虫从零到精通!
学习Python网络爬虫可以分为以下几个步骤,每一步都包括必要的细节和示例代码,以帮助你从零开始掌握这一技能。 第一步:理解网络爬虫基础 什么是网络爬虫? 网络爬虫是一种自动化程序,用来从互联网上收集数据.它通过发送 HTTP 请求…...
SpringMVC学习笔记---带你快速入门和复习
一、初识SpringMVC 1.1、什么是SpringMVC 1.1.1、什么是MVC MVC是一种软件架构模式(是一种软件架构设计思想,不止Java开发中用到,其它语言也需要用到),它将应用分为三块: M:Model࿰…...
Linux系统编程 day09 线程同步
Linux系统编程 day09 线程同步 1.互斥锁2.死锁3.读写锁4.条件变量(生产者消费者模型)5.信号量 1.互斥锁 互斥锁是一种同步机制,用于控制多个线程对共享资源的访问,确保在同一时间只有一个线程可以访问特定的资源或执行特定的操作…...
Vue快速入门(四)——Vue3及组合式API(一)
文章目录 一、认识Vue31. Vue2 选项式 API vs Vue3 组合式API2. Vue3的优势二、使用create-vue搭建Vue3项目1、认识create-vue2. 使用create-vue创建项目三、组合式API - setup选项1. setup选项的写法和执行时机2. setup中写代码的特点3. `<script setup>`语法糖4.小结四…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
Win系统权限提升篇UAC绕过DLL劫持未引号路径可控服务全检项目
应用场景: 1、常规某个机器被钓鱼后门攻击后,我们需要做更高权限操作或权限维持等。 2、内网域中某个机器被钓鱼后门攻击后,我们需要对后续内网域做安全测试。 #Win10&11-BypassUAC自动提权-MSF&UACME 为了远程执行目标的exe或者b…...
npm安装electron下载太慢,导致报错
npm安装electron下载太慢,导致报错 背景 想学习electron框架做个桌面应用,卡在了安装依赖(无语了)。。。一开始以为node版本或者npm版本太低问题,调整版本后还是报错。偶尔执行install命令后,可以开始下载…...
