【数据挖掘】深度挖掘

news2025/2/24 22:48:17

【数据挖掘】深度挖掘

  • 目录:
  • 1. 减少样本集的数量
    • 知识点
    • 示例
  • 2. 对噪声比集剪枝
    • 知识点
    • 示例
      • 建立局部树
      • 代码示例(使用 Python 和 `scikit - learn` 库构建局部决策树)
      • 代码解释
      • 注意事项
    • 最大超平面
      • 定义
      • 原理
      • 求解方法
      • 代码示例(使用 Python 和 `scikit - learn` 库)
      • 代码解释
  • 3. 属性加权
    • 知识点
    • 示例
  • 4. 泛化样本集
    • 知识点
    • 示例
  • 5. 用于泛化样本集距离函数
    • 知识点
    • 示例
  • 6. 局部线性模型用于数据预测
    • 知识点
    • 示例
  • 7. 模型树
        • 知识点
        • 构建树伪代码
    • 对树剪枝
  • 8. 名目属性
    • 知识点
    • 示例
  • 9. 缺失值
    • 知识点
    • 示例
  • 10. 贝叶斯网络
    • 知识点
    • 算法细节
    • 快速学习数据结构
  • 11. 聚类
    • 知识点
    • 层次聚类
    • 增量聚类
    • 基于概率聚类,EM 算法
    • 扩展混合模型
    • 贝叶斯聚类
  • 12. 半监督学习
    • 知识点
    • 用于分类聚类
    • 协同训练
    • 多实例学习
  • 13. 升级学习算法
    • 知识点

目录:

1. 减少样本集的数量

知识点

减少样本集数量可以提高计算效率、降低存储成本,避免过拟合等问题。常见方法有随机采样、分层采样、基于密度的采样等。

  • 随机采样:随机选择一定比例的样本。
  • 分层采样:根据样本的类别分布进行分层,然后在每一层中进行采样,以保证样本类别比例不变。
  • 基于密度的采样:去除密度较低区域的样本。
  • 在这里插入图片描述

示例

假设我们有一个包含 1000 个样本的数据集,要将其减少到 100 个样本。使用随机采样可以这样实现(Python 示例):

import numpy as np

data = np.random.rand(1000, 10)  # 假设数据有 10 个特征
sample_indices = np.random.choice(len(data), 100, replace=False)
reduced_data = data[sample_indices]

2. 对噪声比集剪枝

知识点

噪声比集剪枝是一种处理数据中噪声的方法,通过评估样本的噪声比例,去除噪声较大的样本或对噪声样本进行修正。可以基于样本的预测误差、与邻居样本的差异等指标来判断噪声
在这里插入图片描述

示例

在决策树中,对于某个叶子节点,如果该节点包含的样本中噪声样本比例超过一定阈值,则对该节点进行剪枝。

局部树通常指在特定数据子集或局部区域上构建的树结构模型,比如局部决策树、局部模型树等,以下为你详细介绍构建局部决策树的思路和代码示例:

建立局部树

构建局部树一般按以下步骤进行:

  1. 选择局部数据:确定要构建局部树的数据子集。这可以基于数据的空间位置、与某个查询点的距离、特定的属性值范围等。
  2. 定义树结构:明确使用的树类型,如决策树、回归树等,并确定树的节点结构和划分规则。
  3. 构建树:在选定的局部数据上,根据定义的树结构和划分规则递归地构建树。

代码示例(使用 Python 和 scikit - learn 库构建局部决策树)

import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import make_classification
import matplotlib.pyplot as plt
from sklearn.inspection import DecisionBoundaryDisplay

# 生成示例数据集
X, y = make_classification(n_samples=1000, n_features=2, n_informative=2,
                           n_redundant=0, n_clusters_per_class=1, random_state=42)

# 选择局部数据(例如,选择特征 0 在 [0, 1] 范围内的数据)
local_indices = np.where((X[:, 0] >= 0) & (X[:, 0] <= 1))[0]
X_local = X[local_indices]
y_local = y[local_indices]

# 构建局部决策树
local_tree = DecisionTreeClassifier(max_depth=3)
local_tree.fit(X_local, y_local)

# 可视化局部决策树的决策边界
disp = DecisionBoundaryDisplay.from_estimator(
    local_tree, X_local, response_method="predict",
    alpha=0.5,
)
disp.ax_.scatter(X_local[:, 0], X_local[:, 1], c=y_local, edgecolor="k")
plt.title("Local Decision Tree Decision Boundary")
plt.show()

