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

Day 21 训练

Day 21 训练

  • 常见的降维算法
    • 数据预处理
    • 无监督降维
      • PCA(主成分分析)
      • 主成分分析(PCA)
      • 作用和优势
      • 应用场景
      • t-SNE(t-分布随机邻域嵌入)
      • t-SNE(t-分布随机邻域嵌入)
      • 为什么 t-SNE 特别适用于高维数据的可视化
      • 应用场景
    • 有监督降维
      • LDA(线性判别分析)
    • 总结


常见的降维算法

在数据分析和机器学习中,降维是一种常见的预处理步骤,能够帮助我们减少数据的复杂性、提高模型的性能以及避免过拟合。本文将介绍几种常见的降维算法,包括无监督的 PCA 和 t-SNE,以及有监督的 LDA,并通过实际代码演示它们的应用。

数据预处理

在开始降维之前,我们首先需要对数据进行预处理,以下是数据预处理的代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import warningswarnings.filterwarnings("ignore")
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 读取数据
data = pd.read_csv('data.csv')# 筛选字符串变量并进行标签编码和独热编码
discrete_features = data.select_dtypes(include=['object']).columns.tolist()# Home Ownership 标签编码
home_ownership_mapping = {'Own Home': 1,'Rent': 2,'Have Mortgage': 3,'Home Mortgage': 4
}
data['Home Ownership'] = data['Home Ownership'].map(home_ownership_mapping)# Years in current job 标签编码
years_in_job_mapping = {'< 1 year': 1,'1 year': 2,'2 years': 3,'3 years': 4,'4 years': 5,'5 years': 6,'6 years': 7,'7 years': 8,'8 years': 9,'9 years': 10,'10+ years': 11
}
data['Years in current job'] = data['Years in current job'].map(years_in_job_mapping)# Purpose 独热编码
data = pd.get_dummies(data, columns=['Purpose'])
data2 = pd.read_csv("data.csv")  # 重新读取数据,用来做列名对比
list_final = []
for i in data.columns:if i not in data2.columns:list_final.append(i)
for i in list_final:data[i] = data[i].astype(int)# Term 0 - 1 映射
term_mapping = {'Short Term': 0,'Long Term': 1
}
data['Term'] = data['Term'].map(term_mapping)
data.rename(columns={'Term': 'Long Term'}, inplace=True)# 连续特征用中位数补全
continuous_features = data.select_dtypes(include=['int64', 'float64']).columns.tolist()
for feature in continuous_features:mode_value = data[feature].mode()[0]data[feature].fillna(mode_value, inplace=True)# 删除 Loan ID 列
data.drop(columns=['Id'], inplace=True)

无监督降维

无监督降维算法不使用任何关于数据样本的标签信息,仅根据数据点本身的分布、方差、相关性等特性来寻找低维表示。

PCA(主成分分析)

PCA 是一种常见的无监督降维算法,其核心思想是识别数据中方差最大的方向,并将数据投影到由这些最重要的主成分构成的新的、维度更低的子空间上。
这段内容主要是在介绍主成分分析(PCA)算法,以下是对这段内容的详细解释:

主成分分析(PCA)

  • 定义:PCA 是一种常见的无监督降维算法,它通过线性变换将原始数据转换到一个新的坐标系统中,使得在这个新坐标系统中,数据的方差沿着坐标轴被最大化。
  • 核心思想:其核心思想是识别数据中方差最大的方向,并将数据投影到由这些最重要的主成分构成的新的、维度更低的子空间上。
    • 方差最大的方向:在数据中,方差最大的方向通常包含了最多的“信息”。例如,假设我们有一组二维数据,这些数据点在某个方向上分布得更分散(即方差更大),那么这个方向就更能代表数据的特征。PCA 的目标就是找到这样的方向。
    • 主成分:这些方差最大的方向被称为“主成分”。第一个主成分是方差最大的方向,第二个主成分是与第一个主成分正交且方差次大的方向,以此类推。通过选择前几个主成分,我们可以将数据投影到一个低维空间中,同时尽可能保留原始数据的信息。
    • 投影到低维子空间:将数据投影到由这些主成分构成的新的子空间上,可以降低数据的维度。例如,如果我们选择前两个主成分,就可以将高维数据投影到二维平面上,从而实现降维。在这个新的低维空间中,数据的结构和分布仍然可以被较好地保留,同时减少了数据的复杂性,便于后续的分析和处理。

