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

机器学习(5)无监督模型之降维PCA算法

主成分分析(Principal Component Analysis, PCA) 是一种经典的无监督学习算法,主要用于数据降维、特征提取和数据可视化。它通过线性变换将数据从原始空间映射到一个新的空间,使得数据的方差最大化,从而实现降维。PCA 可以有效减少数据的维度,同时保留数据中的大部分信息。

PCA 算法详解

1. PCA的目标

PCA 的核心目标是将数据从一个高维空间映射到一个低维空间,并尽量保留数据中的变异性(信息)换句话说,PCA 寻找数据中最重要的方向(主成分),以便用最少的维度表达数据的主要信息。

2. PCA的核心思想
  • 最大化方差:PCA 通过计算数据的方差来评估数据在不同方向上的分布情况。主成分是数据变异性(或方差)最大的方向。
  • 线性变换:PCA 通过线性变换将数据从原始的特征空间转换到新的特征空间,使得数据在新的空间中的方差最大化。新空间的每一个轴(即主成分)都是数据中最重要的方向。

PCA的主要任务是: 找到数据的主成分,并按方差的大小顺序对它们进行排序

这些标红的很重要

3. PCA的步骤

步骤1:数据标准化 PCA 是基于数据方差的,因此我们首先需要对数据进行标准化(归一化)。因为不同特征的量纲不同,若不进行标准化,某些具有大数值范围的特征可能会主导计算结果。

步骤2:计算协方差矩阵 协方差矩阵反映了不同特征之间的相关性。它是一个 n×n 的矩阵,其中 n 是特征的数量,矩阵中的每个元素代表了两个特征之间的协方差。

步骤4:排序特征值和特征向量 根据特征值的大小对特征向量进行排序。特征值大的对应着数据变化最大的方向,这些方向可以保留数据中的重要信息。

4. PCA的数学原理

PCA 的核心就是对数据进行正交变换,将数据从原始空间变换到新的空间,使得新空间的各个维度之间相互独立(即正交),而且这些新的维度(主成分)按照数据的方差从大到小排序。

这意味着:

  • 第一主成分(PC1)是数据方差最大的方向。
  • 第二主成分(PC2)是与第一主成分正交且方差次大的方向。
  • 以此类推,直到所有主成分。

5. PCA的优缺点

优点:

  • 降维:PCA 是一种强大的降维工具,能够有效减少数据的维度,并保留数据的大部分信息。
  • 数据可视化:通过将数据降到二维或三维,PCA 能够使数据可视化,帮助发现数据中的潜在模式。
  • 去噪:PCA 可以去掉那些低方差的特征,从而去除数据中的噪声。

缺点:

  • 线性假设:PCA 仅适用于线性数据结构,对于非线性数据,PCA 的效果可能不理想。
  • 难以解释:主成分往往是原始特征的线性组合,可能很难解释这些主成分的实际意义。
  • 数据标准化要求:PCA 对数据的标准化非常敏感,因此在应用 PCA 前需要对数据进行合适的预处理。

6. PCA的应用场景

PCA 适用于很多领域,常见的应用场景包括:

  • 图像压缩:PCA 可用于图像的降维和压缩,通过保留最重要的主成分,可以大幅度减少存储空间。
  • 数据可视化:PCA 可用于将高维数据降至二维或三维,以便进行可视化,帮助分析数据的分布和模式。
  • 特征选择:PCA 可以去除数据中的冗余信息,保留最重要的特征,减少模型的复杂度,提升训练速度。
  • 噪声去除:通过将数据映射到低维空间,PCA 可以去掉那些含有噪声的低方差维度。

PCA 算法经典例题

为了帮助理解 PCA 的应用,下面我们通过一个经典的降维例子来详细讲解 PCA 的步骤。

问题描述

假设我们有一个包含 5 个样本和 3 个特征的数据集,我们希望将其从 3 维降到 2 维。我们使用 PCA 来找到最能表达数据变异性的主成分,并将数据投影到这两个主成分上。