在这里插入图片描述

代码解释

  1. 数据生成:使用 make_classification 函数生成一个二维的分类数据集。
  2. 选择局部数据:通过 np.where 函数选择特征 0 在 [0, 1] 范围内的数据作为局部数据。
  3. 构建局部决策树:使用 DecisionTreeClassifier 构建一个最大深度为 3 的决策树,并在局部数据上进行训练。
  4. 可视化决策边界:使用 DecisionBoundaryDisplay 可视化局部决策树的决策边界,并将局部数据点绘制在图上。

注意事项

  • 局部数据选择:局部数据的选择方式会影响局部树的性能和适用范围。可以根据具体问题选择合适的局部数据选择策略。
  • 树的复杂度:为了避免过拟合,需要控制局部树的复杂度,例如限制树的深度、叶子节点的最小样本数等。

最大超平面

定义

在二分类问题中,如果数据是线性可分的,那么存在无数个超平面可以将不同类别的数据分开。最大超平面是指在这些能够正确分类的超平面中,使得两类数据到该超平面的间隔(margin)最大的那个超平面。

n n n 维空间中,超平面可以用方程 w T x + b = 0 \mathbf{w}^T\mathbf{x} + b = 0 wTx+b=0 来表示,其中 w \mathbf{w} w 是超平面的法向量, x \mathbf{x} x 是空间中的点, b b b 是偏置项。对于线性可分的数据集,我们希望找到合适的 w \mathbf{w} w b b b 来确定最大超平面

原理

最大超平面的目标是最大化两类数据到超平面的间隔。间隔定义为离超平面最近的样本点到超平面的距离的两倍。这些离超平面最近的样本点被称为支持向量(Support Vectors)。

对于一个样本点 x i \mathbf{x}_i xi,它到超平面 w T x + b = 0 \mathbf{w}^T\mathbf{x} + b = 0 wTx+b=0 的距离为:
在这里插入图片描述

在二分类问题中,假设正类样本的标签 y i = + 1 y_i = +1 yi=+1
负类样本的标签 y i = − 1 y_i = -1 yi=1。为了方便计算间隔,我们可以对超平面进行缩放,使得对于支持向量有
y i ( w T x i + b ) = 1 y_i(\mathbf{w}^T\mathbf{x}_i + b) = 1 yi(wTxi+b)=1。这样,间隔就可以表示为 2 ∥ w ∥ \frac{2}{\|\mathbf{w}\|} w2
因此,求解最大超平面的问题就转化为在满足分类约束条件 y i ( w T x i + b ) ≥ 1 y_i(\mathbf{w}^T\mathbf{x}_i + b) \geq 1 yi(wTxi+b)1 i = 1 , 2 , ⋯   , n i = 1, 2, \cdots, n i=1,2,,n)的情况下,最小化 1 2 ∥ w ∥ 2 \frac{1}{2}\|\mathbf{w}\|^2 21w2 的优化问题。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

求解方法

上述优化问题是一个带约束的 凸二次规划问题,可以使用拉格朗日乘数法将其转化为对偶问题进行求解。引入拉格朗日乘子 α i ≥ 0 \alpha_i \geq 0 αi0 i = 1 , 2 , ⋯   , n i = 1, 2, \cdots, n i=1,2,,n),
构造拉格朗日函数:
在这里插入图片描述

通过对 w \mathbf{w} w b b b 求偏导数并令其为 0,可以得到对偶问题:

在这里插入图片描述

求解对偶问题得到拉格朗日乘子 α i \alpha_i αi 后,可以进一步计算出 w \mathbf{w} w b b b 的值,从而确定最大超平面。

代码示例(使用 Python 和 scikit - learn 库)

import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm
from sklearn.datasets import make_blobs

# 生成线性可分的二维数据集
X, y = make_blobs(n_samples=40, centers=2, random_state=6)

# 创建 SVM 分类器并拟合数据
clf = svm.SVC(kernel='linear', C=1000)
clf.fit(X, y)

# 绘制数据点
plt.scatter(X[:, 0], X[:, 1], c=y, s=30, cmap=plt.cm.Paired)

# 绘制最大超平面和间隔边界
ax = plt.gca()
xlim = ax.get_xlim()
ylim = ax.get_ylim()

# 创建网格点
xx = np.linspace(xlim[0], xlim[1], 30)
yy = np.linspace(ylim[0], ylim[1], 30)
YY, XX = np.meshgrid(yy, xx)
xy = np.vstack([XX.ravel(), YY.ravel()]).T
Z = clf.decision_function(xy).reshape(XX.shape)