作用和优势

  • 降低数据维度:通过将数据投影到低维子空间,减少了数据的特征数量,从而降低了数据的复杂性。这有助于提高模型的性能,减少计算成本,同时避免过拟合。
  • 去除噪声和冗余信息:在降维过程中,PCA 可以去除一些不重要的信息和噪声,使数据更加简洁和清晰。例如,如果数据中存在一些高度相关的特征,PCA 可以将它们合并为一个主成分,从而减少冗余信息。
  • 数据可视化:对于高维数据,直接进行可视化是非常困难的。通过 PCA 降维,可以将高维数据投影到二维或三维空间中,便于我们直观地观察数据的分布和结构,发现数据中的模式和规律。

应用场景

  • 图像处理:在图像识别和处理中,PCA 可以用于图像的降维和特征提取。例如,将高维的图像数据投影到低维空间中,可以提取出图像的主要特征,提高图像识别的效率和准确性。
  • 基因数据分析:在生物信息学中,PCA 可以用于基因数据的降维和分析。通过将高维的基因表达数据投影到低维空间,可以发现基因之间的相关性和差异,为基因功能的研究提供线索。
  • 金融数据分析:在金融领域,PCA 可以用于风险评估和投资组合优化。通过对金融数据进行降维,可以提取出主要的风险因素和市场趋势,为投资决策提供依据。

总之,PCA 是一种非常有效的无监督降维算法,它通过识别数据中方差最大的方向,将数据投影到低维子空间中,从而实现降维的目的。它在数据预处理、特征提取、数据可视化等方面具有广泛的应用,可以帮助我们更好地理解和分析数据。

from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report, confusion_matrix
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
import time# 划分数据集
X = data.drop(['Credit Default'], axis=1)
y = data['Credit Default']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# PCA 降维
print("\n--- 2. PCA 降维 + 随机森林 ---")
scaler_pca = StandardScaler()
X_train_scaled_pca = scaler_pca.fit_transform(X_train)
X_test_scaled_pca = scaler_pca.transform(X_test)pca_expl = PCA(random_state=42)
pca_expl.fit(X_train_scaled_pca)
cumsum_variance = np.cumsum(pca_expl.explained_variance_ratio_)
n_components_to_keep_95_var = np.argmax(cumsum_variance >= 0.95) + 1
print(f"为了保留95%的方差,需要的主成分数量: {n_components_to_keep_95_var}")n_components_pca = 10
pca_manual = PCA(n_components=n_components_pca, random_state=42)
X_train_pca = pca_manual.fit_transform(X_train_scaled_pca)
X_test_pca = pca_manual.transform(X_test_scaled_pca)
print(f"PCA降维后,训练集形状: {X_train_pca.shape}, 测试集形状: {X_test_pca.shape}")start_time_pca_manual = time.time()
rf_model_pca = RandomForestClassifier(random_state=42)
rf_model_pca.fit(X_train_pca, y_train)
rf_pred_pca_manual = rf_model_pca.predict(X_test_pca)
end_time_pca_manual = time.time()print(f"手动PCA降维后,训练与预测耗时: {end_time_pca_manual - start_time_pca_manual:.4f} 秒")
print("\n手动 PCA + 随机森林 在测试集上的分类报告:")
print(classification_report(y_test, rf_pred_pca_manual))
print("手动 PCA + 随机森林 在测试集上的混淆矩阵:")
print(confusion_matrix(y_test, rf_pred_pca_manual))

t-SNE(t-分布随机邻域嵌入)

t-SNE 是一种非线性降维算法,特别适用于高维数据的可视化。它的核心目标是在高维空间中相似的数据点,在降维后的低维空间中也应该保持相似。
这段内容主要介绍了 t-SNE(t-分布随机邻域嵌入)算法的性质和核心目标,以下是对这段内容的进一步解释:

t-SNE(t-分布随机邻域嵌入)

  • 算法性质:t-SNE 是一种非线性降维算法。与线性降维算法(如 PCA)不同,非线性降维算法能够更好地处理数据中的复杂结构和非线性关系。这意味着 t-SNE 可以在降维过程中保留数据的局部结构和相似性,而不仅仅是全局的线性关系。
  • 核心目标:t-SNE 的核心目标是在高维空间中相似的数据点,在降维后的低维空间中也应该保持相似。具体来说,t-SNE 通过以下步骤实现这一目标:
    • 相似性度量:在高维空间中,t-SNE 首先计算每个数据点与其他数据点之间的相似性。这种相似性通常是通过高斯分布的概率来衡量的,即距离越近的数据点相似性越高。
    • 低维嵌入:然后,t-SNE 在低维空间中寻找一种数据点的分布方式,使得低维空间中数据点之间的相似性尽可能接近高维空间中的相似性。这通常是通过优化一个代价函数来实现的,该代价函数衡量了高维和低维空间中相似性的差异。
    • 优化过程:t-SNE 使用梯度下降等优化算法来调整低维空间中数据点的位置,以最小化代价函数。这个过程可能会涉及到多次迭代,直到找到一个相对稳定的低维嵌入。