原始数据

假设我们的数据集 X 如下(每行代表一个样本,每列代表一个特征):

样本特征1特征2特征3
1234
2456
3578
4789
58910

我们希望将其降维到 2 个维度。

步骤 1:数据标准化

PCA 对数据的标准化非常敏感。为了避免不同特征的量纲对计算结果产生影响,我们需要先对数据进行标准化。标准化的目的是使每个特征的均值为 0,方差为 1。

首先计算每个特征的均值和标准差,然后进行标准化:

标准化后的数据如下:

样本特征1(标准化)特征2(标准化)特征3(标准化)
1-1.29-1.29-1.29
2-0.49-0.49-0.49
3-0.090.310.31
40.731.111.11
51.141.501.50

步骤 2:计算协方差矩阵

步骤 5:数据投影

现在我们可以将原始标准化数据投影到这两个主成分上。投影的公式为:

Xnew=Xnorm⋅W2

得到降维后的数据:

样本主成分1(PC1)主成分2(PC2)
1-2.240.00
2-0.890.00
3-0.290.00
41.470.00
52.940.00

步骤 6:结果分析

通过PCA,我们成功地将原始的 3 维数据降到了 2 维。在这个降维后的空间中,主成分 1 (PC1) 捕获了数据的大部分方差。虽然主成分 2 的方差非常小,但它仍然提供了额外的信息。

可视化

降维后的数据可以用于可视化,在 2D 平面上表示,可以帮助我们更好地理解数据的分布。

总结:

这个例子展示了如何应用 PCA 来从一个 3 维数据集降维到 2 维。关键步骤包括:

  1. 数据标准化。
  2. 计算协方差矩阵。
  3. 计算特征值和特征向量。
  4. 按特征值选择主成分。
  5. 投影到新的主成分空间。

PCA 的核心是将数据投影到方差最大的方向上,从而实现降维,同时尽量保留原数据中的信息。在实际应用中,PCA 常用于图像压缩、数据可视化、去噪和特征选择等任务。

有几个特征就是有几维

PCA 降维例题

问题描述

假设我们有一个包含 6 个样本和 4 个特征的数据集,我们希望将其从 4 维降到 2 维。我们将使用 PCA 来找出最能表达数据变异性的主成分,并将数据投影到这两个主成分上。

原始数据

假设我们的数据集 X如下(每行代表一个样本,每列代表一个特征):

样本特征1 (X1)特征2 (X2)特征3 (X3)特征4 (X4)
12335
24748
36659
4810712
51015814
61220915

我们希望使用 PCA 将数据降维到 2 维,以便更容易进行可视化和分析。

步骤 1:数据标准化

PCA 对数据标准化非常敏感。在进行 PCA 之前,我们需要对每个特征进行标准化(即让每个特征的均值为 0,方差为 1)。假设我们已经计算出了每个特征的均值和标准差,并进行了标准化。标准化后的数据集 Xnorm​ 如下:

样本特征1(标准化)特征2(标准化)特征3(标准化)特征4(标准化)
1-1.47-1.47-1.47-1.47
2-0.82-0.82-1.23-1.23
3-0.18-0.18-0.98-0.98
40.470.47-0.23-0.23
51.111.110.020.02
61.961.960.700.70

步骤 2:计算协方差矩阵

计算标准化后的数据的协方差矩阵。协方差矩阵反映了不同特征之间的关系。协方差矩阵的计算公式为:

步骤 3:计算协方差矩阵的特征值和特征向量

接下来,计算协方差矩阵的特征值和特征向量。特征值表示了每个主成分的方差大小,而特征向量则表示了主成分的方向。

假设计算得到的特征值和特征向量如下:

步骤 4:选择主成分

根据特征值的大小,选择前两个主成分。因为我们希望将数据降到 2 维,因此我们选择特征值最大的前两个主成分,即:

  • 第一主成分(PC1): λ1=3.53\
  • 第二主成分(PC2): λ2=0.78

得到的降维后的数据如下:

样本主成分1(PC1)主成分2(PC2)
1-2.740.12
2-1.490.08
3-0.530.14
40.47-0.16
51.09-0.07
61.80-0.11

步骤 6:结果分析

通过 PCA,我们将原始的 4 维数据集成功降到 2 维。在降维后的数据中,第一主成分(PC1)捕获了数据的大部分变异性。第二主成分(PC2)捕获了剩余的变异性,但相对于 PC1 来说,其方差较小。

降维后的数据可以进行可视化,帮助我们更直观地理解数据的结构和分布。比如,我们可以将数据点绘制在二维平面上,根据主成分1和主成分2的位置来观察样本的分布。

总结:

  • PCA 可以有效地将高维数据降维,从而减少冗余信息并保留数据中的重要特征。
  • 在这个例子中,我们将一个 4 维数据集降维到 2 维,保留了最重要的两个主成分,成功地简化了数据。
  • PCA 的关键步骤包括数据标准化、计算协方差矩阵、特征值分解、选择主成分和投影数据。

m 代表的是样本的数量,即数据集中的样本数。

相关文章:

机器学习(5)无监督模型之降维PCA算法

主成分分析(Principal Component Analysis, PCA) 是一种经典的无监督学习算法,主要用于数据降维、特征提取和数据可视化。它通过线性变换将数据从原始空间映射到一个新的空间,使得数据的方差最大化,从而实现降维。PCA …...

React 组件中 State 的定义、使用及正确更新方式

​🌈个人主页:前端青山 🔥系列专栏:React篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来React篇专栏内容React 组件中 State 的定义、使用及正确更新方式 前言 在 React 应用开发中,state …...

18 设计模式之迭代器模式(书籍遍历案例)