# 绘制最大超平面和间隔边界
ax.contour(XX, YY, Z, colors='k', levels=[-1, 0, 1], alpha=0.5, linestyles=['--', '-', '--'])

# 绘制支持向量
ax.scatter(clf.support_vectors_[:, 0], clf.support_vectors_[:, 1], s=100,
           linewidth=1, facecolors='none', edgecolors='k')
plt.show()

代码解释

  1. 数据生成:使用 make_blobs 函数生成一个线性可分的二维数据集。
  2. 创建 SVM 分类器:使用 svm.SVC 创建一个线性核的 SVM 分类器,并使用 fit 方法拟合数据。
  3. 绘制数据点:使用 plt.scatter 绘制数据点。
  4. 绘制最大超平面和间隔边界:通过 clf.decision_function 计算每个网格点到超平面的距离,并使用 plt.contour 绘制最大超平面和间隔边界。
  5. 绘制支持向量:使用 clf.support_vectors_ 获取支持向量,并使用 plt.scatter 绘制支持向量。

3. 属性加权

知识点

属性加权是指为不同的属性分配不同的权重,以突出某些属性在模型中的重要性。可以基于属性的信息增益、相关性等指标来确定权重

示例

在 k - 近邻算法中,不同属性的权重可以根据其对分类结果的影响来确定。假设我们有两个属性 x 1 x_1 x1 x 2 x_2 x2,计算它们的信息增益分别为 I G 1 IG_1 IG1 I G 2 IG_2 IG2,则属性权重 w 1 = I G 1 I G 1 + I G 2 w_1=\frac{IG_1}{IG_1 + IG_2} w1=IG1+IG2IG1 w 2 = I G 2 I G 1 + I G 2 w_2=\frac{IG_2}{IG_1 + IG_2} w2=IG1+IG2IG2

4. 泛化样本集

知识点

泛化样本集是指能够代表整个数据集特征的样本集合,用于训练模型以提高模型的泛化能力。可以通过数据增强、采样等方法来构建泛化样本集。

示例

在图像识别中,对原始图像进行旋转、翻转、缩放等操作,生成新的样本,与原始样本一起构成泛化样本集。

5. 用于泛化样本集距离函数

知识点

距离函数用于衡量样本之间的相似度或距离,在泛化样本集中,常用的距离函数有欧氏距离、曼哈顿距离、余弦相似度等。

  • 欧氏距离: d ( x , y ) = ∑ i = 1 n ( x i − y i ) 2 d(x,y)=\sqrt{\sum_{i = 1}^{n}(x_i - y_i)^2} d(x,y)=i=1n(xiyi)2
  • 曼哈顿距离: d ( x , y ) = ∑ i = 1 n ∣ x i − y i ∣ d(x,y)=\sum_{i = 1}^{n}|x_i - y_i| d(x,y)=i=1nxiyi
  • 余弦相似度: s i m ( x , y ) = x ⋅ y ∣ ∣ x ∣ ∣ ⋅ ∣ ∣ y ∣ ∣ sim(x,y)=\frac{x\cdot y}{||x||\cdot||y||} sim(x,y)=∣∣x∣∣∣∣y∣∣xy

示例

import numpy as np

x = np.array([1, 2, 3])
y = np.array([4, 5, 6])

# 欧氏距离
euclidean_distance = np.linalg.norm(x - y)

# 曼哈顿距离
manhattan_distance = np.sum(np.abs(x - y))

print("欧氏距离:", euclidean_distance)
print("曼哈顿距离:", manhattan_distance)

6. 局部线性模型用于数据预测

知识点

局部线性模型是在局部邻域内使用线性模型进行数据预测。对于一个待预测的样本,首先找到其最近的 k 个邻居样本,然后在这些邻居样本上拟合一个线性模型,最后使用该线性模型进行预测

示例

假设我们有一个二维数据集,使用局部线性模型预测一个新样本的值(Python 示例):

from sklearn.neighbors import NearestNeighbors
from sklearn.linear_model import LinearRegression
import numpy as np

# 生成数据
X = np.random.rand(100, 2)
y = 2 * X[:, 0] + 3 * X[:, 1] + np.random.randn(100)

# 待预测样本
new_sample = np.array([[0.5, 0.5]])

# 找到最近的 k 个邻居
k = 10
nbrs = NearestNeighbors(n_neighbors=k, algorithm='ball_tree').fit(X)
distances, indices = nbrs.kneighbors(new_sample)

