当前位置: 首页 > news >正文

集成学习算法

目录

1.必要的导入

2.Bagging集成

3.基于matplotlib写一个函数对决策边界做可视化

4.总结图中结论

5.扩展说明


1.必要的导入

# To support both python 2 and python 3
from __future__ import division, print_function, unicode_literals# Common imports
import numpy as np
import os# to make this notebook's output stable across runs
np.random.seed(42)# To plot pretty figures
%matplotlib inline
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rc('axes', labelsize=14)
mpl.rc('xtick', labelsize=12)
mpl.rc('ytick', labelsize=12)plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False# Where to save the figures
PROJECT_ROOT_DIR = "."
CHAPTER_ID = "ensembles"

2.Bagging集成

没有用到外部数据集先基于make_moons数据集(make_moons 是一个用于快速生成简单而具有说明性数据集的有价值工具)

from sklearn.model_selection import train_test_split
from sklearn.datasets import make_moonsX, y = make_moons(n_samples=500, noise=0.30, random_state=42)  # 创建make_moon数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)  # 将创建好的数据集划分为训练集和测试集

BaggingClassifier(

base_estimator=None, #基学习器,默认是决策树

n_estimators=10, #基学习器的数量

*,

max_samples=1.0, #构建每个基学习器时从原始训练集中抽取的样本比例(如果为浮点数)或数量(如果为整数)。如果为 1.0,则使用全部样本。小于 1.0 的值会导致有放回抽样(bootstrap sampling)。

max_features=1.0, #构建每个基学习器时从原始特征集中抽取的特征比例(如果为浮点数)、数量(如果为整数)或根据某些策略(如 'auto'、'sqrt'、'log2')选择。如果为 1.0,则使用全部特征。

bootstrap=True, #是否对每个基学习器使用有放回抽样

bootstrap_features=False, #是否对每个基学习器使用特征的有放回抽样

oob_score=False, #是否使用袋外样本来评估模型的泛化性能

warm_start=False, #是否在上一次训练的基础上继续训练基学习器

n_jobs=None, #并行运行的作业数

random_state=None, #随机数种子

verbose=0, # 大于0则打印进度和性能信息

)

如果想尝试Pasting,就设置bootstrap=False

from sklearn.ensemble import BaggingClassifier
from sklearn.tree import DecisionTreeClassifier# TODO:利用BaggingClassifier构建集成学习,base_estimator设置为DecisionTreeClassifier,n_estimators=500,max_samples=100
bag_clf = BaggingClassifier(
    DecisionTreeClassifier(random_state=42), n_estimators=500,
    max_samples=100, bootstrap=True, n_jobs=-1, random_state=42)  # bootstrap:设置是否有放回的参数,若为True则为Bagging,否则Pasting
# TODO: 模型训练
bag_clf.fit(X_train, y_train)
# TODO: 测试
y_pred = bag_clf.predict(X_test)

不进行集成进行对比

从准确率上看,好像提升不是很明显。 但集成学习不仅仅提高了准确率,更提高了模型的泛化能力。

3.基于matplotlib写一个函数对决策边界做可视化

from matplotlib.colors import ListedColormap# 绘制决策树边界
def plot_decision_boundary(clf, X, y, axes=[-1.5, 2.5, -1, 1.5], alpha=0.5, contour=True):
    x1s = np.linspace(axes[0], axes[1], 100)
    x2s = np.linspace(axes[2], axes[3], 100)
    x1, x2 = np.meshgrid(x1s, x2s)
    X_new = np.c_[x1.ravel(), x2.ravel()]
    y_pred = clf.predict(X_new).reshape(x1.shape)
    custom_cmap = ListedColormap(['#fafab0','#9898ff','#a0faa0'])
    plt.contourf(x1, x2, y_pred, alpha=0.3, cmap=custom_cmap)  # 将模型的预测值y_pred作为等高线的高度值来绘制决策if contour:
        custom_cmap2 = ListedColormap(['#7d7d58','#4c4c7f','#507d50'])
        plt.contour(x1, x2, y_pred, cmap=custom_cmap2, alpha=0.8)
    plt.plot(X[:, 0][y==0], X[:, 1][y==0], "yo", alpha=alpha)
    plt.plot(X[:, 0][y==1], X[:, 1][y==1], "bs", alpha=alpha)
    plt.axis(axes)
    plt.xlabel(r"$x_1$", fontsize=18)
    plt.ylabel(r"$x_2$", fontsize=18, rotation=0)

