线性模型快速入门

使用matplotlib画一条直线

import numpy as np
import matplotlib.pyplot as pltx = np.linspace(-5, 5, 100)
y = 0.5*x + 3plt.plot(x, y, c="orange")
plt.title("Straight Line")
plt.show()

在这里插入图片描述

线性模型的直线表示

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegressionX = [[1], [4]]
y = [3,5]lr = LinearRegression().fit(X, y)z = np.linspace(0, 5, 20)plt.scatter(X, y, s=80)
plt.plot(z, lr.predict(z.reshape(-1,1)), c="k")
plt.title("Straight Line")
plt.show()

在这里插入图片描述

获取线性模型的方程

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegressionX = [[1], [4]]
y = [3,5]lr = LinearRegression().fit(X, y)
print(f"y = {lr.coef_[0]:.3f}x + {lr.intercept_:.3f}")z = np.linspace(0, 5, 20)plt.scatter(X, y, s=80)
plt.plot(z, lr.predict(z.reshape(-1,1)), c="k")
plt.title("Straight Line")
plt.show()

在这里插入图片描述

绘制三个点的线性模型图

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegressionX = [[1], [4], [3]]
y = [3,5,3]lr = LinearRegression().fit(X, y)
print(f"y = {lr.coef_[0]:.3f}x + {lr.intercept_:.3f}")z = np.linspace(0, 5, 20)plt.scatter(X, y, s=80)
plt.plot(z, lr.predict(z.reshape(-1,1)), c="k")
plt.title("Straight Line")
plt.show()

在这里插入图片描述

生成数据集并绘制线性模型的图

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regressionX, y = make_regression(n_samples=50, n_features=1, n_informative=1, noise=50, random_state=1)lr = LinearRegression().fit(X, y)
print(f"y = {lr.coef_[0]:.3f}x + {lr.intercept_:.3f}")z = np.linspace(-3, 3, 200).reshape(-1, 1)plt.scatter(X, y, c="b", s=60)
plt.plot(z, lr.predict(z), c="k")
plt.title("Linear Regression")
plt.show()

在这里插入图片描述

训练和测试模型

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_splitX, y = make_regression(n_samples=100, n_features=2, n_informative=2, noise=50, random_state=1)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=8)lr = LinearRegression().fit(X_train, y_train)
print(f"y = {lr.coef_[0]:.3f}X1 + {lr.coef_[1]:.3f}X2 + {lr.intercept_:.3f}")
print(f"score = {lr.score(X_test, y_test)}")

在这里插入图片描述

实战:糖尿病预测

完整代码:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_diabetesdata = load_diabetes()
X, y = data.data, data.target
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=8)lr = LinearRegression().fit(X_train, y_train)
print(f"y = {lr.coef_[0]:.3f}X1 + {lr.coef_[1]:.3f}X2 + {lr.intercept_:.3f}")
print(f"score = {lr.score(X_test, y_test)}")

输出:

y = 11.512X1 + -282.514X2 + 152.563
score = 0.4593422174874441

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

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

相关文章

并发-sleep更优雅的实现方案:TimeUnit.枚举常量.sleep()

首先给出结论:线程使用中的暂停,建议优先使用TimeUnit类中的sleep()但需要注意传入时间小于0的异常情况TimeUnit是java.util.concurrent包下的一个类名主要功能是暂停线程的操作拥有与Thread.sleep()一样的功能都是暂停线程,但TimeUnit提供了…

springboot实现文件防盗链设计

shigen坚持更新文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 个人IP:shigen 👋👋👋hello,伙伴们好久不见&…

Git使用(1):介绍、克隆、推送

一、介绍与安装 1、Git是什么? Git是目前世界上最先进的分布式版本控制系统。工作原理 / 流程: workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓…

智能防疫电梯模拟控制系统设计-设计说明书

设计摘要: 本设计是基于单片机的智能防疫电梯模拟控制系统,主要实现了多项功能。首先,系统进行无接触测温,如果温度正常则可以启动电梯运行,如果温度异常则电梯会报警提示有乘客体温异常,电梯不会运行。其…

Pencils Protocol 宣布再获合作伙伴 Galxe 的投资

近日,Scroll生态项目Penpad将品牌进一步升级为Pencils Protocol,全新升级后其不仅对LaunchPad平台进行了功能上的升级,同时其也进一步引入了Staking、Vault以及Shop等玩法,这也让Pencils Protocol的叙事方向不再仅限于LaunchPad&a…

BUUCTF靶场[MISC]荷兰宽带数据泄露、九连环

[MISC]荷兰宽带数据泄露 考点:查看路由器恢复丢失密码的文件 工具:RouterPassView——路由器密码查看工具 工具链接:https://routerpassview.en.lo4d.com/windows RouterPassView是一款老牌的路由器密码查看器,可以一键获取路…