# 提取邻居样本
neighbor_X = X[indices[0]]
neighbor_y = y[indices[0]]

# 拟合线性模型
model = LinearRegression()
model.fit(neighbor_X, neighbor_y)

# 预测
prediction = model.predict(new_sample)
print("预测值:", prediction)

7. 模型树

知识点

模型树是一种回归树,每个叶子节点包含一个线性模型。在构建模型树时,通过递归划分数据集,使得每个划分区域内的数据可以用一个线性模型来近似
在这里插入图片描述

构建树伪代码
function BuildModelTree(data):
    if 满足停止条件(如数据集中样本数少于阈值、误差小于阈值等):
        拟合一个线性模型并返回该叶子节点
    选择最佳划分属性和划分点
    将数据集根据划分点划分为左右子数据集
    左子树 = BuildModelTree(左子数据集)
    右子树 = BuildModelTree(右子数据集)
    返回以当前节点为根,左右子树为子节点的树

对树剪枝

剪枝是为了避免过拟合,常用的剪枝方法有预剪枝和后剪枝。预剪枝在树构建过程中提前停止划分,后剪枝在树构建完成后对节点进行合并或删除。

8. 名目属性

知识点

名目属性是指属性值为离散的、无序的类别,如颜色(红、绿、蓝)、性别(男、女)等。在处理名目属性时,常用的方法有独热编码、标签编码等。

示例

import pandas as pd

data = {'颜色': ['红', '绿', '蓝']}
df = pd.DataFrame(data)
one_hot_encoded = pd.get_dummies(df, columns=['颜色'])
print(one_hot_encoded)

9. 缺失值

知识点

数据中可能存在缺失值,处理缺失值的方法有删除包含缺失值的样本、使用均值/中位数/众数填补、使用预测模型填补等。

示例

import pandas as pd
import numpy as np

data = {'年龄': [20, np.nan, 30], '性别': ['男', '女', np.nan]}
df = pd.DataFrame(data)

# 使用均值填补年龄列的缺失值
df['年龄'] = df['年龄'].fillna(df['年龄'].mean())

# 使用众数填补性别列的缺失值
df['性别'] = df['性别'].fillna(df['性别'].mode()[0])

print(df)

10. 贝叶斯网络

知识点

贝叶斯网络是一种概率图模型,用于表示变量之间的依赖关系。它由节点和有向边组成,节点表示随机变量,有向边表示变量之间的条件依赖关系。通过贝叶斯网络可以进行概率推理和预测。
在这里插入图片描述

算法细节

  • 结构学习:确定贝叶斯网络的拓扑结构,可以使用基于评分的方法(如贝叶斯信息准则)或基于约束的方法(如条件独立性测试)。
  • 参数学习:在确定结构后,估计每个节点的条件概率分布,可以使用最大似然估计或贝叶斯估计。

快速学习数据结构

**

可以使用一些高效的数据结构来加速贝叶斯网络的学习,如树结构、图结构等。例如,使用 Chow - Liu
算法可以在多项式时间内学习到一个近似最优的贝叶斯网络结构。

**

11. 聚类

知识点

聚类是将数据集中的样本划分为不同的组(簇),使得同一簇内的样本相似度高,不同簇之间的样本相似度低。常见的聚类方法有层次聚类、增量聚类、基于概率聚类等。

层次聚类

  • 知识点:层次聚类通过不断合并或分裂簇来构建聚类层次结构,分为凝聚式层次聚类(自底向上)和分裂式层次聚类(自顶向下)。
  • 示例(Python)
from sklearn.cluster import AgglomerativeClustering
import numpy as np

X = np.array([[1, 2], [1, 4], [1, 0],
              [4, 2], [4, 4], [4, 0]])
clustering = AgglomerativeClustering().fit(X)
print(clustering.labels_)

增量聚类

  • 知识点增量聚类适用于动态数据集,当新样本到来时,不需要重新对整个数据集进行聚类,而是在已有聚类结果的基础上进行更新

基于概率聚类,EM 算法

  • 知识点:基于概率聚类假设数据是由多个概率分布混合而成的,通过估计每个概率分布的参数来进行聚类。EM 算法是一种迭代算法,用于估计混合模型的参数,包括 E 步(期望步)和 M 步(最大化步)。
  • 示例(Python)
from sklearn.mixture import GaussianMixture
import numpy as np

