机器学习之线性回归

  • 1、机器学习
  • 2、线性回归
    • 2.1、梯度下降法
  • 3、python下调用scikit-learn

1、机器学习

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、线性回归

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
####所以y可以当成我们需要的结果,根据公式可以求的y一撇的值更小,所以更接近需要的结果,所以y一撇拟合性更好

2.1、梯度下降法

在这里插入图片描述
在这里插入图片描述

已知:
J = f ( ( (p ) ) ) = 3.5p 2 ^2 2-14p+14
p i _i i = 0.5 , α \alpha α = 0.01
p i + 1 _{i+1} i+1= ??

∵ \because 一元二次函数 f ( ( (p ) ) ) = ap 2 ^2 2-bp+c的幂函数求导公式
f ( ( (x ) ) ) = x a ^a a -> f ′ f\prime f( x x x) = ax a − 1 ^{a-1} a1

∵ \because
3.5p 2 ^2 2其导数为2*3.5p ( 2 − 1 ) ^{(2-1)} (21) = 7p

-14p其导数为-14*p ( 1 − 1 ) ^{(1-1)} (11)=-14

14为常数项导数为0

∵ \because 3.5p 2 ^2 2-14p+14的导数是7p-14

∴ \therefore α \alpha α δ δ p i \frac{\delta}{\delta p_i} δpiδf ( ( (p i _{i} i ) ) ) = 7p-14

∵ \because p i _i i = 0.5

∴ \therefore 代入 α \alpha α δ δ p i \frac{\delta}{\delta p_i} δpiδf ( ( (p i _{i} i ) ) )=7*0.5-14=-10.5

∴ \therefore 损失函数J = 0.5-0.01*(-10.5) = 0.605

∴ \therefore 损失函数梯度值为0.605
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3、python下调用scikit-learn

在这里插入图片描述
https://scikit-learn.org/stable/

在这里插入图片描述
可以用简短的代码求解模型

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

import numpy as np
from sklearn.linear_model import LinearRegression
# 获取数据
x = [1,2,3,4,5,6,7,8,9,10]
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
X = x.reshape(-1, 1)
y = np.array([7,9,11,13,15,17,19,21,23,25])
# 寻找a、b(y = ax + b)
lr_model = LinearRegression()
lr_model.fit(X,y)# 展示a、b
a = lr_model.coef_
b = lr_model.intercept_#打印系数a和截距b
print("系数a",a)
print("截距b",b)#对新数据进行预测
x_new = np.array([11,12])
X_new = x_new.reshape(-1, 1)
predictions = lr_model.predict(X_new)#打印预测数据
print("预测数据是:",predictions)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

import numpy as np
from sklearn.linear_model import LinearRegression
# 获取数据
x = [1,2,3,4,5,6,7,8,9,10]
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
X = x.reshape(-1, 1)
y = np.array([7,9,11,13,15,17,19,21,23,25])
# 寻找a、b(y = ax + b)
lr_model = LinearRegression()
lr_model.fit(X,y)# 展示a、b
a = lr_model.coef_
b = lr_model.intercept_#打印系数a和截距b
print("系数a",a)
print("截距b",b)#对新数据进行预测
x_new = np.array([0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,11])
X_new = x_new.reshape(-1, 1)
predictions = lr_model.predict(X_new)#打印预测数据
print("预测数据是:",predictions)from sklearn.metrics import mean_squared_error,r2_score
MSE = mean_squared_error(y,predictions)
R2 = r2_score(y,predictions)#打印均方差,r方值
print("MSE:",MSE)
print("R2:",R2)#画图对比y/ 和y可视化模型表现
from matplotlib import pyplot as plt
plt.scatter(y,predictions)

在这里插入图片描述
matplotlib绘制散点图
在这里插入图片描述