一、什么是迭代器模式 迭代器模式(Iterator Pattern)是一种行为型设计模式,允许客户端通过统一的接口顺序访问一个集合对象中的元素,而无需暴露集合对象的内部实现。这个模式主要用于访问聚合对象(如集合、数组等&…...

Springboot3介绍

一、Springboot3简介: https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html?spmwolai.workspace.0.0.68b62306Q6jtTw#getting-started.introducing-spring-boot 无论使用XML、注解、Java配置类还是他们的混合用法,配置文件过于…...

【Leetcode Top 100】23. 合并 K 个升序链表

问题背景 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 数据约束 k l i s t s . l e n g t h k lists.length klists.length 0 ≤ k ≤ 1 0 4 0 \le k \le 10^4 0≤k≤104 0 ≤ l i s t s […...

显存和GPU之间的通信;GPUDirect P2P,NVLink,NCCL;聚合通信和点对点通信

目录 显存和GPU之间的分配 显存和GPU之间的通信 原语是什么,简单举例说明 GPUDirect P2P,NVLink,NCCL的全称及解释 聚合通信和点对点通信 聚合通信(Collective Communication) 点对点通信(Point-to-Point Communication) 为什么使用GPUDirect P2P,NVLink,NCCL…...

2412d,d的7月会议

原文 总结 卡斯滕 Carsten说,Decard一直在大量试验WebAssembly.他们一直在把d运行时挖出来,直到它工作.他们在浏览器中运行了一些库函数,并试了不同虚机. 他们在移动方面遇见了很多问题,因为不同芯片按不同方式工作.他们想让他们的整个SDK在WASM上运行,但可能需要一年时间才…...

vue框架

以下是一个简单的基于Vue框架的日历组件示例&#xff1a; <template><div class"calendar"><div class"header"><button click"prevMonth"><</button><h2>{{ currentMonth }}</h2><button cli…...

Django drf基于APIView 快速使用

1. 注册 # settings.pyINSTALLED_APPS [,rest_framework, ]2. 路由 from django.urls import pathurlpatterns [path(task/, views.TaskAPIView.as_view()) ]3. 视图 from rest_framework.views import APIView from rest_framework.response import Responseclass TaskAPIV…...

git commit -m “Add user login feature“

当然&#xff0c;这条命令是 Git 中用来提交更改的基本命令&#xff0c;其中包含了一些注释来解释命令的各个部分。下面是对这条命令的详细解释&#xff1a; git commit -m "-m指的是message&#xff0c;git要求每次提交都需要写一下日志"git commit&#xff1a; 这…...

mac: docker : Command not found解决

描述: 安装docker但是docker命令显示Command not found 分析: mac没有配置对应的环境变量 解决方案: 打开配置文件: vim ~/.zshrc写docker环境变量: export PATH"/Applications/Docker.app/Contents/Resources/bin:$PATH"保存退出: esc,输入wq,按enter 配置文…...

深入解析 HTML Input 元素:构建交互性表单的核心

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

Docker--Docker Registry(镜像仓库)

什么是Docker Registry&#xff1f; 镜像仓库&#xff08;Docker Registry&#xff09;是Docker生态系统中用于存储、管理和分发Docker镜像的关键组件。 镜像仓库主要负责存储Docker镜像&#xff0c;这些镜像包含了应用程序及其相关的依赖项和配置&#xff0c;是构建和运行Doc…...

Linux 统信UOS 设置程序“桌面快捷方式”与“开机自启动”

最近在统信uos系统 arm64架构上进行QT程序的开发&#xff0c;基本开发完毕后&#xff0c;开始着手准备程序的开机自启动模块&#xff0c;因为一般来说&#xff0c;程序在客户现场使用都是需要开机自启的。 然后在百度海淘&#xff0c;很少有这类相关的博客介绍&#xff0c;有一…...

React开发高级篇 - React Hooks以及自定义Hooks实现思路

Hooks介绍 Hooks是react16.8以后新增的钩子API&#xff1b; 目的&#xff1a;增加代码的可复用性&#xff0c;逻辑性&#xff0c;弥补无状态组件没有生命周期&#xff0c;没有数据管理状态state的缺陷。 为什么要使用Hooks&#xff1f; 开发友好&#xff0c;可扩展性强&#…...

shell条件测试

一.命令执行结果判定 && 在命令执行后如果没有任何报错时会执行符号后面的动作 || 在命令执行后如果命令有报错会执行符号后的动作 示例&#xff1a; [rootqingdeng shell3]# sh sl.sh /mnt/file is not exist no二.条件判断方法 在 shell 程序中&#xff0c;用户可…...

嵌入式蓝桥杯学习5 定时中断实现按键

Cubemx配置 打开cubemx。 前面的配置与前文一样&#xff0c;这里主要配置基本定时器的定时功能。 1.在Timer中点击TIM6&#xff0c;勾选activated。配置Parameter Settings中的预分频器&#xff08;PSC&#xff09;和计数器&#xff08;auto-reload Register&#xff09; 补…...

Linux下进程地址空间

文章目录 1. 进程地址空间分布2. 为什么要有进程地址空间一、主要功能二、重要特性三、应用场景四、与TLB的交互 3. 进程具有独立性 以x86(32位)为例子 1. 进程地址空间分布 进程地址空间&#xff0c;本质是一个描述进程可视范围的大小。 地址空间本质是一个内核数据结构,类似…...

基于SpringBoot的养老院管理系统的设计与实现

一、前言 随着人口老龄化的加剧&#xff0c;养老院作为老年人养老的重要场所&#xff0c;其管理的高效性和科学性显得尤为重要。传统的养老院管理方式多依赖人工操作&#xff0c;存在信息记录不及时、不准确&#xff0c;管理流程繁琐&#xff0c;资源调配困难等问题。利用信息技…...

GA-Kmeans-Transformer-GRU时序聚类+状态识别组合模型,创新发文无忧!

GA-Kmeans-Transformer-GRU时序聚类状态识别组合模型&#xff0c;创新发文无忧&#xff01; 目录 GA-Kmeans-Transformer-GRU时序聚类状态识别组合模型&#xff0c;创新发文无忧&#xff01;效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.GA-Kmeans-Transformer-GRU时…...

Hadoop单机搭建手册

hadoop搭建安装指导手册&#xff0c;包含hadoop-3.1.1、hive-3.1.0、zookeeper-3.4.6、hbase-2.3.0、spark-3.3.0等组件版本。文档详细21页&#xff0c;附带所有软件包。笔者发现很多人对于如何快速高效的单机搭建不太清楚&#xff0c;所以笔者整理了这个文档&#xff0c;希望可…...

【射频IC进阶实践教程】2.6 LNA版图设计及DRC/LVS验证

射频集成电路的版图设计非常关键&#xff0c;他对寄生参数非常敏感&#xff0c;需要使其最小化。还需要注意相互耦合的方式本次课程主要介绍射频IC的一些相关布局和连线方面的考虑。 一、版图设计 1. 版图的元件布局 首先打开对应的原理图 点击进行版图设计 由于已经有做好的…...

mac下载安装jdk

背景 长时间不折腾mac全部忘记 特此记录 安装 1.下载jdk 根据需要下载对应的jdk 我直接 下载到/Applicatiions目录 https://www.oracle.com/java/technologies/downloads/#java8-mac 2.解压 cd /Applicatiions tar -zxvf jdk-8u431-macosx-x64.tar.gz 3.配置环境 …...

【uniapp】swiper切换时,v-for重新渲染页面导致文字在视觉上的拉扯问题

问题描述 先用v-for渲染了几个列表&#xff0c;但这几个列表是占同一个位置的&#xff0c;只是通过切换swiper来显示哪个列表显示&#xff0c;也就是为了优化页面切换时候&#xff0c;没有根据swiper的current再更新v-for的数据&#xff0c;但现在就有个问题&#xff0c;怎么隐…...

shell自动显示当前git的branch

效果简介&#xff1a; 1. 如果没在git仓库&#xff0c;显示无变化 2. 如果在git仓库&#xff0c;显示当前分支 实现方法&#xff1a; 在~/.bashrc 里添加&#xff1a; function git_branch { test -d .git && branch"git branch | grep "^\*" | sed…...

使用 Acme.sh 自动生成和续签免费 SSL 证书(含通配符支持)

Acme.sh 是一个开源的脚本&#xff0c;能够从 ZeroSSL、Let’s Encrypt 等证书颁发机构&#xff08;CA&#xff09;获取免费的 HTTPS 证书。该脚本特别简单易用&#xff0c;并且支持多种验证方式。下面将详细介绍使用 Acme.sh 生成、安装和更新证书的各个步骤。 Github地址 使用…...

【JAVA】Java高级:Spring框架与Java EE—Web开发基础(Servlet、JSP)

Java作为一种广泛使用的编程语言&#xff0c;提供了强大的Web开发框架和技术&#xff0c;其中Servlet和JSP&#xff08;JavaServer Pages&#xff09;是构建动态Web应用的基础。了解这些技术对于任何想要深入Java Web开发的程序员来说都是必不可少的。 一、Web开发的重要性 动…...

pytorch生成对抗网络

# 生成对抗网络 import os import torch import torchvision import torch.nn as nn from torchvision import transforms from torchvision.utils import save_image # Device configuration device torch.device(cuda if torch.cuda.is_available() else cpu) # 超参数 late…...

flask简易版的后端服务创建接口(python)

1.pip install安装Flask和CORS 2.创建http_server.py文件,内容如下 """ ============================ 简易版的后端服务 ============================ """ from flask import Flask, request, jsonify from flask_cors import CORS app = F…...

gitlab 生成并设置 ssh key

一、介绍 &#x1f3af; 本文主要介绍 SSH Key 的生成方法&#xff0c;以及如何在GitLab上添加SSH Key。GitLab 使用SSH协议与Git 进行安全通信。当您使用 SSH密钥 对 GitLab远程服务器进行身份验证时&#xff0c;您不需要每次都提供您的用户名和密码。SSH使用两个密钥&#x…...

ssh远程升级Ubuntu20.04到Ubuntu 22.04

ssh远程升级Ubuntu20.04到Ubuntu 22.04 陈拓 2024/10/16-2024/10/26 1. 简介 本文介绍了如何通过ssh将Ubuntu系统从20.04升级到22.04。 在进行系统升级之前&#xff0c;建议备份重要数据&#xff0c;以防升级过程中出现问题。 2. 更新当前系统 硬件系统架构 当前操作系统版…...

Qt开源控件:图像查看器工具V1.1

一、项目概述 本项目是一款基于 Qt 框架 开发的 图像查看工具&#xff0c;可以显示带坐标轴的图像&#xff0c;并实时获取图像中任意像素点的坐标和颜色信息。工具具有图像缩放、动态坐标轴绘制、鼠标交互等功能&#xff0c;使用起来方便直观。 二、功能亮点 1. 图像加载与显…...

【WRF-Urban】SLUCM新增空间分布城市冠层参数及人为热排放AHF代码详解(下)

目录 详细解释更改文件内容4 运行模块(run):README.namelist5 输出模块(share):share/module_check_a_mundo.Fshare/output_wrf.F参考SLUCM新增空间分布城市冠层参数及人为热排放AHF代码详解的前两部分内容可参见-【WRF-Urban】SLUCM新增空间分布城市冠层参数及人为热排放A…...

【C#】新建窗体文件,Form、UserControl

从用途、功能性和架构方面进行描述。 1. 继承自 Form 的窗体&#xff08;通常是窗口&#xff09;&#xff1a; 在 C# 中&#xff0c;Form 是用于创建应用程序的主窗口或对话框窗口的类。当您继承自 Form 时&#xff0c;您创建的是一个完整的窗口&#xff0c;可以显示内容、与…...

优化SEO策略掌握长尾关键词的力量

内容概要 在数字营销领域&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;是帮助网站获得更多流量的关键。然而&#xff0c;随着在线竞争的加剧&#xff0c;单纯依赖短尾关键词已难以满足用户的搜索需求。这时&#xff0c;长尾关键词的引入便显得尤为重要。长尾关键词通常…...

MySQL分页查询

分页查询&#xff1a; 数据记录条数过多的时候&#xff0c;需要分页来显示。 语法&#xff1a; select 查询字段 from 表名 where ....等等前面学过的所有写法 limit offset&#xff08;开始记录索引,是从0开始的&#xff09;,size&#xff08;要取出的条数&#xff09;&…...

执行“go mod tidy”遇到“misbehavior”错误

执行“go mod tidy”报错下错误&#xff0c;执行“go clean -modcache”和删除“go env GOMODCACHE”指定目录均无效&#xff1a; SECURITY ERROR go.sum database server misbehavior detected!old database:go.sum database tree3397826xyyhzdyAOat5li/EXx/MK1gONQf3LAGqArh…...

【机器学习】——windows下安装anaconda并在vscode上进行配置

一、安装anaconda 1.进入清华的镜像网站&#xff0c;下载自己电脑对应的anaconda版本。网站&#xff1a;https://repo.anaconda.com/archive/ 这里我下载的版本是anaconda3-2024.10-1-Windows-x86-64 2.下载完毕后开始安装anaconda 3.配置anaconda环境变量 在设置中找到编…...

第6章:布局 --[CSS零基础入门]

CSS 布局是网页设计中至关重要的一个方面&#xff0c;它决定了页面上元素的排列和展示方式。以下是几种常见的 CSS 布局方法和技术&#xff1a; 1. 浮动布局&#xff08;Float Layout&#xff09; 浮动布局&#xff08;Float Layout&#xff09;曾经是网页设计中创建多列布局…...

kubeadm安装K8s集群基础环境配置

kubeadm安装K8s集群基础环境配置 1.首先确保所有机器可以通信&#xff0c;然后配置主机hosts文件&#xff1b;2.关闭所有节点关闭防火墙、selinux、swap&#xff1b;3.将桥接的IPv4流量传递到 iptables&#xff1b;4.安装常用工具包&#xff1b;5.安装时间同步工具ntpdate&…...

计算机毕业设计Python医疗问答系统 医疗可视化 BERT+LSTM+CRF深度学习识别模型 机器学习 深度学习 爬虫 知识图谱 人工智能 大数据毕业设计

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

学在西电录播课使用python下载,通过解析m3u8协议、多线程下载ts视频块以及ffmpeg合并

本文涵盖的内容仅供个人学习使用&#xff0c;如果侵犯学校权利&#xff0c;麻烦联系我删除。 初衷 研究生必修选逃&#xff0c; 期末复习怕漏过重点题目&#xff0c;但是看学在西电的录播回放课一卡一卡的&#xff0c;于是想在空余时间一个个下载下来&#xff0c;然后到时候就…...

攻防世界杂项刷题笔记(引导模式)13-23

引言&#xff1a;14包括提取文件和流量分析&#xff0c;22很新颖&#xff01;&#xff01;其他的都是常规隐写 13.base64stego 经过上一次如来十三掌的磨练&#xff0c;这题在看到题干“十三掌”的时候我是丝毫不慌张的。附件给了压缩包&#xff0c;考虑是不是伪加密&#xf…...

基于单片机的智能农田灌溉节水系统设计及应用

摘 要 &#xff1a; 针对传统的灌溉方法浪费水资源节水系统设计。该系统从节水角度出发&#xff0c;对传感器和主电路进行了设计&#xff0c;主要采集灌溉地的湿度与温度数据&#xff0c;根据测量土壤中的温度与湿度作为主要参数&#xff0c;对农田灌溉节水系统进行实时控制&am…...

高校毕业生离校就业数据分析管理平台的设计与实现(Java毕业设计)教务管理、就业统计

系统合集跳转 源码获取链接 一、系统环境 运行环境: 最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 IDE环境&#xff1a; Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以 tomcat环境&#xff1a; Tomcat 7.x,8.x,9.x版本均可 操作系统…...

1、SQL语言

分类方式 类别描述 部署方式 嵌入式/单机/双机/集群/分布式/云数据库 业务类型 OLTP数据库/OLAP数据库/流数据库/时序数据库 存储介质 内存数据库/磁盘数据库/SSD数据库/SCM数据库 年代 第一代是单机数据库/第二代是集群数据库/第三代是分布式数据库和云原生数据库/第…...

spark sql 环境安装,java 默认路径和 安装配置!

yum安装java 查看默认路径 update-alternatives --config java # Java 环境变量 export JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/jreexport PATH$JAVA_HOME/bin:$PATH# Spark 环境变量 export SPARK_HOME/home/vagrant/soft/sparkexport PATH…...

【CMD、PowerShell和Bash设置代理】

【CMD、PowerShell和Bash设置代理】 1. CMD&#xff08;命令提示符&#xff09;临时设置代理&#xff08;只对当前会话有效&#xff09;&#xff1a;查看当前代理设置&#xff1a;清除临时代理设置&#xff1a;永久设置代理&#xff08;对所有新的 CMD 会话有效&#xff09;&am…...

分区之间的一种度量方法-覆盖度量(Covering Metric)

分区之间的一种度量方法——覆盖度量&#xff08;Covering Metric&#xff09;&#xff0c;用于量化一个分区如何被另一个分区覆盖或近似。以下是逐步详细解释&#xff1a; 1. 背景与符号说明 分区的概念&#xff1a; 分区是将一个集合&#xff08;这里是 { 1 , … , n } \{…...

HarmonyOS(64) wrapBuilder 全局@Builder使用利器

WrapBuilder 全局Builder是什么什么时候使用wrapBuilderBuilder的限制参考资料 全局Builder是什么 局部Builder的定义方法如下&#xff1a; //定义局部Builder Builder MyBuilderFunction() {} //使用方法 this.MyBuilderFunction()全局Builder定义语法如下&#xff1a; //全…...