X = np.array([[1, 2], [1, 4], [1, 0],
              [4, 2], [4, 4], [4, 0]])
gmm = GaussianMixture(n_components=2).fit(X)
labels = gmm.predict(X)
print(labels)

在这里插入图片描述

扩展混合模型

扩展混合模型是对基本混合模型的扩展,如引入更多的参数或更复杂的概率分布。

贝叶斯聚类

贝叶斯聚类使用贝叶斯方法来进行聚类,通过计算每个样本属于不同簇的后验概率来进行聚类

12. 半监督学习

知识点

半监督学习利用少量的有标签样本和大量的无标签样本进行学习,常见的应用场景有分类和聚类。

用于分类聚类

  • 分类:可以使用半监督分类算法,如自训练、协同训练等,利用无标签样本提高分类性能。
  • 聚类:半监督聚类可以利用有标签样本的信息来指导聚类过程,使得聚类结果更符合先验知识。

协同训练

  • 知识点协同训练假设数据有两个不同的视图,每个视图可以独立地进行学习。通过交替训练两个分类器,利用一个分类器对无标签样本的预测结果来为另一个分类器提供额外的有标签样本

多实例学习

  • 知识点:多实例学习中,每个样本由多个实例组成,只有样本的标签是已知的,实例的标签未知。目标是学习一个模型来预测样本的标签。

13. 升级学习算法

知识点

升级学习算法是指对现有的学习算法进行改进和优化,以提高算法的性能和效率。可以从算法的复杂度、准确性、鲁棒性等方面进行升级。例如,对决策树算法进行剪枝优化、对神经网络算法进行架构改进等。

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

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

相关文章

【Linux】基于UDP/TCP套接字编程与守护进程

目录 一、网路套接字编程 &#xff08;一&#xff09;基础概念 1、源IP地址与目的IP地址 2、端口号 3、TCP与UDP 4、网络字节序 &#xff08;二&#xff09;套接字编程接口 1、socket 常见API 2、sockaddr结构 &#xff08;三&#xff09;UDP套接字 1、UDP服务器创建…

C++跳表实现,封装成Skiplist类

跳表 (Skip List) 是由 William Pugh 发明的一种查找数据结构&#xff0c;支持对数据的快速查找&#xff0c;插入和删除。 跳表的期望空间复杂度为O(n) &#xff0c;跳表的查询&#xff0c;插入和删除操作的期望时间复杂度都为O(logn)。 算法讲解149【扩展】有序表专题2-跳表_哔…

【uni-app】对齐胶囊容器组件

代码碎片 <template><div><view :style"{ height: ${statusBarHeight}px }"></view><viewclass"":style"{height: ${menuButtonHeight menuButtonPadding * 2}px,width: ${menuButtonInfo.left}px,}"><slot …

计算机毕业设计SpringBoot+Vue.jst0甘肃非物质文化网站(源码+LW文档+PPT+讲解)

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

制造行业CRM选哪家?中大型企业CRM选型方案

在当今竞争激烈的制造行业中&#xff0c;企业对于客户关系管理&#xff08;CRM&#xff09;系统的需求日益增强&#xff0c;高效、智能的CRM系统已成为推动企业业务增长、优化客户体验的关键。在制造业 CRM 市场中&#xff0c;纷享销客和销售易都备受关注&#xff0c;且各自有着…

R 语言科研绘图 --- 散点图-汇总

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…

从零开始的网站搭建(以照片/文本/视频信息通信网站为例)

本文面向已经有一些编程基础&#xff08;会至少一门编程语言&#xff0c;比如python&#xff09;&#xff0c;但是没有搭建过web应用的人群&#xff0c;会写得尽量细致。重点介绍流程和部署云端的步骤&#xff0c;具体javascript代码怎么写之类的&#xff0c;这里不会涉及。 搭…

Elasticsearch Open Inference API 增加了对 Jina AI 嵌入和 Rerank 模型的支持

作者&#xff1a;Hemant Malik 及 Joan Fontanals Martnez 探索如何使用 Elasticsearch Open Inference API 访问 Jina AI 模型。 我们在 Jina AI 的朋友们将 Jina AI 的嵌入模型和重新排名产品的原生集成添加到 Elasticsearch 开放推理 API 中。这包括对行业领先的多语言文本嵌…

Unity学习part4

1、ui界面的基础使用 ui可以在2d和矩形工具界面下操作&#xff0c;更方便&#xff0c;画布与游戏窗口的比例一般默认相同 如图所示&#xff0c;图片在画布上显示的位置和在游戏窗口上显示的位置是相同的 渲染模式&#xff1a;屏幕空间--覆盖&#xff0c;指画布覆盖在游戏物体渲…