[Kubernetes] kube-proxy 详解

文章目录 1.kube-proxy概述2.userspace模式3.iptables模式4.ipvs模式 1.kube-proxy概述 kube-proxy组件是用来实现service的请求转发,具体实现方式是kube-proxy运行在每个node上,通过watch监听API Server 中service资源的create,update&…

IPv6路由配置:ripng、ospfv3、静态路由

本次主要是对ipv6路由的配置,先了解ipv6,再进行实验配置 目录 一、🍉 什么是IPV6?🌟IPv6的主要特点 二、🍉IPv6和IPv4的对比🌟 共同点:🌟 IPv4的优缺点:🌟 IPv6的优缺点:…

Docker三剑客从0到1

一、docker三剑客介绍 使用"三剑客"可以帮助我们解决docker host维护,多容器编排部署,多个docker host集群的各个难题。 docker-machine 创建虚拟机 我们知道docker使用了linux的内核技术(namespace 资源隔离,cgroup资源限制等),那么如果我想在windows或Mac系统上…

按照官网引擎问题重新设置监控目录,仍然存在空三等待的问题怎么办?

答:任务目录和引擎目录设置一样,然后取消任务重新写入. 重建大师是一款专为超大规模实景三维数据生产而设计的集群并行处理软件,输入倾斜照片,激光点云,POS信息及像控点,输出高精度彩色网格模型&#xff0…

webpack生成模块关系依赖图示例:查看构建产物的组成部分 依赖关系图

npm i -D webpack-bundle-analyzer core-js babel-loaderwebpack.config.js const BundleAnalyzerPlugin require(webpack-bundle-analyzer).BundleAnalyzerPlugin; module.exports {entry: ./src/index.js,output: {filename: main.js,},// mode: production, // 或者 produ…

公共命名空间和RHP

概述 RHP的全称是:the little Robot that Helped me Program,帮我编程序的小机器人。 RHP必然存在,C语言的宏、C的模板,都是RHP;更复杂的例子,是lex和yacc,它们是制作程序的程序,也…

MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】

前言 做数仓开发离不开 SQL ,写了很多 HQL 回头再看 MySQL 才发现,很多东西并不是 HQL 所独创的,而是几乎都来自于关系型数据库通用的 SQL;想到以后需要每天和数仓打交道,那么不管是 MySQL 还是 Oracle ,都…

EDA设计学习笔记2:STM32F103C8T6最小系统板的仿绘

今日开始仿制练习一个STM32F103C8T6最小系统板,通过对这个最小系统板的仿制,达到对自己PCB设计的练习的目的,最终目标是自己设计出一块PCB,做一个OLED的桌面小摆件...... 也不知道画出来能不能用..... 目录 主控芯片的搜索与放置…

迷宫游戏(c++)

我们来玩一个迷宫游戏,尝试走一下面的迷宫。 迷宫游戏 我们用一个二维的字符数组来表示前面画出的迷宫: S**. .... ***T 其中字符S表示起点,字符T表示终点,字符*表示墙壁,字符.表示平地。你需要从S出发走到T&#xf…

React渲染流程

在 React 渲染分为两个阶段,Render 和 Commit,Render 是修改 React 组件的状态,把需要更新的组件标记为待更新,在 Commit 阶段将待更新的组件进行渲染并最终更新到浏览器的 Dom 树中。 Render 阶段是可以并执行操作的&#xff0c…

软件测试常见面试题合集(内附详细答案)

01 软件测试理论部分 1.1 测试概念 1. 请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试 单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码 集成测试:通过测试发现与…

猛兽派对是什么游戏 猛兽派对攻略大全 苹果电脑怎么玩《猛兽派对》?

猛兽派对是多人派对类型的游戏,该款游戏的动作基于物理原理设计的,体验游戏玩家可以选择自己喜欢的小动物角色参加派对,游戏内具有很多不同的关卡可供挑战。 在steam平台上,猛兽派对对应英文名称是PartyAnimals,官方正…

JVM内存模型最新面试题(持续更新)

问题:java中创建的对象一般放在哪里?(全流程包含从创建到回收) 回答 大部分对象在堆中,这个基本都知道; 少部分对象是会在栈中的,比如作用域不局限于方法内的方法内部变量,这类对象的特征一般就是生命周期…

opencv4.8.0 GPU版本各平台编译

一、opencv4.8.0 ubuntu22.04上编译: 用cmake进行编译,需要配置三次。选中world选项,输入opencv_contrib_module路径。 ubuntu22.04上编译: cmake \ -D CMAKE_BUILD_TYPERELEASE \ -D CMAKE_INSTALL_PREFIX/usr/local \ -D BUILD_opencv_p…