为什么 t-SNE 特别适用于高维数据的可视化

  • 高维数据的可视化难题:对于高维数据,直接进行可视化是非常困难的,因为人类很难直观地理解超过三维的数据空间。t-SNE 通过将高维数据映射到二维或三维空间,使得我们能够直观地观察数据的分布和结构。
  • 保留局部结构:t-SNE 在降维过程中特别注重保留数据的局部结构。这意味着在高维空间中彼此接近的数据点在低维空间中也会保持接近,从而使得数据中的簇和模式在可视化中更加明显。这对于发现数据中的潜在结构和模式非常有帮助。
  • 非线性映射的优势:由于 t-SNE 是一种非线性降维算法,它能够更好地处理数据中的复杂关系和非线性结构。这使得 t-SNE 在处理具有复杂结构的高维数据时比线性降维算法(如 PCA)更具优势。

应用场景

  • 高维数据的可视化:t-SNE 最常见的应用场景是高维数据的可视化,例如在图像识别、基因数据分析、金融数据分析等领域。通过将高维数据映射到二维或三维空间,研究人员可以直观地观察数据的分布,发现数据中的簇和模式。
  • 数据探索和分析:在数据探索阶段,t-SNE 可以帮助研究人员快速了解数据的结构和特征,发现数据中的异常点和潜在的模式。这有助于进一步的数据分析和模型构建。

总之,t-SNE 是一种强大的非线性降维算法,特别适用于高维数据的可视化和探索。通过保留数据的局部结构和相似性,t-SNE 能够帮助我们更好地理解和分析复杂的数据集。

from sklearn.manifold import TSNEprint("\n--- 3. t-SNE 降维 + 随机森林 ---")
print("       标准 t-SNE 主要用于可视化,直接用于分类器输入可能效果不佳。")scaler_tsne = StandardScaler()
X_train_scaled_tsne = scaler_tsne.fit_transform(X_train)
X_test_scaled_tsne = scaler_tsne.transform(X_test)n_components_tsne = 2
tsne_model_train = TSNE(n_components=n_components_tsne,perplexity=30,n_iter=1000,init='pca',learning_rate='auto',random_state=42,n_jobs=-1)
print("正在对训练集进行 t-SNE fit_transform...")
start_tsne_fit_train = time.time()
X_train_tsne = tsne_model_train.fit_transform(X_train_scaled_tsne)
end_tsne_fit_train = time.time()
print(f"训练集 t-SNE fit_transform 完成,耗时: {end_tsne_fit_train - start_tsne_fit_train:.2f} 秒")tsne_model_test = TSNE(n_components=n_components_tsne,perplexity=30,n_iter=1000,init='pca',learning_rate='auto',random_state=42,n_jobs=-1)
print("正在对测试集进行 t-SNE fit_transform...")
start_tsne_fit_test = time.time()
X_test_tsne = tsne_model_test.fit_transform(X_test_scaled_tsne)
end_tsne_fit_test = time.time()
print(f"测试集 t-SNE fit_transform 完成,耗时: {end_tsne_fit_test - start_tsne_fit_test:.2f} 秒")print(f"t-SNE降维后,训练集形状: {X_train_tsne.shape}, 测试集形状: {X_test_tsne.shape}")start_time_tsne_rf = time.time()
rf_model_tsne = RandomForestClassifier(random_state=42)
rf_model_tsne.fit(X_train_tsne, y_train)
rf_pred_tsne_manual = rf_model_tsne.predict(X_test_tsne)
end_time_tsne_rf = time.time()print(f"t-SNE降维数据上,随机森林训练与预测耗时: {end_time_tsne_rf - start_time_tsne_rf:.4f} 秒")
total_tsne_time = (end_tsne_fit_train - start_tsne_fit_train) + \(end_tsne_fit_test - start_tsne_fit_test) + \(end_time_tsne_rf - start_time_tsne_rf)
print(f"t-SNE 总耗时 (包括两次fit_transform和RF): {total_tsne_time:.2f} 秒")print("\n手动 t-SNE + 随机森林 在测试集上的分类报告:")
print(classification_report(y_test, rf_pred_tsne_manual))
print("手动 t-SNE + 随机森林 在测试集上的混淆矩阵:")
print(confusion_matrix(y_test, rf_pred_tsne_manual))