进程概念、PCB及进程查看

文章目录 一.进程的概念进程控制块&#xff08;PCB&#xff09; 二.进程查看通过指令查看进程通过proc目录查看进程的cwd和exe获取进程pid和ppid通过fork()创建子进程 一.进程的概念 进程是一个运行起来的程序&#xff0c;而程序是存放在磁盘的&#xff0c;cpu要想执行程序的指…

php session数据存储位置选择

PHP session 数据的存储位置可以通过配置文件或者代码来进行设置。默认情况下&#xff0c;session 数据是存储在服务器的文件系统中的。你可以将 session 数据存储在其他地方&#xff0c;例如数据库、缓存等。 基础概念 PHP session默认情况下将数据存储在服务器端的临时文件中…

计算机网络————(一)HTTP讲解

基础内容分类 从TCP/IP协议栈为依托&#xff0c;由上至下、从应用层到基础设施介绍协议。 1.应用层&#xff1a; HTTP/1.1 Websocket HTTP/2.0 2.应用层的安全基础设施 LTS/SSL 3.传输层 TCP 4.网络层及数据链路层 IP层和以太网 HTTP协议 网络页面形成基本 流程&#xff1a…

【Viewer.js】vue3封装图片查看器

效果图 需求 点击图片放大可关闭放大的 图片 下载 cnpm in viewerjs状态管理方法 stores/imgSeeStore.js import { defineStore } from pinia export const imgSeeStore defineStore(imgSeeStore, {state: () > ({showImgSee: false,ImgUrl: ,}),getters: {},actions: {…

数据结构之二叉树的定义及实现

1. 树的概念 主要的定义&#xff1a; 节点的度&#xff1a;一个节点含有的子树的个数称为该节点的度&#xff1b;如上图&#xff1a;A的为6 叶节点或终端节点&#xff1a;度为0的节点称为叶节点&#xff1b;如上图&#xff1a;B&#xff0c;C&#xff0c;H&#xff0c;I等节点…

Rust语言基础知识详解【一】

1.在windows上安装Rust Windows 上安装 Rust 需要有 C 环境&#xff0c;以下为安装的两种方式&#xff1a; 1. x86_64-pc-windows-msvc&#xff08;官方推荐&#xff09; 先安装 Microsoft C Build Tools&#xff0c;勾选安装 C 环境即可。安装时可自行修改缓存路径与安装路…

SQLMesh 系列教程9- 宏变量及内置宏变量

SQLMesh 的宏变量是一个强大的工具&#xff0c;能够显著提高 SQL 模型的动态化能力和可维护性。通过合理使用宏变量&#xff0c;可以实现动态时间范围、多环境配置、参数化查询等功能&#xff0c;从而简化数据模型的开发和维护流程。随着数据团队的规模扩大和业务复杂度的增加&…

【Deepseek】Linux 本地部署 Deepseek

前言 本文介绍在 Linux 系统上部署 Deepseek AI。本文教程是面向所有想体验 AI 玩家的一个简易教程&#xff0c;因此即使是小白也可以轻松完成体验&#xff0c;话不多说立马着手去干。 [注]&#xff1a;笔者使用的系统为 Ubuntu 24.10 1. 关于 ollama Ollama 是一款开源应用…

git,bash - 从一个远端git库只下载一个文件的方法

文章目录 git,bash - 从一个远端git库只下载一个文件的方法概述笔记写一个bash脚本来自动下载get_github_raw_file_from_url.shreanme_file.shfind_key_value.sh执行命令 END git,bash - 从一个远端git库只下载一个文件的方法 概述 github上有很多大佬上传了电子书库&#xf…

臻识相机,华夏相机,芊熠车牌识别相机加密解密

臻识&#xff0c;华夏&#xff0c;芊熠这三种车牌识别相机解密我都试过了&#xff0c;可以正常解密成功&#xff0c;其它品牌我暂时没有测试。超级简单&#xff0c;免费的&#xff0c;白嫖无敌&#xff01; 流程&#xff1a; ①&#xff1a;先导出配置文件&#xff0c;例如我以…

网络安全与措施

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 # 网络安全问题概述 1) 数据安全 访问&#xff08;授权访问&#xff09;&#xff1b;存储&#xff08;容灾、备份或异地备份等&#xff09; 2) 应用程序 不能…