#绘制散点图import matplotlib.pyplot as plt# 生成示例数据
np.random.seed(42)
x_values = np.random.rand(100)
y_values = x_values + np.random.randn(100) * 0.1  # 绘制散点图
plt.scatter(x_values, y_values, color='blue', marker='o')  # color参数定义点的颜色,marker定义点的形状# 设置matplotlib的字体为微软雅黑,确保你的系统中已安装此字体,避免中文乱码问题
plt.rcParams['font.family'] = 'Microsoft YaHei'
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']  # 用于正常显示中文标签
# 解决保存图像时负号'-'显示为方块的问题
plt.rcParams['axes.unicode_minus'] = False# 添加标题和标签
plt.title('散点图')  # 添加标题
plt.xlabel('X轴')  # X轴标签
plt.ylabel('Y轴')  # Y轴标签# 显示图表
plt.show()

多张散点图展示

#散点图多张图同时展示import matplotlib.pyplot as plt# 生成示例数据
np.random.seed(42)
x_values = np.random.rand(100)
y_values = x_values + np.random.randn(100) * 0.1# 如果需要四张图则创建一个2x2的子图布局
for i in range(1, 5):  # 因为是从1开始计数,所以要到5(包括)plt.subplot(2, 2, i)  # 2行2列的布局,当前是第i个子图plt.scatter(x_values, y_values, color='blue', marker='p')

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter 学习之旅 之 flutter 在 Android 端进行简单的打开前后相机预览 / 拍照保存

Flutter 学习之旅 之 flutter 在 Android 端进行简单的打开前后相机预览 / 拍照保存 目录 Flutter 学习之旅 之 flutter 在 Android 端进行简单的打开前后相机预览 / 拍照保存 一、简单介绍 二、简单介绍 camera 三、安装 camera 四、简单案例实现 五、关键代码 一、简单…

【原创】Open WebUI 本地部署

使用官网的默认部署,遇到不少的问题。比如白屏问题,其实需要修改几个参数即可。 其实在部署的时候有不少参数 WEBUI_AUTH False ENABLE_OPENAI_API 0 PATH /usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin LANG C.UTF-8…

【造个轮子】使用Golang实现简易令牌桶算法

本文目录 1. 令牌桶算法2. 调用第三方库实现令牌桶3. 手撕令牌桶 前言:之前在Bluebell社区项目中,我们使用了开源的库来实现令牌桶限流,这次我们试着使用Go来手撕实现下令牌桶算法。 1. 令牌桶算法 为了防止网络拥塞,需要限制流…

C#开发的Base64编码及解码完整源码及注意事项

在软件开发时,经常用Base64编码和解码功能。本文介绍一个简单易用的Base64 编码和解码工具,顾名思义,就是简单快捷地进行 Base64 代码的解码或编码操作。您的数据可以轻松地编码为 Base64 编码,也可以解码为可读的格式。传输数据时…

【Linux第一弹】Linux基础指令(上)

目录 1.ls指令 1.1 ls使用实例 2.pwd指令 3.cd指令 3.1 cd使用实例 4.touch指令 4.1touch使用实例 5.mkdir指令 5.1mkdir使用实例 6.rmdir指令和rm指令 6.1 rmdir指令使用实例->: 6.2 rm指令使用实例 7.man指令 8.cp指令 8.1 cp 使用实例 9.mv指令 9.1mv使用…

RabbitMQ系列(七)基本概念之Channel

RabbitMQ 中的 Channel(信道) 是客户端与 RabbitMQ 服务器通信的虚拟会话通道,其核心作用在于优化资源利用并提升消息处理效率。以下是其核心机制与功能的详细解析: 一、Channel 的核心定义 虚拟通信链路 Channel 是建立在 TCP 连…

Zookeeper(80)Zookeeper的常见问题有哪些?

Zookeeper作为分布式系统的协调服务,常见的问题主要集中在配置、性能、连接管理、数据一致性和节点故障等方面。以下是一些常见问题及其详细解决方法和代码示例。 1. 配置问题 问题描述 配置不当可能导致 Zookeeper 集群无法正常启动或运行效率低下。 解决方法 …

如何管理路由器

一、管理路由器的必要性 1、需要修改拨号上网的密码。 2、需要修改WIFI的SSID名字和密码。 3、设置DHCP协议信息。 4、设置IP地址的过滤规则。 5、给某个设备连接设置网络限速。 二、常见的方式 (一)web网页方式 1、计算机用双绞线或者WIFI的方式连接路由器。 2、在计算机中打开…