有监督降维

有监督降维算法在降维过程中会利用数据样本的标签信息,目标是找到一个低维子空间,使得在该子空间中,不同类别的数据点能够被更好地分离开。

LDA(线性判别分析)

LDA 是一种经典的有监督降维算法,其核心目标是找到一个低维特征子空间,使得在该子空间中,不同类别的数据点尽可能地分开,而同一类别的数据点尽可能地聚集。

from sklearn.discriminant_analysis import LinearDiscriminantAnalysisprint("\n--- 4. LDA 降维 + 随机森林 ---")
scaler_lda = StandardScaler()
X_train_scaled_lda = scaler_lda.fit_transform(X_train)
X_test_scaled_lda = scaler_lda.transform(X_test)n_features = X_train_scaled_lda.shape[1]
n_classes = len(np.unique(y_train))
max_lda_components = min(n_features, n_classes - 1)n_components_lda_target = 10
actual_n_components_lda = min(n_components_lda_target, max_lda_components)
print(f"原始特征数: {n_features}, 类别数: {n_classes}")
print(f"LDA 最多可降至 {max_lda_components} 维。")
print(f"目标降维维度: {n_components_lda_target} 维。")
print(f"本次 LDA 将实际降至 {actual_n_components_lda} 维。")lda_manual = LinearDiscriminantAnalysis(n_components=actual_n_components_lda, solver='svd')
X_train_lda = lda_manual.fit_transform(X_train_scaled_lda, y_train)
X_test_lda = lda_manual.transform(X_test_scaled_lda)
print(f"LDA降维后,训练集形状: {X_train_lda.shape}, 测试集形状: {X_test_lda.shape}")start_time_lda_rf = time.time()
rf_model_lda = RandomForestClassifier(random_state=42)
rf_model_lda.fit(X_train_lda, y_train)
rf_pred_lda_manual = rf_model_lda.predict(X_test_lda)
end_time_lda_rf = time.time()print(f"LDA降维数据上,随机森林训练与预测耗时: {end_time_lda_rf - start_time_lda_rf:.4f} 秒")
print("\n手动 LDA + 随机森林 在测试集上的分类报告:")
print(classification_report(y_test, rf_pred_lda_manual))
print("手动 LDA + 随机森林 在测试集上的混淆矩阵:")
print(confusion_matrix(y_test, rf_pred_lda_manual))

总结

本文介绍了几种常见的降维算法,包括无监督的 PCA 和 t-SNE,以及有监督的 LDA。通过实际代码演示了它们的应用,并比较了它们在随机森林分类器上的性能。PCA 适用于线性数据,t-SNE 适用于高维数据的可视化,而 LDA 适用于有监督的分类任务。在实际应用中,可以根据数据的特点和任务的需求选择合适的降维算法。
@浙大疏锦行

相关文章:

Day 21 训练

Day 21 训练 常见的降维算法数据预处理无监督降维PCA&#xff08;主成分分析&#xff09;主成分分析&#xff08;PCA&#xff09;作用和优势应用场景t-SNE&#xff08;t-分布随机邻域嵌入&#xff09;t-SNE&#xff08;t-分布随机邻域嵌入&#xff09;为什么 t-SNE 特别适用于高…...