plot_decision_boundary函数的说明:

函数设计思路详细说明

  1. 生成网格数据
    1. 使用 np.linspace 生成两个特征的网格数据 x1s x2s
    2. 通过 np.meshgrid 生成网格点的组合 x1 x2
  2. 预测网格点的类别
    1. 将网格点组合成 X_new,并使用分类器 clf 进行预测,得到预测结果 y_pred
    2. y_pred reshape 成与 x1 相同的形状,以便绘制等高线图。
  3. 绘制决策边界
    1. 使用 plt.contourf 绘制填充的决策边界,颜色映射由 custom_cmap 控制。
    2. 可选地使用 plt.contour 绘制边界线,颜色映射由 custom_cmap2 控制。
  4. 绘制数据点
    1. 根据类别 y 绘制数据点,用不同的标记和颜色表示不同的类别。
  5. 设置图形属性
    1. 设置坐标轴范围、标签等。

如何在其他决策树边界绘制问题中使用或修改此函数

  1. 通用性
    1. 该函数是一个通用的模板,适用于任何基于 scikit-learn 的分类器,只要分类器具有 predict 方法,并且数据是二维的。
  2. 适用范围
    1. 适用于二分类问题。如果处理多分类问题,可能需要调整颜色映射和绘图逻辑。
  3. 参数调整
    1. 数据维度:如果数据不是二维的,需要进行降维(例如使用 PCA 或 LDA)或选择两个特征进行绘制。
    2. 分类器兼容性:确保分类器具有 predict 方法,并且能够处理二维输入数据。
    3. 坐标轴范围 (axes):根据数据的特征范围调整 axes 参数,以确保决策边界和数据点在图中可见。
    4. 颜色映射 (custom_cmap custom_cmap2):如果类别数多于两个,可能需要修改颜色映射以适应更多的类别。
  4. 数据点绘制的修改
    1. 如果类别的标签不是 0 和 1,需要修改绘制数据点的部分,以正确区分不同的类别。
  5. 多分类问题的处理
    1. 对于多分类问题,可以修改颜色映射和绘图逻辑,以正确显示多个类别的边界。
  6. 其他修改
    1. 可以根据需要修改 alpha 参数来调整透明度。
    2. 可以通过设置 contour=False 来关闭边界线的绘制。

plt.figure(figsize=(11,4))
plt.subplot(121)
# TODO: 绘制没有任何限制的决策树边界,可以看出模型严重过拟合
plot_decision_boundary(tree_clf, X, y)  
plt.title("Decision Tree", fontsize=14)
plt.subplot(122)
# TODO: 绘制通过装袋集成的决策树边界,可以看出集成后的模型泛化能力明显提升
plot_decision_boundary(bag_clf, X, y)  
plt.title("Decision Trees with Bagging", fontsize=14)
plt.show()

4.总结图中结论