linux vim 撤销 回退操作

在Linux的vim编辑器中,撤销和回退操作是非常基本的,但它们可以通过不同的方式实现,具体取决于你想要的精确效果。下面是一些常用的方法: 1. 撤销(Undo) 单个撤销: 你可以通过按下u键来撤销上一…

浅谈流媒体协议以及视频编解码

流媒体协议介绍 流媒体协议用于传输视频、音频等多媒体数据,确保数据流畅地传输到用户设备。常见的流媒体协议包括 RTMP、HLS、DASH、WebRTC 等,每种协议具有不同的特点和适用场景。 1. RTMP (Real-Time Messaging Protocol) 定义:由 Adob…

AF3 DataPipeline类process_multiseq_fasta 方法解读

AlphaFold3 data_pipeline 模块DataPipeline类的 process_multiseq_fasta 方法用于处理多序列 FASTA 文件,生成 AlphaFold3 结构预测所需的特征,适用于多链复合物的预测。它结合了 Minkyung Baek 在 Twitter 上提出的“AlphaFold-Gap”策略,即通过在多链 MSA 中插入固定长度…

图片爬取案例

修改前的代码 但是总显示“失败” 原因是 修改之后的代码 import requests import os from urllib.parse import unquote# 原始URL url https://cn.bing.com/images/search?viewdetailV2&ccidTnImuvQ0&id5AE65CE4BE05EE7A79A73EEFA37578E87AE19421&thidOIP.TnI…

使用自动化运维工具 Ansible 集中化管理服务器

一、概述 Ansible 是一款为类 Unix 系统开发的自由开源的配置和自动化工具 官方网站:https://www.ansible.com/ Ansible 成立于 2013 年,总部设在北卡罗来纳州达勒姆,联合创始人 ad Ziouani 和高级副总裁 Todd Barr都是红帽的老员工。Ansible 旗下的开源软件 Ansible 十分…

CMU15445(2023fall) Project #2 - Extendible Hash Index 匠心分析

胡未灭,鬓已秋,泪空流 此生谁料 心在天山 身老沧州 ——诉衷情 完整代码见: SnowLegend-star/CMU15445-2023fall: Having Conquered the Loftiest Peak, We Stand But a Step Away from Victory in This Stage. With unwavering determinati…

P1706 全排列问题

题目描述 按照字典序输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。 输入格式 一个整数 n。 输出格式 由 1∼n 组成的所有不重复的数字序列,每行一个序列。 每个数字保留 5 个场宽。…

会话与会话管理:Cookie与Session的深度解析

一、什么是会话? 二、Cookie:客户端存储技术 1. Cookie的工作原理 2、在后端设置cookie 3、在前端设置cookie 三、浏览器开启了cookie禁用怎么办? 一、什么是会话? 会话(Session)是指一个用户与服务器之间…

【Linux系统】—— 冯诺依曼体系结构与操作系统初理解

【Linux系统】—— 冯诺依曼体系结构与操作系统初理解 1 冯诺依曼体系结构1.1 基本概念理解1.2 CPU只和内存打交道1.3 为什么冯诺依曼是这种结构1.4 理解数据流动 2 操作系统2.1 什么是操作系统2.2 设计OS的目的2.3 操作系统小知识点2.4 如何理解"管理"2.5 系统调用和…

算法-二叉树篇15-最大二叉树

最大二叉树 力扣题目链接 题目描述 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建…

运维Apache面试题及参考答案

目录 简述 Apache Web 服务器的主要特点及适用场景 Apache 的默认监听端口是什么?如何修改为其他端口? Apache 的主配置文件名称及路径是什么?不同 Linux 发行版的默认路径有何差异? 解释 Apache 的 MPM(Multi-Processing Module)机制,列举常见的工作模式(如 prefor…

51c自动驾驶~合集52

我自己的原文哦~ https://blog.51cto.com/whaosoft/13383340 #世界模型如何推演未来的千万种可能 驾驶世界模型(DWM),专注于预测驾驶过程中的场景演变,已经成为追求自动驾驶的一种有前景的范式。这些方法使自动驾驶系统能够更…