数据可视化复习2-绘制折线图+条形图(叠加条形图,并列条形图,水平条形图)+ 饼状图 + 直方图
目录
目录
一、绘制折线图
1.使用pyplot
2.使用numpy
编辑
3.使用DataFrame
编辑
二、绘制条形图(柱状图)
1.简单条形图
2.绘制叠加条形图
3.绘制并列条形图
4.水平条形图
编辑
三、绘制饼状图
四、绘制散点图和直方图
1.散点图
2.直方图
一、绘制折线图
1.使用pyplot
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [1,2,3,4,5]
# 调用绘制线性图函数plot
plt.plot(x,y,color='#3589FF', # 线的颜色linestyle=':', # 线的风格linewidth=2, # 线的宽度marker='o', # 标记点样式markerfacecolor='r',# 标记点颜色markersize=10, # 标记点的大小alpha=1, # 图形的透明度label="x=y" # 设置图例的label
)
plt.legend()
plt.show()
2.使用numpy
import numpy as np
plt.rcParams['font.sans-serif'] = "SimSong"
# numpy数据
y1 = np.random.random(6) # 第1条折线y轴
y2 = np.random.random(6) # 第2条折线y轴
x = np.arange(6) # 公用的x轴plt.plot(x, y1, label='成都') # 绘制第1条折线图
plt.plot(x, y2, label='武汉') # 绘制第2条折线图
plt.legend(loc='best') # 显示折线plt.title('各城市房价(单位: 万)', fontsize=20) # 设置标题 和 标题大小
index_name = ['1月', '2月', '3月', '4月', '5月', '6月'] # 设置刻度
plt.xticks(x, index_name) # 将x坐标刻度数值与字符对应plt.show() # 显示图形
其中,这句代码的效果是,它将x
数组中的数值与index_name
列表中的字符串对应起来,并显示在图表的x轴上。这样,图表的x轴上将显示’1月’、‘2月’、‘3月’、‘4月’、‘5月’和’6月’,而不是默认的数值刻度。这对于增强图表的可读性和直观性非常有用,特别是当x轴代表时间序列时
index_name = ['1月', '2月', '3月', '4月', '5月', '6月'] # 设置刻度
plt.xticks(x, index_name) # 将x坐标刻度数值与字符对应
如果没有这段代码会发生
3.使用DataFrame
import pandas as pd
# 使用DataFrame数据
data_frame = pd.DataFrame({'Python基础': np.random.randint(10, 100, 5),'Python爬虫': np.random.randint(10, 100, 5),'Python Web': np.random.randint(10, 100, 5),
})plt.plot(data_frame, marker='o')# 显示图例
plt.legend(data_frame, loc=2)# 设置x轴刻度标签
plt.xticks([0, 1, 2, 3, 4], ['1月', '2月', '3月', '4月', '5月'])
plt.title('2020年课程购买人数')
plt.xlabel('月份')
plt.ylabel('购买人数')# 设置网格的宽度
plt.grid()# 显示图形
plt.show()
二、绘制条形图(柱状图)
1.简单条形图
下面这段代码是使用matplotlib库中的pyplot模块绘制条形图
matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)
参数:
参数名 | 描述 | 默认值 |
---|---|---|
x | 条形图x轴的位置序列,即条形图基线的位置。 | 无(必须提供) |
height | 条形图y轴的值,即条形图的高度。 | 无(必须提供) |
width | 条形图的宽度。 | 0.8 |
bottom | 条形图的底部y坐标,表示条形图从哪个y坐标开始。 | None |
align | 条形图的对齐方式,'center’表示条形图中心对齐,'edge’表示边缘对齐。 | ‘center’ |
data | 要绘制的数据。 | None |
**kwargs | 传递给条形图的其它参数,如颜色、标签等。 | 无 |
绘制一个简单的条形图
x = [1,2,3,4,5]
height = [2.5,3.5,4.5,5.6,6.9]
plt.bar(x,height)
给条形图上方添加说明
# 给坐标为 (1,2.5)位置上方添加2.5说明
plt.text(1,2.5,2.5)
# 使这个说明居中,并且在条形图底部
plt.text(1,2.5,2.5,ha='center',va='bottom') #通常使用bottom
# 使这个说明居中,并且在条形图上部
plt.text(1,2.5,2.5,ha='center',va='top')
# 给每个条形图添加说明,使用zip
# zip 的作用就是将x和height 合并成一个元组,通过for循环赋值给x,height
for x,height in zip(x,height):plt.text(x,height,height,ha='center',va='bottom')
补充元素
x = [1,2,3,4,5]
height = [2.5,3.5,4.5,5.6,6.9]
index_name = ['星期一','星期二','星期三','星期四','星期五']
plt.xticks(x,index_name)
plt.bar(x,height)
plt.title('销售量(单位:万元)')
for x,height in zip(x,height):plt.text(x,height,height,ha='center',va='bottom')
plt.show()
2.绘制叠加条形图
x = [1,2,3,4,5]
height1 = [2.5,3.5,4.5,5.6,6.9]
height2 = [2,3,4,5,6]
index_name = ['星期一','星期二','星期三','星期四','星期五']
plt.xticks(x,index_name)
plt.bar(x,height1) # 绘制第一个条形图
plt.bar(x,height2,color='g') # 绘制第二个条形图
plt.title('销售量(单位:万元)')
plt.show()
bottom
参数用于指定堆叠条形图的起始位置
在下面的例子中,bottom=height1
表示第二个条形图的底部是第一个条形图的顶部
plt.bar(x,height1,label='python销量') # 绘制第一个条形图
#
plt.bar(x,height2,color='g',bottom=height1,label='c语言销量') # 绘制第二个条形图
plt.legend()
设置图形大小和图形像素,这样图片就更大一些了
plt.figure(figsize=(8,8),dpi=100)
测试代码
plt.figure(figsize=(8,8),dpi=100)
x = [1,2,3,4,5]
height1 = [2.5,3.5,4.5,5.6,6.9]
height2 = [2,3,4,5,6]
index_name = ['星期一','星期二','星期三','星期四','星期五']
plt.xticks(x,index_name)
plt.bar(x,height1,label='python销量') # 绘制第一个条形图
plt.bar(x,height2,color='g',bottom=height1,label='c语言销量') # 绘制第二个条形图
plt.title('销售量(单位:万元)')
plt.legend()
plt.show()
3.绘制并列条形图
这里就需要使用numpy,便于相减
注意plt.bar中参数顺序
plt.figure(figsize=(8,8),dpi=100)# 使用numpy
x = np.arange(5)
height1 = [2.5,3.5,4.5,5.6,6.9]
height2 = [2,3,4,5,6]
index_name = ['星期一','星期二','星期三','星期四','星期五']
plt.xticks(x,index_name)#条形图宽度为0.3
bar_width=0.3
plt.bar(x,height1,bar_width,label='python销量') # 绘制第一个条形图# 第二个条形图其实位置为x+bar_width
plt.bar(x+bar_width,height2,bar_width,color='g',label='c语言销量') # 绘制第二个条形图
plt.title('销售量(单位:万元)')
plt.legend()
plt.show()
但是底部的x轴课表对应不美观,于是调一下xticks
plt.xticks(x+bar_width/2,index_name) # 加bar_width的一半
实验代码
plt.figure(figsize=(8,8),dpi=100)# 使用numpy
x = np.arange(5)
height1 = [2.5,3.5,4.5,5.6,6.9]
height2 = [2,3,4,5,6]
index_name = ['星期一','星期二','星期三','星期四','星期五']#条形图宽度为0.3
bar_width=0.3
plt.bar(x,height1,bar_width,label='python销量') # 绘制第一个条形图# 第二个条形图其实位置为x+bar_width
plt.bar(x+bar_width,height2,bar_width,color='g',label='c语言销量') # 绘制第二个条形图
plt.title('销售量(单位:万元)')plt.xticks(x+bar_width/2,index_name) # 加bar_width的一半
plt.legend()
plt.show()
4.水平条形图
plt.figure(figsize=(8,8),dpi=100)
index_name = ['python','c语言','java','cpp','php']
y = [1,2,3,4,5]
plt.yticks(y,index_name)
width=[2.5,3.6,4.7,5.8,6.9]# barh以水平方式画条形图,h就是水平的意思
plt.barh(y,width)plt.text(2.5,1,2.5)
plt.text(3.6,2,3.6)
plt.text(4.7,3,4.7)
plt.text(5.8,4,5.8)
plt.text(6.9,5,6.9)plt.show()
三、绘制饼状图
import matplotlib.pyplot as plt # 导入matplotlib.pyplot模块,用于绘制图表plt.figure(figsize=(6, 6), dpi=100) # 创建一个新图形,并设置图形大小为6x6英寸,分辨率为100 DPI
labels = ['A', 'B', 'C', 'D', 'E'] # 定义饼图的标签列表
x = [10, 20, 30.5, 40.6, 50.7] # 定义饼图的各个部分的值
explode = [0, 0.1, 0, 0, 0] # 定义饼图各个部分的突出显示程度,这里只突出显示第二个部分plt.pie(x, labels=labels, autopct='%.2f%%', explode=explode) # 绘制饼图,设置标签、自动百分比格式和突出显示
plt.legend() # 显示图例,用于解释各个部分的含义
plt.show() # 显示绘制好的饼图
其中对于pie函数内部,如果参数顺序对不上,可以强行指定参数顺序如 labels=labels
四、绘制散点图和直方图
1.散点图
我们可以通过绘制折线图方式绘制一个简单的散点图
x = [1,2,3,4,5]
y = [1,2,3,4,5]
plt.plot(x,y)
# 设置点的样式为o,颜色为红色
plt.plot(x,y,'ro')
# bo就是蓝色
除了通过折线图绘制散点图外。matplotlib中还提供了scatter函数绘制散点图
plt.scatter
是 Matplotlib 库中的一个函数,用于在二维空间中绘制散点图。
plt.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None, *, data=None, **kwargs)
参数名 | 描述 | 示例值或默认值 |
---|---|---|
x, y | 这些是位置参数,分别表示散点图中每个点的 x 和 y 坐标。 | x = [1, 2, 3, …], y = [4, 5, 6, …] |
s | 散点的大小。如果是一个标量,那么所有的点都会是这个大小。 | s = 100 |
c | 散点的颜色。如果是一个标量,那么所有的点都会是这个颜色。 | c = ‘blue’ |
marker | 散点的形状。默认值是 None,此时使用 ‘o’(圆形)。 | marker = ‘s’ |
cmap | 颜色映射,用于将数据值映射到颜色。仅在 c 是一个浮点数数组时使用。 | cmap = plt.cm.viridis |
norm | 用于缩放 c 的颜色数据,使其在 0 和 1 之间。 | norm = plt.Normalize(vmin=0, vmax=1) |
vmin, vmax | 当 norm 是 None 时,这两个参数用于将 c 的数据缩放到颜色映射的范围内。 | vmin = 0, vmax = 1 |
alpha | 散点的透明度。值在 0(完全透明)到 1(完全不透明)之间。 | alpha = 0.5 |
linewidths | 散点边缘的线宽。默认值是 None,此时不绘制边缘。 | linewidths = 1 |
edgecolors | 散点边缘的颜色。默认值是 None,此时边缘颜色与散点颜色相同。 | edgecolors = ‘black’ |
data | 如果提供,那么 x, y, s, c 等参数可以通过字符串来指定,这些字符串将映射到 data 的列。 | data = None |
**kwargs | 其他关键字参数,可以传递给 Line2D 对象,用于进一步自定义散点图。 | **kwargs = {} |
x = [1,2,3,4,5]
y = [1,2,3,4,5]
plt.scatter(x,y)
plt.show()
设置点的颜色为红色
plt.scatter(x,y,color='r')
# 设置散点图中点的大小 -- 随机大小
size = np.random.rand(5)*200
plt.scatter(x,y,color='g',s=size)
# 绘制多个散点图
x = [1,2,3,4,5]
y = [1,2,3,4,5]
a = np.random.rand(10)
b = np.random.rand(10)
size = np.random.rand(5)*200
plt.scatter(x,y,color='y',s=size)
plt.scatter(a,b,color='b',s=size)
plt.show()
2.直方图
直方图是一种用于显示数值数据分布的柱状图。它通过将数据分成若干个区间(或称为“箱子”),然后绘制每个区间内数据的数量或频率来表示数据的分布情况。直方图可以用来展示数据的集中趋势、离散程度以及是否存在异常值等。
直方图是由竖立在x轴上的多个相邻的矩形组成,这些矩形把x轴拆分为一段段彼此不重叠的线段;每个矩形都是有面积的,那么它的面积和所对应的直方图元素的个数是成正比,这种方法就可以用于样本分布统计
x = [1,2,3,4,5]
plt.hist(x) # 绘制直方图
plt.show()
# 更改x的值观察一下
x = [1,2,3,4,5,1.1,1.2,1.3]
plt.hist(x) # 绘制直方图
plt.show()
# 下面使用直方图绘制一个正态分布
# 使用 NumPy 的 random.normal 函数生成一个包含 100000 个随机数的数组。normal(0,1) 表示生成的数据符合均值为 0、标准差为 1 的正态分布。
data = np.random.normal(0,1,100000)
# bins=200 指定了直方图的箱数,即横轴(x轴)的划分数量。每个箱代表数据中一个范围的数据值,直方图的高度表示该范围内数据点的数量。
plt.hist(data,bins=200)
plt.show()
相关文章:
数据可视化复习2-绘制折线图+条形图(叠加条形图,并列条形图,水平条形图)+ 饼状图 + 直方图
目录 目录 一、绘制折线图 1.使用pyplot 2.使用numpy 编辑 3.使用DataFrame 编辑 二、绘制条形图(柱状图) 1.简单条形图 2.绘制叠加条形图 3.绘制并列条形图 4.水平条形图 编辑 三、绘制饼状图 四、绘制散点图和直方图 1.散点图 2…...
STM32F10x 定时器
使用定时器实现:B5 E5的开关 添加相关的.h路径文件 添加相关的.c配置文件 led.h文件 用于声明LED函数 #ifndef __LED_H //没有定义__LED_H #define __LED_H //就定义__LED_H #define LED1_ON GPIO_ResetBits(GPIOB,GPIO_Pin_5) #defi…...
VBA技术资料MF230:展开所有折叠视图并恢复
我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…...
【数据结构OJ】【图论】图综合练习--拓扑排序
题目描述 已知有向图,顶点从0开始编号,求它的求拓扑有序序列。 拓扑排序算法:给出有向图邻接矩阵 1.逐列扫描矩阵,找出入度为0且编号最小的顶点v 2.输出v,并标识v已访问 3.把矩阵第v行全清0 重复上述步骤࿰…...
网络安全防范
网络安全防范技术 所属课程网络攻防实践作业要求第六次作业 实践内容 学习总结 PDR,$$P^2$$DR安全模型。 防火墙(Firewall): 网络访问控制机制,布置在网际间通信的唯一通道上。 不足:无法防护内部威胁&…...
Linux nc 命令详解
简介 nc 全称 netcat,是一个在 Linux 中多功能的网络工具,通常用于通过 TCP 或 UDP 读取和写入网络连接,也能作为客户端或服务端用来 debug,测试,网络问题分析。 常用示例 检查端口是否是打开的 nc -zv <hostna…...
解决 Gradle 报错:`Plugin with id ‘maven‘ not found` 在 SDK 开发中的问题
在 SDK 开发过程中,使用 Gradle 构建和发布 SDK 是常见的任务。在将 SDK 发布为 AAR 或 JAR 包时,你可能会使用 apply plugin: maven 来发布到本地或远程的 Maven 仓库。但是,随着 Gradle 版本的更新,特别是从 Gradle 7 版本开始&…...
stm32cubemx+VSCODE+GCC+makefile 开发环境搭建
title: stm32cubemxVSCODEGCCmakefile 开发环境搭建 tags: FreertosHalstm32cubeMx 文章目录 内容往期内容导航第一步准备环境vscode 插件插件配置点灯 内容 往期内容导航 第一步准备环境 STM32CubeMXVSCODEMinGWOpenOcdarm-none-eabi-gcc 然后把上面下载的软件 3 4 5 bin 文…...
postgresql|数据库开发|python的psycopg2库按指定顺序批量执行SQL文件(可离线化部署)
一、 psycopg2简介 psycopg2库是python的一个可直接操作postgresql数据库的类库,是一个用于Python编程语言的PostgreSQL数据库适配器。它允许开发人员使用Python语言与PostgreSQL数据库进行交互和操作,不同于java,需要专用的一个驱动&#…...
学习ASP.NET Core的身份认证(基于Cookie的身份认证3)
用户通过验证后调用HttpContext.SignInAsync函数将用户的身份信息保存在认证Cookie中,以便后续的请求可以验证用户的身份,该函数原型如下所示,其中properties参数的主要属性已在前篇文章中学习,本文学习scheme和principal的意义及用法。 public static …...
Java 中的 HashMap 原理详解:底层结构与实现机制
HashMap 是 Java 中最常用的数据结构之一,它以其高效的存取速度在众多应用场景中被广泛使用。理解 HashMap 的底层实现原理,对提升开发效率、优化性能以及编写高效的代码都至关重要。本文将深入探讨 HashMap 的数据结构、存储机制、解决冲突的策略、扩容…...
数据库MYSQL——表的设计
文章目录 前言三大范式:几种实体间的关系:一对一关系:一对多关系:多对多关系: 前言 之前的博客中我们讲解的是关于数据库的增删改查与约束的基本操作, 是在已经创建数据库,表之上的操作。 在实…...
CUDA补充笔记
文章目录 一、不同核函数前缀二、指定kernel要执行的线程数量三、线程需要两个内置坐标变量来唯一标识线程四、不是blocksize越大越好,上限一般是1024个blocksize 一、不同核函数前缀 二、指定kernel要执行的线程数量 总共需要线程数是: 1 * N N个线程…...
OSI七层模型和TCP/IP五层模型详细介绍
这里写目录标题 一.OSI含义二.OSI七层模型1.应用层2.表示层3.会话层4.传输层5.网络层6.数据链路层7.物理层 TCP/IP五层协议1.应用层2.运输层运行在TCP上的协议运行在UDP上的协议 3.网络层IP协议配套使用的协议 4.数据链路层 四.网络协议分层的好处 一.OSI含义 OSI即是开放式通…...
mac安装Pytest、Allure、brew
安装环境 安装pytest 命令 pip3 install pytest 安装allure 命令:brew install allure 好吧 那我们在安装allure之前 我们先安装brew 安装brew 去了官网复制了命令 还是无法下载 如果你们也和我一样可以用这个方法哦 使用国内的代码仓库来执行brew的安装脚本…...
Linux/Windows/OSX 上面应用程序重新启动运行。
1、Linux/OSX 上面重新运行程序,直接使用 execvp 函数就可以了,把main 函数传递来的 argv 二维数组(命令行参数)传进去就可以,注意不要在 fork 出来的子进程搞。 2、Windows 平台可以通过 CreateProcess 函数来创建新的…...
自定义 Kafka 脚本 kf-use.sh 的解析与功能与应用示例
Kafka:分布式消息系统的核心原理与安装部署-CSDN博客 自定义 Kafka 脚本 kf-use.sh 的解析与功能与应用示例-CSDN博客 Kafka 生产者全面解析:从基础原理到高级实践-CSDN博客 Kafka 生产者优化与数据处理经验-CSDN博客 Kafka 工作流程解析:…...
Odoo :免费且开源的农牧行业ERP管理系统
文 / 开源智造Odoo亚太金牌服务 引言 提供农牧企业数字化、智能化、无人化产品服务及全产业链高度协同的一体化解决方案,提升企业智慧种养、成本领先、产业互联的核心竞争力。 行业典型痛点 一、成本管理粗放,效率低、管控弱 产品研发过程缺少体系化…...
AI的自我陷阱:大型神经网络训练中的模型崩溃现象
10月7日,发布在arxiv上的一篇名为Strong Model Collapse的论文,由Meta 、纽约大学和加州大学洛杉矶分校的研究人员共同发表的研究表明在训练大型神经网络(如 ChatGPT 和 Llama)时,由于训练语料库中包含合成数据而导致的…...
Python(下载安装)
简介 开发工具:pycharm, VS Code 1. 下载(解释器程序) Download Python | Python.org 2. 安装(解释器程序) 双击下载后的exe文件 查看版本:python(并可以执行python代码) 3. 下载…...
记录一种在内核空间向用户空间通知中断的方法
记录一种在内核空间向用户空间通知中断的方法 0.前言1.代码实现1)内核设备驱动实现2)消息通知实现3)测试程序 2.解析 参考文章:Linux驱动实践:中断处理函数如何【发送信号】给应用层? 0.前言 最近在项目中遇到一个需求,需要将一个…...
Apache Maven 标准文件目录布局
Apache Maven 采用了一套标准的目录布局来组织项目文件。这种布局提供了一种结构化和一致的方式来管理项目资源,使得开发者更容易导航和维护项目。理解和使用标准目录布局对于有效的Maven项目管理至关重要。本文将探讨Maven标准目录布局的关键组成部分,并…...
【vim】使用 gn 组合命令实现搜索选中功能
gn是Vim 7.4新增的一个操作(motion),作用是跳到并选中下一个搜索匹配项。 具体说,Vim里执行搜索后,执行n操作只会跳转到下一个匹配项,而不选中它。但是我们往往需要对匹配项执行一些修改操作,例…...
解决登录Google账号遇到手机上Google账号无法验证的问题
文章目录 场景小插曲解决方案总结 场景 Google账号在新的设备上登录的时候,会要求在手机的Google上进行确认验证,而如果没有安装Google play就可能出现像我一样没有任何弹框,无法实现验证 小插曲 去年,我在笔记本上登录了Googl…...
基于YOLOv10深度学习的公共安全持刀行为检测系统研究与实现(PyQt5界面+数据集+训练代码)
随着社会的不断进步和城市化进程的加快,人口密度的增加和社会结构的复杂化使得公共安全问题日益凸显。近年来,各类公共安全事件频发,其中持刀行为作为一种典型的暴力行为,已成为威胁公共安全的严重因素之一。这种行为在公共场所发…...
HP6心率血压传感器
目录 一、介绍 1、工作原理概述 2、具体实现步骤 二、HP6的通信及配置 1、通信接口 2、器件地址/命令 3、校验 三、程序设计 ①IIC通信相关基础函数 ②HP6相关基础函数 一、介绍 HP6心率血压传感器的原理主要基于光电容积脉搏波描记法(PPG)&…...
深入理解 JVM 中的 G1 垃圾收集器原理、算法、过程和参数配置
引言 Java 虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称 GC)是自动内存管理的核心部分。G1(Garbage-First)垃圾收集器是 Oracle 在 JDK 7u4 版本中引入的一种新型垃圾收集器,…...
细说敏捷:敏捷四会之standup meeting
上一篇文章中,我们讨论了 敏捷四会 中 冲刺计划会 的实施要点,本篇我们继续分享敏捷四会中实施最频繁,团队最容易实施但往往也最容易走形的第二个会议:每日站会 关于每日站会的误区 站会是一个比较有标志性的仪式活动࿰…...
MySQL系列之身份鉴别(安全)
导览 前言Q:如何保障MySQL数据库身份鉴别的有效性一、有效性检查1. 用户唯一2. 启用密码验证3. 是否存在空口令用户4. 是否启用口令复杂度校验5. 是否设置口令的有效期6. 是否限制登录失败尝试次数7. 是否设置(超过尝试次数)锁定的最小时长8.…...
vue3封装Element Plus table表格组件
支持绝大部分Element Plus原有设置属性,支持分页,支持动态适配高度 效果展示 组件代码: <template><div class"table-wrap" ref"tableWrap"><el-tableclass"w100 h100":data"tableInfo.…...
SFP+光模块介绍
SFP光模块介绍 1 SFP光模块简介(Small Form -Factor Pluggable)2 光模块管脚定义 1 SFP光模块简介(Small Form -Factor Pluggable) 光模块(Optical Module)由光电子器件、功能电路和光接口等组成,光电子器件包括激光发射器(Laser Transmitte…...
神经网络的初始化
目录 为什么需要初始化? 初始化的常用方法: 是否必须初始化? 初始化神经网络中的权重和偏置是深度学习模型训练中非常重要的一步,虽然在某些情况下不进行初始化也能训练出模型,但正确的初始化方法能够显著提高训练效…...
数据集搜集器0.01
我们使用Python的Tkinter库来创建GUI界面,并使用requests库来从360百科获取数据。下面是一个完整的示例代码,它包括了一个简单的GUI界面,用户可以输入问题,点击按钮后会从360百科获取相关信息,并显示在同一个Text组件中…...
【Lucene】搜索引擎和文档相关性评分 BM25 算法的工作原理
BM25 算法的工作原理: 什么是 BM25 算法? BM25 是一种流行的文本检索算法,广泛用于搜索引擎和文档相关性评分。它基于概率检索模型,旨在评估查询和文档之间的相关性。 核心公式 BM25 的公式如下: score ( D , Q ) …...
嵌入式Linux——文件类型
目录 普通文件 目录文件 目录文件的权限与管理 字符设备文件和块设备文件 符号链接文件 查看符号链接 删除符号链接 修改符号链接 管道文件 匿名管道(Anonymous Pipe) 匿名管道的特点: 使用示例: 命名管道(…...
ES6 模块化语法
目录 ES6 模块化语法 分别暴露 统一暴露 编辑 默认暴露 ES6 模块化引入方式 ES6 模块化语法 模块功能主要由两个命令构成:export 和 import。 ⚫ export 命令用于规定模块的对外接口(哪些数据需要暴露,就在数据前面加上关键字即可…...
Gradio学习笔记记录
安装指令:pip install gradio方法介绍 Interface》用于构建一些简单的页面,可以直接用这个指令搞定 形式》接收三个参数分别为处理函数、输入、输出三部分,呈现一般左/上为输入,右或下为输出 fn:将用户界面 ࿰…...
Node.js的下载与安装(支持各种新旧版本)
目录 1、node官网 2、node软件下载 3、软件安装(完整版) 1、node官网 Node.js — Download Node.jshttps://nodejs.org/en/download/package-manager 2、node软件下载 按照下图进行选择node版本(真心推荐16/18,而是尽量是LTS…...
数据库和缓存的数据一致性 -20241124
问题描述 一致性 缓存中有数据,缓存的数据值数据库中的值缓存中本没有数据,数据库中的值最新值(有请求查询数据库时,会将数据写入缓存,则变为上面的“一致”状态) “数据不一致”: 缓存的数据值…...
【计算机网络】多路转接之select
系统提供select()来实现多路转接 IO 等 拷贝 -> select()只负责等待,可以一次等待多个fd select()本身没有数据拷贝的能力,拷贝要read()/write()来完成 一、select的使用 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exc…...
Linux命令思维导图
看到一个很不错的Linux命令思维导图,用机器翻译了一下,建议收藏备用。 附上英文版:...
自然语言处理(词嵌入和词向量的使用)
一、实验目的 1.了解词嵌入和词向量的基本概念及其在自然语言处理中的应用。 2.掌握使用One-Hot编码和Word2Vec模型构建词向量的方法。 3.掌握Doc2Vec模型构建文档向量的方法以及如何计算文档向量之间的相似度。 二、实验内容 (1)使用One-Hot编码构…...
量子感知机
神经网络类似于人类大脑,是模拟生物神经网络进行信息处理的一种数学模型。它能解决分类、回归等问题,是机器学习的重要组成部分。量子神经网络是将量子理论与神经网络相结合而产生的一种新型计算模式。1995年美国路易斯安那州立大学KAK教授首次提出了量子…...
[HarmonyOS] 解决HMRouter路由地址无法抽取的问题
解决HMRouter路由地址无法抽取的问题 背景 最近开始学习HarmonyOS开发,搭建项目的时候采用了 HMRouter 路由框架,在项目里使用到路由跳转,官方链接在这: https://gitee.com/hadss/hmrouter/blob/master/HMRouterLibrary/README…...
七天掌握SQL--->第四天:事务处理与并发控制
# 7天掌握SQL - 第四天:事务处理与并发控制 ## 目标 - 学习事务处理的基本概念,如ACID特性。 - 掌握并发控制的方法,如锁机制、事务隔离级别等。 - 通过实际案例练习事务处理和并发控制。 ## 1. 事务处理的基本概念 事务处理是数据库管理系…...
Docker学习笔记整理
这周不知道写点啥内容做个分享,但还是秉持学会分享的精神,粗略放一些Docker相关的问题和解答吧,后面有机会再补补再深挖深挖o(>﹏<)o 1. 容器VS虚拟机 虚拟机是一种带环境安装的解决方案(资源完全隔离),有以下缺…...
PIMPL模式和D指针
一、PIMPL模式概念: Pimpl(pointer to implementation, 指向实现的指针)是一种用来对“类的接口与实现”进行解耦合的方法。就是将真正的实现细节的Implementor从类定义的头文件中分离出去,公有类通过一个私有指针指向隐藏的实现类…...
Linux入门系列--文件与目录
一、介绍 在Linux中,有着一句话,叫做:一切皆文件。也就是任何东西都是以文件的形式存储的。 目录结构 bin:全程binary,含义是二进制。该目录中存储的都是一些二进制文件。我们学过C/C,其实也都知道机器能…...
论文阅读——Intrusion detection systems using longshort‑term memory (LSTM)
一.基本信息 论文名称:Intrusion detection systems using longshort‑term memory (LSTM) 中文翻译:基于长短期记忆(LSTM)的入侵检测系统 DOI:10.1186/s40537-021-00448-4 作者:FatimaEzzahra Laghrissi1* , Samira Douzi2*, Kha…...
平面点排序(结构体专题)
(1) 题目描述 平面上有n个点,坐标均为整数。请按与坐标原点(0,0)距离的远近将所有点排序输出。可以自己写排序函数,也可以用qsort库函数排序。 输入描述 输入有两行,第一行是整数n(1<n<10)ÿ…...