返回的可视化结果比较了两种决策边界,左图是单个决策树,右图是500个决策树组成的bagging集成,均在make_moon数据集上训练完成。可以看出,集成预测的泛化效果比单独的决策树要好;二者偏差相近,但是bagging集成的方差更小(两边训练集上的错误数量差不多,但集成的决策边界更规则。

5.扩展说明

袋外评估 Out-of-Bag(oob)

对于任意给定的预测器,使用bagging,有些实例可能会被采样多次,而有些实例则可能根本不被采样。默认采样m个训练实例,随着m的增长,平均只会对63%的训练实例进行采样

剩下的37%个没有被采样的训练实例就叫做袋外数据Out-of-Bag(oob)实例。注意对于每一个的分类器它们的37%不是相同的。每个学习器可以使用这部分数据来进行评估(原始的是对每个训练子集提取部分作为测试集,或者使用交叉验证),这样可以用来训练每个学习器的训练数据就变多了。从下面的代码也可以看出训练结果变好了。

bag_clf = BaggingClassifier(DecisionTreeClassifier(), n_estimators=500,bootstrap=True, 
                            n_jobs=-1, oob_score=True)
bag_clf.fit(X_train, y_train)

6.算法小结

Bagging 算法的应用场景和知识概念小结

1. Bagging 算法的核心概念

Bagging(Bootstrap Aggregating,自助聚合)是一种集成学习(Ensemble Learning)方法,旨在通过结合多个基学习器的预测结果来提高模型的稳定性和准确性。其核心思想是通过对训练数据进行有放回的随机采样(Bootstrap Sampling),生成多个子数据集,然后分别训练多个基学习器,最后将这些基学习器的预测结果进行聚合(如分类问题中的投票或回归问题中的平均)。

2. Bagging 的关键步骤
  • Bootstrap Sampling:从原始训练集中有放回地随机抽取样本,生成多个子数据集。

  • 基学习器训练:在每个子数据集上独立训练一个基学习器(如决策树、支持向量机等)。

  • 结果聚合:将所有基学习器的预测结果进行聚合(分类问题通常使用投票法,回归问题使用平均法)。

3. Bagging 的优点
  • 降低方差:通过聚合多个模型的预测结果,减少模型的过拟合风险,尤其对高方差模型(如决策树)效果显著。

  • 提高泛化能力:通过引入数据的随机性,增强模型的鲁棒性和泛化能力。

  • 并行化训练:每个基学习器可以独立训练,适合分布式计算。

4. Bagging 的典型算法
  • 随机森林(Random Forest):Bagging 的扩展,不仅对样本进行随机采样,还对特征进行随机选择,进一步增加模型的多样性。

5. Bagging 的应用场景
  • 高方差模型的优化:如决策树、神经网络等容易过拟合的模型。

  • 非平衡数据集:通过 Bootstrap Sampling 可以缓解数据分布不均衡的问题。

  • 大规模数据集:适合分布式计算环境,能够高效处理大规模数据。

  • 分类和回归问题:广泛应用于分类(如信用评分、图像分类)和回归(如房价预测、销量预测)任务。

6. Bagging 的局限性
  • 对低偏差、高方差模型更有效:如果基学习器本身偏差较大,Bagging 的效果可能不明显。

  • 计算成本较高:需要训练多个模型,计算资源和时间开销较大。

  • 解释性较差:由于是多个模型的集成,最终模型的解释性较弱。

7. Bagging 与 Boosting 的区别
  • 样本权重:Bagging 对样本进行随机采样,样本权重相同;Boosting 则根据前一轮模型的错误调整样本权重。

  • 模型关系:Bagging 的基学习器是独立训练的;Boosting 的基学习器是顺序训练的,后一个模型依赖于前一个模型的结果。

  • 目标:Bagging 主要降低方差,Boosting 主要降低偏差。

8. 总结

Bagging 是一种强大的集成学习方法,特别适用于高方差模型的优化和非平衡数据集的处理。通过引入数据的随机性和模型的多样性,Bagging 能够显著提高模型的稳定性和泛化能力。其典型应用包括随机森林等算法,广泛应用于分类、回归以及大规模数据集的建模任务。

相关文章:

集成学习算法

目录 1.必要的导入 2.Bagging集成 3.基于matplotlib写一个函数对决策边界做可视化 4.总结图中结论 5.扩展说明 1.必要的导入 # To support both python 2 and python 3 from __future__ import division, print_function, unicode_literals# Common imports import numpy as np…...

vue3之pinia学习

最近查看了pinia这个状态管理管理&#xff0c;想跟大家一起学习下&#xff0c;下面是我的个人理解&#xff0c;希望对大家有帮助&#xff0c;我们开始吧&#xff01; 第一步&#xff1a;安装pinia npm install pinia 第二步&#xff1a;创建pinia <script setup langts&…...

Flink (七): DataStream API (四) Watermarks

1. Event Time and Processing Time 1. 1 处理时间&#xff08;Processing time&#xff09; 处理时间是指执行相应操作的机器的系统时间。当流处理程序基于处理时间运行时&#xff0c;所有基于时间的操作&#xff08;如时间窗口&#xff09;将使用执行相应算子的机器的系统时…...

卷积神经05-GAN对抗神经网络

卷积神经05-GAN对抗神经网络 使用Python3.9CUDA11.8Pytorch实现一个CNN优化版的对抗神经网络 简单的GAN图片生成 CNN优化后的图片生成 优化模型代码对比 0-核心逻辑脉络 1&#xff09;Anacanda使用CUDAPytorch2&#xff09;使用本地MNIST进行手写图片训练3&#xff09;…...

【原创】大数据治理入门(2)《提升数据质量:质量评估与改进策略》入门必看 高赞实用

提升数据质量&#xff1a;质量评估与改进策略 引言&#xff1a;数据质量的概念 在大数据时代&#xff0c;数据的质量直接影响到数据分析的准确性和可靠性。数据质量是指数据在多大程度上能够满足其预定用途&#xff0c;确保数据的准确性、完整性、一致性和及时性是数据质量的…...

GLM: General Language Model Pretraining with Autoregressive Blank Infilling论文解读

论文地址&#xff1a;https://arxiv.org/abs/2103.10360 参考&#xff1a;https://zhuanlan.zhihu.com/p/532851481 GLM混合了自注意力和masked注意力&#xff0c;而且使用了2D位置编码。第一维的含义是在PartA中的位置&#xff0c;如5 5 5。第二维的含义是在Span内部的位置&a…...

总结SpringBoot项目中读取resource目录下的文件多种方法

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目…...

云原生第四次作业

下载 [rootopenEuler-1 ~]# wget https://archive.apache.org/dist/httpd/httpd-2.4.46.tar.gz 压缩 配置实验环境 [rootopenEuler-1 httpd-2.4.46]# yum -y install apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-d…...

day10_Structured Steaming

文章目录 Structured Steaming一、结构化流介绍&#xff08;了解&#xff09;1、有界和无界数据2、基本介绍3、使用三大步骤(掌握)4.回顾sparkSQL的词频统计案例 二、结构化流的编程模型&#xff08;掌握&#xff09;1、数据结构2、读取数据源2.1 File Source2.2 Socket Source…...

设计模式-工厂模式/抽象工厂模式

工厂模式 定义 定义一个创建对象的接口&#xff0c;让子类决定实列化哪一个类&#xff0c;工厂模式使一个类的实例化延迟到其子类&#xff1b; 工厂方法模式是简单工厂模式的延伸。在工厂方法模式中&#xff0c;核心工厂类不在负责产品的创建&#xff0c;而是将具体的创建工作…...

【算法学习】——整数划分问题详解(动态规划)

&#x1f9ee;整数划分问题是一个较为常见的算法题&#xff0c;很多问题从整数划分这里出发&#xff0c;进行包装&#xff0c;形成新的题目&#xff0c;所以完全理解整数划分的解决思路对于之后的进一步学习算法是很有帮助的。 「整数划分」通常使用「动态规划」解决&#xff0…...

【新教程】Ubuntu 24.04 单节点安装slurm

背景 网上教程老旧&#xff0c;不适用。 详细步骤 1、安装slurm sudo apt install slurm-wlm slurm-wlm-doc -y检查是否安装成功&#xff1a; slurmd --version如果得到slurm-wlm 23.11.4&#xff0c;表明安装成功。 2、配置slurm。 使用命令&#xff1a; sudo vi /etc/s…...

window下用vim

Windows 默认不支持 vim 命令&#xff0c;需要手动安装后才能使用。以下是解决方案&#xff1a; 1. 安装 Vim 编辑器 方法 1&#xff1a;通过 Scoop 或 Chocolatey 安装 使用 Scoop&#xff1a; 安装 Scoop&#xff08;如果尚未安装&#xff09;&#xff1a;iwr -useb get.sco…...

citrix netscaler13.1 重写负载均衡响应头(基础版)

在 Citrix NetScaler 13.1 中&#xff0c;Rewrite Actions 用于对负载均衡响应进行修改&#xff0c;包括替换、删除和插入 HTTP 响应头。这些操作可以通过自定义策略来完成&#xff0c;帮助你根据需求调整请求内容。以下是三种常见的操作&#xff1a; 1. Replace (替换响应头)…...

使用PWM生成模式驱动BLDC三相无刷直流电机

引言 在 TI 的无刷直流 (BLDC) DRV8x 产品系列使用的栅极驱动器应用中&#xff0c;通常使用一些控制模式来切换MOSFET 开关的输出栅极。这些控制模式包括&#xff1a;1x、3x、6x 和独立脉宽调制 (PWM) 模式。   不过&#xff0c;DRV8x 产品系列&#xff08;例如 DRV8311&…...

常见的php框架有哪几个?

一直以来&#xff0c;PHP作为一种广泛使用的编程语言&#xff0c;拥有着许多优秀的框架来帮助开发人员快速构建稳定的Web应用程序。本文降为大家介绍几种常见的PHP的主流框架&#xff0c;以及它们相关的特点和使用场景。如有问题&#xff0c;欢迎指正&#xff01; 1.Laravel&a…...

机器学习(2):线性回归Python实现

1 概念回顾 1.1 模型假设 线性回归模型假设因变量y yy与自变量x xx之间的关系可以用以下线性方程表示&#xff1a; y β 0 β 1 ⋅ X 1 β 2 ⋅ X 2 … β n ⋅ X n ε y 是因变量 (待预测值)&#xff1b;X1, X2, ... Xn 是自变量&#xff08;特征&#xff09;β0, β1,…...

Unity-Mirror网络框架-从入门到精通之RigidbodyPhysics示例

文章目录 前言示例一、球体的基础配置二、三个球体的设置差异三、示例意图LatencySimulation前言 在现代游戏开发中,网络功能日益成为提升游戏体验的关键组成部分。本系列文章将为读者提供对Mirror网络框架的深入了解,涵盖从基础到高级的多个主题。Mirror是一个用于Unity的开…...

【Unity-Animator】通过 StateMachineBehaviour 实现回调

StateMachineBehaviour 简介 StateMachineBehaviour是一个基类&#xff0c;所有状态脚本都派生自该类。它可以在状态机进入、退出或更新状态时执行代码&#xff0c;而无需编写自己的逻辑来测试和检测状态的变化。这使得开发者可以更方便地处理状态转换时的逻辑&#xff0c;例…...

并行服务、远程SSH无法下载conda,报错404

原下载代码无效&#xff0c;报错404 wget -c https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh 使用下面代码下载 wget --user-agent"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12…...

cuquantum 简介

1. 关于 cuquantum 概述 官方文档&#xff1a; https://docs.nvidia.com/cuda/cuquantum/latest/appliance/overview.html#prerequisites NVIDIA 的 cuQuantum 是一个专门用于量子计算的高性能库&#xff0c;旨在加速量子电路的模拟和量子算法的执行。cuQuantum 提供了一系列…...

小程序如何引入腾讯位置服务

小程序如何引入腾讯位置服务 1.添加服务 登录 微信公众平台 注意&#xff1a;小程序要企业版的 第三方服务 -> 服务 -> 开发者资源 -> 开通腾讯位置服务 在设置 -> 第三方设置 中可以看到开通的服务&#xff0c;如果没有就在插件管理中添加插件 2.腾讯位置服务…...

【react】使用antd Table渲染数据遇到的报错问题

记录自己在开发过程中遇到的报错问题&#xff1a; 目录 原本写法&#xff1a;错误分析&#xff1a;解决方案&#xff1a; 原本写法&#xff1a; render: (text) > {console.log(text, "111111text");console.log(typeof text, "111111text");return t…...

55_OpenResty开发入门

Nginx编程需要用到Lua语言,因此我们必须先学习Lua的基本语法。Nginx本身也是C语言开发,因此也允许基于Lua做拓展。多级缓存的实现离不开Nginx编程,而Nginx编程又离不开OpenResty。 1.OpenResty概述 OpenResty是一款基于NGINX和LuaJIT的Web平台。通过Lua扩展NGINX实现的可伸…...

(即插即用模块-Attention部分) 四十四、(ICIP 2022) HWA 半小波注意力

文章目录 1、Half Wavelet Attention2、代码实现 paper&#xff1a;HALFWAVELET ATTENTION ON M-NET FOR LOW-LIGHT IMAGE ENHANCEMENT Code&#xff1a;https://github.com/FanChiMao/HWMNet 1、Half Wavelet Attention 传统的图像增强方法主要关注图像在空间域的特征信息&am…...

链家房价数据爬虫和机器学习数据可视化预测

完整源码项目包获取→点击文章末尾名片&#xff01;...

全网首发:编译libssh,产生类似undefined reference to `EVP_aes_256_ctr@OPENSSL_1_1_0‘的大量错误

具体错误 前面和后面的&#xff1a; /opt/linux/x86-arm/aarch64-mix210-linux/host_bin/../lib/gcc/aarch64-linux-gnu/7.3.0/../../../../aarch64-linux-gnu/bin/ld: warning: libcrypto.so.1.1, needed by ../lib/libssh.so.4.10.1, not found (try using -rpath or -rpat…...

springboot 集成javaFx 两个面板之间如何进行跳转

1.创建两个面板 可参考博主的 java8 springboot 集成javaFx 实现一个客户端程序 文章来实现 2.完善代码 以下是博主创建的两个模板 博主在这里实现的是登录跳转功能,注意:这里登录按钮的触发实现方式做了以下小小的改动,也可根据自己的习惯来处理 相较第一篇文章,博主在Lo…...

vue-cli项目配置使用unocss

在了解使用了Unocss后&#xff0c;就完全被它迷住了。接手过的所有项目都配置使用了它&#xff0c;包括一些旧项目&#xff0c;也跟同事分享了使用Unocss的便捷性。 这里分享一下旧项目如何配置和使用Unocss的&#xff0c;项目是vue2vue-cli构建的&#xff0c;node<20平常开…...

ASP.NET Core - IStartupFilter 与 IHostingStartup

ASP.NET Core - IStartupFilter 与 IHostingStartup 1. IStartupFilter2 IHostingStartup2.5.1 创建外部程序集2.5.2 激活外部程序集 1. IStartupFilter 上面讲到的方式虽然能够根据不同环境将Startup中的启动逻辑进行分离&#xff0c;但是有些时候我们还会可以根据应用中的功能…...

学习ASP.NET Core的身份认证(基于JwtBearer的身份认证5)

用户在前端页面登录成功后会从服务端获取Token&#xff0c;后续调用服务器的服务接口时都得带着Token&#xff0c;否则就会验证失败。之前使用postman测试的时候&#xff0c;获取Token后再调用其它服务都是人工将Token添加到Header中&#xff0c;网页中没法这么做&#xff0c;只…...

【Vue】let、const、var的区别、适用场景

let、const、var&#xff0c;有哪些区别&#xff0c;适用场景 var 特点&#xff1a; var 是 JavaScript 中最传统的变量声明方式。具有函数作用域&#xff0c;即在函数内声明的 var 变量&#xff0c;在整个函数内都可以访问。变量提升&#xff1a;使用 var 声明的变量会被提升…...

【llama_factory】qwen2_vl训练与批量推理

训练llama factory配置文件 文件&#xff1a;examples/train_lora/qwen2vl_lora_sft.yaml ### model model_name_or_path: qwen2_vl/model_72b trust_remote_code: true### method stage: sft do_train: true finetuning_type: lora lora_target: all### dataset dataset: ca…...

计算机视觉与深度学习:使用深度学习训练基于视觉的车辆检测器(MATLAB源码-Faster R-CNN)

在人工智能领域,计算机视觉是一个重要且充满活力的研究方向。它使计算机能够理解和分析图像和视频数据,从而做出有意义的决策。其中,目标检测是计算机视觉中的一项关键技术,它旨在识别并定位图像中的多个目标对象。车辆检测作为目标检测的一个重要应用,在自动驾驶、智能交…...

Python 扫描枪读取发票数据导入Excel

财务需要一个扫描枪扫描发票文件&#xff0c;并将主要信息录入Excel 的功能。 文件中sheet表的列名称&#xff0c;依次为&#xff1a;发票编号、发票编码、日期、金额、工号、扫描日期。 扫描的时候&#xff0c;Excel 文件需要关闭&#xff0c;否则会报错。 import openpyxl …...

SpringMVC复习笔记

文章目录 SpringMVC 概念和基本使用SpringMVC 简介SpringMVC 核心组件和调用流程SpringMVC 基本使用第一步&#xff1a;导入依赖第二步&#xff1a;Controller 层开发第三步&#xff1a;SpringMVC 配置类配置核心组件第四步&#xff1a;SpringMVC 环境搭建第五步&#xff1a;部…...

arcgis提取不规则栅格数据的矢量边界

效果 1、准备数据 栅格数据:dem或者dsm 2、栅格重分类 分成两类即可 3、新建线面图层 在目录下选择预先准备好的文件夹,点击右键,选择“新建”→“Shapefile”,新建一个Shapefile文件。 在弹出的“新建Shapefile”对话框内“名称”命名为“折线”,“要素类型”选…...

【机器学习】零售行业的智慧升级:机器学习驱动的精准营销与库存管理

我的个人主页 我的领域&#xff1a;人工智能篇&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01;&#x1f44d;点赞 收藏❤ 在当今数字化浪潮汹涌澎湃的时代&#xff0c;零售行业正站在转型升级的十字路口。市场竞争的白热化使得企业必须另辟蹊径&#xff0…...

链路追踪SkyWalking

链路追踪 链路追踪作用链路追踪的关键概念链路追踪的工作原理常用链路追踪工具链路追踪的实现步骤链路追踪的典型场景 SkyWalkingSkyWalking 的主要功能SkyWalking 的架构安装 SkyWalking从 SkyWalking 的官方 GitHub 仓库 下载最新版本。配置后端存储SkyWalking使用&#xff0…...

linux下的线程

一、pthread 线程 线程可以说是轻量级的进程&#xff0c;一般是一个进程中的多个任务。 进程&#xff1a;系统中的最小资源分配单元 线程:系统中最小执行单元 二、线程的特征 1、共享资源 2、效率高30% 3.使用第三方库&#xff08;头文件加pthread.h 编译时添加 -lpthre…...

《研发管理 APQP 软件系统》——汽车电子行业的应用收益分析

全星研发管理 APQP 软件系统在汽车电子行业的应用收益分析 在汽车电子行业&#xff0c;技术革新迅猛&#xff0c;市场竞争激烈。《全星研发管理 APQP 软件系统》的应用&#xff0c;为企业带来了革命性的变化&#xff0c;诸多收益使其成为行业发展的关键驱动力。 《全星研发管理…...

mysql、oracle、sqlserver的区别

一、保存数据的持久性&#xff1a; MySQL&#xff1a;是在数据库更新或者重启&#xff0c;则会丢失数据。 Oracle&#xff1a;把提交的sql操作线写入了在线联机日志文件中&#xff0c;保持到了磁盘上&#xff0c;可以随时恢复。 SqlServer&#xff1a;2…...

CV(10)--目标检测

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 目标检测 object detection&#xff0c;就是在给定的图片中精确找到物体所在位置&#xff0c;并标注出物体的类别;输出的是分类类别label物体的外框&#xff08;x, y, width, height&#xff09;。 目标检测算法&#xff1a…...

SQL LAST()

SQL中的LAST()函数是一个用于返回指定列中最后一个记录值的函数。然而&#xff0c;需要注意的是&#xff0c;这个函数并不是SQL标准的一部分&#xff0c;因此并不是所有数据库系统都支持它。具体来说&#xff0c;只有MS Access直接支持LAST()函数【0†source】。 在其他数据库…...

传统以太网问题与VLAN技术详解

传统以太网的问题 广播域&#xff1a;在网络中能接收同一广播信息的所有设备&#xff08;计算机、交换机&#xff09;等的集合 说明&#xff1a;在一个广播域内&#xff0c;当一个设备发送广播帧时&#xff0c;该域内的所有设备都能接收到这个广播帧。工作原理&#xff1a;在以…...

Java 面试题 - ArrayList 和 LinkedList 的区别,哪个集合是线程安全的?

Java 面试题 - ArrayList 和 LinkedList 的区别&#xff0c;哪个集合是线程安全的&#xff1f; 在 Java 开发中&#xff0c;ArrayList和LinkedList是两个常用的集合类&#xff0c;它们在数据结构和性能上有诸多不同&#xff0c;同时线程安全性也各有特点。深入理解这些差异&am…...

flutter 安卓端打包

在 Flutter 中打包 Android 应用程序是一个相对简单的过程。你可以使用 Flutter 的命令行工具来构建并打包你的 APK 或 AAB(Android App Bundle)。以下是打包 Flutter Android 应用的步骤: 1. 安装 Flutter 环境 确保你已经安装了 Flutter SDK,并且正确配置了 Android 开…...

前端开发:CSS背景属性

1.背景颜色 background-color: [ 指定颜色 ] background-color :blue&#xff1b; background-color : transparent //设置背景是透明的 2.背景图片 background-image : url ( ... ) 1. url 不要遗漏 . 2. url 可以是绝对路径 , 也可以是相对路径 3. url 上可以…...

【Python通过UDP协议传输视频数据】(界面识别)

提示&#xff1a;界面识别项目 前言 随着网络通信技术的发展&#xff0c;视频数据的实时传输在各种场景中得到了广泛应用。UDP&#xff08;User Datagram Protocol&#xff09;作为一种无连接的协议&#xff0c;凭借其低延迟、高效率的特性&#xff0c;在实时性要求较高的视频…...

centos 8 中安装Docker

注&#xff1a;本次样式安装使用的是centos8 操作系统。 1、镜像下载 具体的镜像下载地址各位可以去官网下载&#xff0c;选择适合你们的下载即可&#xff01; 1、CentOS官方下载地址&#xff1a;https://vault.centos.org/ 2、阿里云开源镜像站下载&#xff1a;centos安装包…...