1267, “Illegal mix of collations (latin1_swedish_ci,IMPLICIT

python 执行数据迁移报错 mysql : 1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT 解决方法&#xff1a; 替换TABLE 后面的表名为你自己的表名&#xff0c;mysql 黑窗口执行。 以下是我的表名&#xff0c;仅作参考 ALTER TABLE book CONVERT TO CHARACTE…...

【C#】Thread.Join()、异步等待和直接join

JogThread.Join() 是 .NET 中 System.Threading.Thread 类的一个方法&#xff0c;用来让当前调用线程暂停执行&#xff0c;直到目标线程&#xff08;这里是 JogThread&#xff09;终止为止。以下是它的核心语义和你在 UI 代码里需要注意的几个相关知识点。 1. Thread.Join() 的…...

Malformed input or input contains unmappable characters解决

JDK 17 文件上传编码异常解决方案技术文档 1. 问题背景 在 JDK 17 环境下&#xff0c;文件上传过程中可能抛出 Malformed input or input contains unmappable characters 错误。此问题通常由以下原因触发&#xff1a; 文件路径/名称包含非 ASCII 字符&#xff08;如中文、日…...

PYTHON训练营DAY26

一、函数 &#xff08;一&#xff09;不带参数的函数 # 定义一个简单的问候函数 def greet():"""打印一句问候语。"""message "大家好&#xff01;欢迎学习Python函数定义&#xff01;"print(message)greet()&#xff08;二&#x…...

奇变偶不变,符号看象限

三角函数诱导公式口诀详解&#xff1a;奇变偶不变&#xff0c;符号看象限 口诀解析 1. 口诀含义 奇变偶不变&#xff1a; 奇/偶&#xff1a;指角度加减的是π/2&#xff08;90&#xff09;的奇数倍还是偶数倍 奇数倍&#xff08;如π/2, 3π/2&#xff09;→ 函数名改变&…...

基于SpringBoot的家政服务系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…...

Makefile 在 Go 项目中的实践

在 Go 项目中&#xff0c;Makefile 是一个强大的工具&#xff0c;用于自动化构建、测试和部署流程。它不仅能减少重复命令输入&#xff0c;还能确保团队开发环境的一致性。本文以 CoreDNS&#xff08;一个高性能 DNS 服务器&#xff09;的 Makefile 为例&#xff0c;解析其设计…...

关闭所有Nginx进程

要关闭所有Nginx进程&#xff0c;可以使用以下命令。这些命令适用于不同的操作系统。 在Linux/Unix系统中 在Linux或Unix系统中&#xff0c;可以使用killall命令来关闭所有Nginx进程。 sudo killall nginx 在Windows系统中 在Windows系统中&#xff0c;可以使用taskkill命…...

开源模型应用落地-模型上下文协议(MCP)-Resources-资源的使用逻辑

一、前言 在大型语言模型与外部世界交互的探索中&#xff0c;如何高效、灵活地接入多样化数据始终是核心命题。MCP&#xff08;Model Context Protocol&#xff09;协议中的Resources 机制&#xff0c;正是为这一问题提供了优雅的解决方案。通过URI&#xff08;统一资源标识符&…...

如何判断一个网站后端是用什么语言写的

判断一个网站的后端是用什么语言写的&#xff0c;可以从以下几个方面入手&#xff1a; 一、通过响应头&#xff08;HTTP Response Headers&#xff09; 使用浏览器开发者工具或工具如 curl 查看网站返回的响应头信息&#xff0c;有时可以看到蛛丝马迹&#xff1a; 示例&#…...

CertiK助力以太坊扩展战略,解析Pectra升级的变革与挑战

近期&#xff0c;美国知名金融科技媒体Benzinga发表文章&#xff0c;深入探讨以太坊Pectra升级的变革性影响&#xff0c;并特别引用了CertiK对潜在风险的权威分析&#xff0c;特别是EIP-7702引入的全新信任模型变化。此次升级不仅重新定义了EOA与智能合约的交互方式&#xff0c…...

【C++】Module CPP:模块化编程 Demo

一、C20 模块简介 C20 模块是 C 语言发展史上的重要革新&#xff0c;它从根本上改变了代码组织方式。相比传统的头文件&#xff08;#include&#xff09;机制&#xff0c;模块具有以下核心优势&#xff1a; 隔离编译&#xff1a;模块独立编译&#xff0c;避免重复编译头文件符…...

mvc-service引入

什么是业务层 1&#xff09;Model1&#xff08;JSP&#xff09;和Model2&#xff08;模糊的mvc&#xff09;: MVC&#xff1a;Model(模型)&#xff0c;View(视图)&#xff0c;Controller&#xff08;控制器&#xff09; 视图层&#xff1a;用于数据展示以及用户交互的界…...

Linux线程互斥锁

1. 什么是互斥锁&#xff08;Mutex&#xff09;&#xff1f; 互斥锁&#xff08;Mutex&#xff0c;Mutual Exclusion&#xff09; 是一种用于多线程编程的同步机制&#xff0c;用于保护共享资源&#xff08;如变量、内存、文件等&#xff09;&#xff0c;确保在同一时刻只有一…...

PINN Poisson 1d

&#x1f4cc; 一、问题定义 我们要求解的微分方程是 d 2 u d x 2 f ( x ) \begin{equation} \frac{d^2 u}{d x^2} f(x) \end{equation} dx2d2u​f(x)​​ 其中: f ( x ) − 0.49 s i n ( 0.7 x ) − 2.25 c o s ( 1.5 x ) f(x) -0.49sin(0.7x) - 2.25cos(1.5x) f(x)−…...

国内优质沉金PCB厂家有哪些?

在高端电子制造领域&#xff0c;沉金工艺因其优异的抗氧化性、信号完整性和焊接可靠性&#xff0c;成为5G通信、AI服务器、新能源汽车等领域的核心需求。本文精选五家国内技术领先的沉金PCB厂家&#xff0c;从工艺精度、交付效率、品质管控等维度展开深度解析&#xff0c;助力企…...

【Trae插件】从0到1,搭建一个能够伪装成网页内容的小说阅读Chrome插件

【Trae插件】从0到1&#xff0c;搭建一个能够伪装成网页内容的小说阅读Chrome插件 最近&#xff0c;Trae 插件也迎来了更新&#xff0c;Trae 插件&#xff08;原MarsCode 编程助手&#xff09;Builder模式全面上线&#xff0c;同时支持 VS Code 、JetBrains IDEs&#xff0c;助…...

2025年5月AI科技领域周报(5.5-5.11):AGI研究进入关键验证期 具身智能开启物理世界交互新范式

2025年5月AI科技领域周报&#xff08;5.5-5.11&#xff09;&#xff1a;AGI研究进入关键验证期 具身智能开启物理世界交互新范式 一、本周热点回顾1. OpenAI发布GPT-5多模态大模型 突破通用智能关键阈值2. 特斯拉Optimus机器人量产版发布 具身智能进入工业场景3. 百度文心ERNIE…...

UDP 多点通信

一、setsockopt/getsockopt 函数详解 1. 函数原型 c #include <sys/socket.h> int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen); int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);…...

什么是TCP协议?它存在哪些安全挑战?

一、TCP协议概述 TCP&#xff08;传输控制协议&#xff09;是互联网中面向连接、可靠的传输层协议&#xff0c;主要负责在不可靠的IP层上实现数据的可靠传输。其核心特点包括&#xff1a; 面向连接&#xff1a;通信前需通过三次握手&#xff08;SYN-SYN/ACK-ACK&#xff09;建…...

《Python星球日记》 第80天:目标检测(YOLO、Mask R-CNN)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、目标检测简介1. 边界框(Bounding Box)与类别标签2. 两阶段 vs 单阶段检测器两阶段检测器特点:单阶段检测器特点:二、YOLO(You Only Lo…...

工业大数据的定义

目录 工业大数据的定义 工业大数据发展历程 工业大数据的特征 工业大数据的处理流程 工业大数据在处理上面临的挑战 工业大数据的有效处理方案 工业大数据处理相关案例 数益工联 x TDengine 中天钢铁 x TDengine 广州某企业工业互联网项目 x TDengine 格创东智 x TD…...

Cursor vs VS Code vs Zed

代码编辑器的世界已经迎来了创新的爆发。曾经由重量级IDE或基础文本编辑器主导的领域,如今开发者们发现自己正在探索全新一波聚焦于AI集成、协作和性能的工具。 在本文中,我们将深入探讨2025年三款流行的编辑器:Cursor、Visual Studio Code (VS Code)和Zed Code Editor。每…...

道通龙鱼系列-混合翼无人机:垂直起降+长时续航

道通龙鱼系列-混合翼无人机&#xff1a;垂直起降长时续航 道通龙鱼系列无人机采用独特的倾转翼尖设计&#xff0c;有效融合多旋翼垂直起降和固定翼长时续航的双重优势&#xff0c;机动、灵活&#xff0c;适应各种复杂起降条件&#xff1b;整机采用快拆和高效气动设计&#xff0…...

单片机-STM32部分:17、数码管

飞书文档https://x509p6c8to.feishu.cn/wiki/TOQqweKHWinugokUyqzcwb0fnTd 原理&#xff1a; 一个二极管等于八个LED组合在一起&#xff0c;想要显示什么形状&#xff0c;就点亮对应LED即可。 数码管根据其公共端所接的阳极和阴极的不同&#xff0c;分为了共阴极数码管和共阳…...

Web安全科普:构建数字世界的“防盗门”

目录 一、Web安全的核心挑战 二、六大核心威胁深度解析 三、安全防御体系构建 四、开发者必备工具包 五、法律合规要点 六、未来安全趋势 一、Web安全的核心挑战 1. 攻击者视角的入口 数据流动路径&#xff1a;用户 → 浏览器 → 网络 → 服务器 → 数据库 脆弱点分布&a…...

深入解析HTTP协议演进:从1.0到3.0的全面对比

HTTP协议作为互联网的基础协议&#xff0c;经历了多个版本的迭代演进。本文将详细解析HTTP 1.0、HTTP 1.1、HTTP/2和HTTP/3的核心特性与区别&#xff0c;帮助开发者深入理解网络协议的发展脉络。 一、HTTP 1.0&#xff1a;互联网的奠基者 核心特点&#xff1a; 短连接模式&am…...

【RAP】RAP动作与流行舞蹈/街舞

RAP动作与流行舞蹈风格的匹配性分析 Rap动作与各种流行舞蹈风格的匹配度如下: 最匹配 街舞(Hip-hop/Street Dance) 完美匹配程度:★★★★★原因:Rap和街舞同源于嘻哈文化,共享相同的文化根基特点:街舞的断点式动作、力量感和即兴性与Rap的节奏完美契合代表动作:Break…...

BUUCTF——web刷题第一页题解

共31题&#xff0c;admin那题没有&#xff0c;因为环境问题&#xff0c;我做的非常卡 目录 极客大挑战 2019]Havefun [HCTF 2018]WarmU [ACTF2020 新生赛]Include [ACTF2020 新生赛]Exec [GXYCTF2019]Ping Ping Ping [SUCTF 2019]EasySQL [极客大挑战 2019]LoveSQL [极…...

windows、Ubuntu、Debian 添加静态路由

1. windows 10 添加静态路由 快捷键win R&#xff1a; 输入 cmd &#xff0c;打开命令行窗口 route print // 查看已经存在的路由 route add 192.168.3.0 mask 255.255.255.0 192.168.3.200 // 添加静态路由 192.168.3.200 为下一跳 route add -p 192.168.…...

服务器连接多客户端

一、epoll 核心函数详解 1. epoll_create/epoll_create1 - 创建 epoll 实例 c #include <sys/epoll.h> int epoll_create(int size); // Linux 2.6.8前需指定size&#xff08;>1&#xff09;&#xff0c;后续版本可忽略 int epoll_create1(int flags); // 推荐使用…...

驿客时光影院酒店升级:雷克赛恩 Cyber Pro 1 如何重塑住宿观影体验

一、影院式酒店新趋势&#xff1a;当住宿邂逅沉浸式观影体验 &#xff08;一&#xff09;驿客时光的差异化突围 成都温江区的驿客时光影院酒店&#xff0c;凭借 “百寸巨幕观影 舒适住宿” 的差异化定位&#xff0c;成为年轻旅客打卡热点。其 20 间主题客房均配备独立投影设…...

Cinema4D 26.014

添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 软件概述 Cinema 4D是德国MAXON公司开发的一款专业的3D动画、建模、仿真和渲染软件解决方案&#xff0c;在3D设计领域应用广泛。 功能特点 强大的建模功能 多边形建模&#xff1a;提供了丰富的多边形建模…...

脚本语言Lua

本文来源 &#xff1a;腾讯元宝 Lua是一种轻量级、可嵌入的脚本语言&#xff0c;由巴西里约热内卢天主教大学的Roberto Ierusalimschy、Waldemar Celes和Luiz Henrique de Figueiredo于1993年开发。其设计目标是嵌入应用程序中&#xff0c;提供灵活的扩展和定制功能。 主要特性…...

106. 从中序与后序遍历序列构造二叉树

https://leetcode.cn/problems/construct-binary-tree-from-inorder-and-postorder-traversal/description/?envTypestudy-plan-v2&envIdtop-interview-150思路&#xff1a;我们知道后序的顺序是左右根&#xff0c;所以后序数组的最后一个一定是根节点&#xff0c;然后中序…...

全链路压测实战指南:从理论到高可用架构的终极验证

全链路压测实战指南:从理论到高可用架构的终极验证 引言:你的系统,真的准备好迎接洪峰了吗? 凌晨3点,某大型电商平台秒杀活动突袭上线。百万用户同时涌入,订单接口响应时间从200ms飙升到15秒,数据库连接池被瞬间耗尽,支付服务直接“熔断”,连锁反应导致库存混乱、物流…...

分布式AI推理的成功之道

随着AI模型逐渐成为企业运营的核心支柱&#xff0c;实时推理已成为推动这一转型的关键引擎。市场对即时、可决策的AI洞察需求激增&#xff0c;而AI代理——正迅速成为推理技术的前沿——即将迎来爆发式普及。德勤预测&#xff0c;到2027年&#xff0c;超半数采用生成式AI的企业…...

纯前端实现基于位置的天气和动态背景图片

如何为博客首页实现基于位置的天气和动态背景图片 引言 我为我的博客主页添加了根据用户所在位置显示当地天气、日出日落时间&#xff0c;并加载一张与天气和时间段匹配的高质量背景图片&#xff0c;可以显著提升用户体验。想象晴天时展示阳光普照的田野&#xff0c;雨天时呈现…...

1.1 认识编程与C++

认识编程与C教程 目标 理解程序、指令、数据的概念。了解C在现实中的应用场景。学会搭建编程环境&#xff0c;迈出第一步。 一、编程是什么&#xff1f;——给计算机写“魔法指令” 1. 基本概念 程序&#xff1a;一系列指令的集合&#xff0c;像一本“魔法食谱”。 &#x…...

代码随想录算法训练营第60期第三十七天打卡

大家好&#xff0c;今天我们算法训练营的第37天&#xff0c;首先为自己感到骄傲&#xff0c;居然坚持下来了&#xff0c;本来觉得自己可能坚持不下来&#xff0c;但是我硬是坚持下来了&#xff0c;好样的&#xff0c;同时也感谢那些看我的题解给我点赞的朋友&#xff0c;我在这…...

每周靶点:TIGIT、ICAM1及文献分享

本期精选了《抑制性受体TIGIT》《细胞粘附分子ICAM1》《真核蛋白表达&#xff1a;选择合适的条件进行》《文献分享&#xff1a;双特异性和多特异性抗体的可开发性评估》四篇文章。以下为各研究内容的概述&#xff1a; 抑制性受体TIGIT TIGIT是一种具有Ig和ITIM结构域的T细胞免…...

介绍一下什么是 AI、 AGI、 ASI

1. AI&#xff08;人工智能&#xff09;&#xff1a;工具化的“窄域智能”​​ 定义​&#xff1a; AI 是能够执行特定任务的智能系统&#xff0c;依赖大量数据和预设规则&#xff0c;​缺乏自主意识和跨领域通用性。 特点​&#xff1a; ​任务专用​&#xff1a;如图像识…...

部署安装jenkins.war(2.508)

实验目的&#xff1a;部署jenkins&#xff0c;并与gitlab关联bulid 所需软件&#xff1a;jdk-17_linux-x64_bin.tar.gz jenkins.war apache-tomcat-10.1.40.tar.gz 实验主机&#xff1a;8.10具有java环境,内存最少为4G&#xff0c;cpu双核 目录 jdk安装 …...

【歌曲结构】2:小节与歌曲结构信息整合

歌曲小节与结构信息整合 我将为您整合小节信息与歌曲结构,创建一个更加详细的JSON数据结构。 处理方法 将小节时间与歌曲结构段落进行匹配为每个小节添加所属段落信息为小节添加格式化的时间戳为小节添加对应时间范围内的歌词{"song_title": "财神庙前许三亿…...

商城系统前端

商城系统的前端技术涉及多个层面的技术选型与架构设计&#xff0c;结合搜索结果中的信息&#xff0c;以下是商城系统前端技术的核心要点及实现方案&#xff1a; ​​一、基础技术栈​​ ​​HTML5 & CSS3​​ ​​功能定位​​&#xff1a;作为前端开发的基础&#xff0c;…...

OpenSSH 漏洞-SSH 服务器面临 MitM 攻击和拒绝服务攻击的风险

OpenSSH 发布了安全更新&#xff0c;修复了两个漏洞&#xff0c;一个是 MitM 攻击漏洞&#xff0c;另一个是拒绝服务漏洞&#xff0c;其中一个漏洞是在十多年前引入的。Qualys 发现了这两个漏洞&#xff0c;并向 OpenSSH 的维护人员展示了其可利用性。 OpenSSH&#xff08;开放…...

PostgreSQL MCP 使用案例

## 概述 PostgreSQL MCP&#xff08;PostgreSQL Multi-host Cluster Provisioning&#xff09;是一种用于部署和管理多节点PostgreSQL集群的工具和架构。它提供了高效的数据库集群管理、高可用性保障和负载均衡功能。本文档将介绍PostgreSQL MCP的基本使用方法和常见应用场景。…...

什么是接口文档,如何使用,注意事项有哪些

一、接口文档的核心内容 基础信息 接口名称&#xff1a;明确功能&#xff08;如“用户登录接口”&#xff09;。 接口地址&#xff1a;URL 或 RPC 路径&#xff08;如 /api/v1/login&#xff09;。 请求方法&#xff1a;HTTP 方法&#xff08;GET/POST/PUT/DELETE&#xff09…...

Swagger go中文版本手册

Swaggo(github.com/swaggo/swag)的注解语法是基于 OpenAPI 2.0 (以前称为 Swagger 2.0) 规范的,并添加了一些自己的约定。 主要官方文档: swaggo/swag GitHub 仓库: 这是最权威的来源。 链接: https://github.com/swaggo/swag重点关注: README.md: 包含了基本的安装、使用…...