机器学习18个核心算法模型

news2025/1/19 20:19:15

1. 线性回归(Linear Regression)

用于建立自变量(特征)和因变量(目标)之间的线性关系。

核心公式:

简单线性回归的公式为: y\widetilde{} = \beta + \alpha x\widetilde{} , 其中 y\widetilde{}是预测值,\beta 是截距, \alpha是斜率, x\widetilde{}是自变量。

代码案例:

from sklearn.linear_model import LinearRegression
import numpy as np

# 创建一些随机数据
X = np.array([[1], [2], [3], [4]])
y = np.array([2, 4, 6, 8])

# 拟合模型
model = LinearRegression().fit(X, y)

# 预测
y_pred = model.predict(X)

print("预测值:", y_pred)

 

2. 逻辑回归(Logistic Regression)

用于处理分类问题,通过一个 S 形的函数将输入映射到 0 到 1 之间的概率。

核心公式:

逻辑回归的公式为:P (y = 1|x)= \frac{1}{1+e^{-|\beta +\alpha x|}} 其中P (y = 1|x)  是给定输入 x下预测 y = 1为 1 的概率,\beta是截距, \alpha是权重, e是自然常数。

代码案例:

from sklearn.linear_model import LogisticRegression
import numpy as np

# 创建一些随机数据
X = np.array([[1], [2], [3], [4]])
y = np.array([0, 0, 1, 1])

# 拟合模型
model = LogisticRegression().fit(X, y)

# 预测
y_pred = model.predict(X)

print("预测值:", y_pred)

 

3. 决策树(Decision Tree)

通过一系列决策来学习数据的分类规则或者数值预测规则,可解释性强

核心公式:

决策树的核心在于树的构建和节点分裂的规则,其本身没有明确的数学公式。

代码案例:

from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 载入数据
iris = load_iris()
X = iris.data
y = iris.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练模型
model = DecisionTreeClassifier()
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)

4. 支持向量机(Support Vector Machine,SVM)

用于分类和回归分析的监督学习模型,能够在高维空间中构造超平面或超平面集合,实现对数据的有效分类。

核心公式:

SVM 的目标是找到一个最优超平面,使得两个类别的间隔最大化。分类器的决策函数为:

f(x) = \sin (\sum_{i=1}^{N}\alpha_{i}y_{i} K(x_{i},x)+b) 其中  N是要分类的样本,x_{i} 是支持向量,y_{i} 是对应支持向量的系数,\alpha _{i} 是支持向量的标签, K(x_{i},x)是核函数, b 是偏置。

代码案例:

from sklearn.svm import SVC
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 载入数据
iris = load_iris()
X = iris.data
y = iris.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练模型
model = SVC()
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)

 

5. 朴素贝叶斯(Naive Bayes)

基于贝叶斯定理和特征条件独立假设的分类算法,常用于文本分类和垃圾邮件过滤。

核心公式:

朴素贝叶斯分类器基于贝叶斯定理计算后验概率,其公式为:P(y|x_{1},x_{2} , ...,x_{n}) = \frac{P(y)P(x_{1},x_{2} , ...,x_{n}|P(y))}{P(x_{1},x_{2} , ...,x_{n})}其中P(y|x_{1},x_{2} , ...,x_{n})是给定特征x_{1},x_{2} , ...,x_{n}下类别y的后验概率,P(y)是类别y的先验概率P(x_{i}|P(y))是在类别y下特征x_{i}的条件概率,P(x_{1},x_{2} , ...,x_{n})是特征x_{1},x_{2} , ...,x_{n} 的联合概率。

代码案例:

from sklearn.naive_bayes import GaussianNB
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 载入数据
iris = load_iris()
X = iris.data
y = iris.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练模型
model = GaussianNB()
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)

6. K近邻算法(K-Nearest Neighbors,KNN)

一种基本的分类和回归方法,它的基本假设是“相似的样本具有相似的输出”。

核心公式:

KNN 的核心思想是根据输入样本的特征,在训练集中找到与之最接近的  个样本,然后根据这  个样本的标签来预测输入样本的标签。没有明确的数学公式,其预测公式可以简单表示为投票机制。

代码案例:

from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 载入数据
iris = load_iris()
X = iris.data
y = iris.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练模型
model = KNeighborsClassifier()
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)

 

7. 聚类算法(Clustering)

聚类是一种无监督学习方法,将数据集中的样本划分为若干组,使得同一组内的样本相似度较高,不同组之间的样本相似度较低。

核心公式:

常见的聚类算法包括 K 均值聚类和层次聚类等,它们的核心在于距离计算和簇的更新规则。

代码案例:

这里以 K 均值聚类为例。

from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt

# 创建一些随机数据
X, _ = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)

# 训练模型
model = KMeans(n_clusters=4)
model.fit(X)

# 可视化聚类结果
plt.scatter(X[:, 0], X[:, 1], c=model.labels_, s=50, cmap='viridis')
centers = model.cluster_centers_
plt.scatter(centers[:, 0], centers[:, 1], c='red', s=200, alpha=0.5)
plt.show()

8. 神经网络(Neural Networks)

神经网络是一种模拟人脑神经元网络的计算模型,通过调整神经元之间的连接权重来学习数据的复杂关系。

核心公式:

神经网络的核心在于前向传播和反向传播过程,其中涉及到激活函数、损失函数等。

代码案例:

这里以使用 TensorFlow 实现一个简单的全连接神经网络为例。

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 创建一些随机数据
X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, random_state=42)

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 构建神经网络模型
model = Sequential([
    Dense(64, activation='relu', input_shape=(20,)),
    Dense(64, activation='relu'),
    Dense(1, activation='sigmoid')
])

# 编译模型
model.compile(optimizer='adam',
            loss='binary_crossentropy',
            metrics=['accuracy'])

# 训练模型
model.fit(X_train, y_train, epochs=10, batch_size=32, validation_data=(X_test, y_test))

# 评估模型
loss, accuracy = model.evaluate(X_test, y_test)
print("准确率:", accuracy)

 

9. 集成方法(Ensemble Methods)

集成方法通过组合多个基分类器(或回归器)的预测结果来改善泛化能力和准确性。

核心公式:

集成方法的核心在于不同的组合方式,常见的包括 Bagging、Boosting 和随机森林等。

代码案例:

这里以随机森林为例。

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 载入数据
iris = load_iris()
X = iris.data
y = iris.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练模型
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)

 

10. 降维算法(Dimensionality Reduction)

降维算法用于减少数据集的维度,保留数据集的重要特征,可以用于数据可视化和提高模型性能。

核心公式:

主成分分析(PCA)是一种常用的降维算法,其核心是通过线性变换将原始数据映射到一个新的坐标系中,选择新坐标系上方差最大的方向作为主要特征。

代码案例:

from sklearn.decomposition import PCA
from sklearn.datasets import load_iris

# 载入数据
iris = load_iris()
X = iris.data

# 使用 PCA 进行降维
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)

print("降维后的数据维度:", X_pca.shape)

11. 主成分分析(Principal Component Analysis,PCA)

主成分分析是一种常用的降维算法,用于发现数据中的主要特征。

核心公式:

PCA 的核心是特征值分解,将原始数据的协方差矩阵分解为特征向量和特征值,通过选取特征值较大的特征向量进行降维。

代码案例:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris

# 载入数据
iris = load_iris()
X = iris.data
y = iris.target

# 使用 PCA 进行降维
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)

# 可视化降维结果
plt.figure(figsize=(8, 6))
for i in range(len(np.unique(y))):
plt.scatter(X_pca[y == i, 0], X_pca[y == i, 1], label=iris.target_names[i])
plt.xlabel('Principal Component 1')
plt.ylabel('Principal Component 2')
plt.title('PCA of IRIS dataset')
plt.legend()
plt.show()

 

12. 支持向量回归(Support Vector Regression,SVR)

SVR 是一种使用支持向量机(SVM)进行回归分析的方法,能够有效处理线性和非线性回归问题。

核心公式:

SVR 的核心在于损失函数的定义和对偶问题的求解,其目标是最小化预测值与真实值之间的误差,同时保持预测值尽可能接近真实值。具体公式比较复杂,无法简单表示。

代码案例:

from sklearn.svm import SVR
import numpy as np
import matplotlib.pyplot as plt

# 创建一些随机数据
X = np.sort(5 * np.random.rand(100, 1), axis=0)
y = np.sin(X).ravel()

# 添加噪声
y[::5] += 3 * (0.5 - np.random.rand(20))

# 训练模型
model = SVR(kernel='rbf', C=100, gamma=0.1, epsilon=.1)
model.fit(X, y)

# 预测
X_test = np.linspace(0, 5, 100)[:, np.newaxis]
y_pred = model.predict(X_test)

# 可视化结果
plt.scatter(X, y, color='darkorange', label='data')
plt.plot(X_test, y_pred, color='navy', lw=2, label='prediction')
plt.xlabel('data')
plt.ylabel('target')
plt.title('Support Vector Regression')
plt.legend()
plt.show()

 

13. 核方法(Kernel Methods)

核方法是一种通过在原始特征空间中应用核函数来学习非线性模型的方法,常用于支持向量机等算法。

核心公式:

核方法的核心在于核函数的选择和应用,常见的核函数包括线性核、多项式核和高斯核等,其具体形式取决于核函数的选择。

代码案例:

from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
import matplotlib.pyplot as plt
import numpy as np

# 创建一些随机数据
X, y = make_classification(n_samples=100, n_features=2, n_informative=2, n_redundant=0, random_state=42)

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 定义一个高斯核支持向量机模型
model = SVC(kernel='rbf', gamma='scale', random_state=42)

# 训练模型
model.fit(X_train, y_train)

# 可视化决策边界
plt.figure(figsize=(8, 6))
h = .02
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, cmap=plt.cm.coolwarm, alpha=0.8)
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.coolwarm)
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
plt.title('SVM with RBF Kernel')
plt.show()

13. 核方法(Kernel Methods)

核方法是一种通过在原始特征空间中应用核函数来学习非线性模型的方法,常用于支持向量机等算法。

核心公式:

核方法的核心在于核函数的选择和应用,常见的核函数包括线性核、多项式核和高斯核等,其具体形式取决于核函数的选择。

代码案例:

from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
import matplotlib.pyplot as plt
import numpy as np

# 创建一些随机数据
X, y = make_classification(n_samples=100, n_features=2, n_informative=2, n_redundant=0, random_state=42)

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 定义一个高斯核支持向量机模型
model = SVC(kernel='rbf', gamma='scale', random_state=42)

# 训练模型
model.fit(X_train, y_train)

# 可视化决策边界
plt.figure(figsize=(8, 6))
h = .02
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, cmap=plt.cm.coolwarm, alpha=0.8)
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.coolwarm)
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
plt.title('SVM with RBF Kernel')
plt.show()

 

15. 随机森林(Random Forest)

随机森林是一种集成学习方法,通过构建多个决策树来提高分类性能,具有良好的抗过拟合能力和稳定性。

核心公式:

随机森林的核心在于决策树的集成方式和随机性的引入,具体公式比较复杂,涉及到决策树的建立和集成规则。

代码案例:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# 载入数据
iris = load_iris()
X = iris.data
y = iris.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 定义一个随机森林模型
model = RandomForestClassifier(n_estimators=100, random_state=42)

# 训练模型
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)

 

16. 梯度提升(Gradient Boosting)

梯度提升是一种集成学习方法,通过逐步训练新模型来改善已有模型的预测能力,通常使用决策树作为基础模型。

核心公式:

梯度提升的核心在于损失函数的优化和模型的更新规则,其核心思想是在每一步迭代中拟合一个新模型来拟合之前模型的残差,从而逐步减小残差。

代码案例:

from sklearn.ensemble import GradientBoostingClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 载入数据
iris = load_iris()
X = iris.data
y = iris.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练模型
model = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, random_state=42)
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)

17. AdaBoost(Adaptive Boosting)

AdaBoost 是一种集成学习方法,通过串行训练多个弱分类器,并加大误分类样本的权重来提高分类性能。

核心公式:

AdaBoost 的核心在于样本权重的更新规则和基分类器的组合方式,具体公式涉及到样本权重的调整和分类器权重的更新。

代码案例:

from sklearn.ensemble import AdaBoostClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 载入数据
iris = load_iris()
X = iris.data
y = iris.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练模型
model = AdaBoostClassifier(n_estimators=100, learning_rate=0.1, random_state=42)
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)

 

18. 深度学习(Deep Learning)

深度学习是一种基于人工神经网络的机器学习方法,其核心思想是通过多层非线性变换来学习数据的表示。

核心公式:

深度学习涉及到多层神经网络的构建和优化,其中包括前向传播和反向传播等过程,具体公式和算法较为复杂。

代码案例:

这里以使用 TensorFlow 实现一个简单的深度神经网络(多层感知器)为例。

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 创建一些随机数据
X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, random_state=42)

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 构建深度神经网络模型
model = Sequential([
    Dense(64, activation='relu', input_shape=(20,)),
    Dense(64, activation='relu'),
    Dense(1, activation='sigmoid')
])

# 编译模型
model.compile(optimizer='adam',
            loss='binary_crossentropy',
            metrics=['accuracy'])

# 训练模型
model.fit(X_train, y_train, epochs=10, batch_size=32, validation_data=(X_test, y_test))

# 评估模型
loss, accuracy = model.evaluate(X_test, y_test)
print("准确率:", accuracy)

 

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

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

相关文章

动态规划——浅谈dp如何入门,以及入门题目(值得收藏,持续更新)

前言 动态规划如何入门?如果你问我怎么精通,那我只能告诉你我也不知道,但你要问我怎么入门,那我就可以和你说道说道了. 我并没有能力也不想说你看完就会了,我只是想给大家开个头,你只要知道怎么写了怎么去思考了,你就可以通过刷题来强化思维了,能走多远就看各位的造化了! 动…

【全开源】知识库文档系统(ThinkPHP+FastAdmin)

📚知识库文档系统:解锁知识的无限可能 一款基于ThinkPHPFastAdmin开发的知识库文档系统,可用于企业工作流程的文档管理,结构化记录沉淀高价值信息,形成完整的知识体系,能够轻松提升知识的流转和传播效率&a…

QT: 读写ini配置文件(实现qml界面登录,修改)

目录 一.功能介绍 二.暴露属性 三.指定INI文件的路径和格式。 四.登录操作 1.检查INI文件中是否含有登录信息; 2.读取存储的ID; 3.读取存储的密码; 4.成功返回1;失败返回2; 五.修改账号 1.检查INI文件中是否含有登录信…

C# Onnx E2Pose人体关键点检测

C# Onnx E2Pose人体关键点检测 目录 效果 模型信息 项目 代码 下载 效果 模型信息 Inputs ------------------------- name:inputimg tensor:Float[1, 3, 512, 512] --------------------------------------------------------------- Outputs ---…

pycharm链接auto al服务器

研0提前进组,最近阻力需求是把一个大模型复现,笔者电脑18年老机子,无法满足相应的需求。因此租用auto dl服务器。本文记录自己使用pycharm(专业版)链接auto dl期间踩过的坑。 1.下载pycharm专业版 这一步不解释了&am…

智慧启航 网联无限丨2024高通汽车技术与合作峰会美格智能分论坛隆重举行

5月30日下午,以“智慧启航 网联无限”为主题的2024高通汽车技术与合作峰会&美格智能分论坛在无锡国际会议中心隆重举行,本次论坛由高通技术公司与美格智能技术股份有限公司共同主办,上海市车联网协会、江苏省智能网联汽车产业创新联盟、江…

Android 如何保证开启debug模式之后再启动

很多时候会需要debug看Android启动时候的一些数据,但很多时候会存在自己开启debug后app已经过了自己要debug的那段代码的时机了。 那么怎么样可以保证一定能让启动后不会错过自己要debug的那段代码执行的时机呢? 可以用下面这行命令,其中co…

LabVIEW版本控制

LabVIEW作为一种流行的图形化编程环境,在软件开发中广泛应用。有效地管理版本控制对于确保软件的可靠性和可维护性至关重要。LabVIEW提供了多种方式来管理VI和应用程序的修订历史,以满足不同规模和复杂度的项目需求。 LabVIEW中的VI修订历史 LabVIEW内置…

遭遇Device Association Service占用CPU和内存过高异常

1.异常描述 在蓝牙设备搜索和配对过后,系统界面卡住了,查找了下任务管理器,发现有一个主机服务占用了过多的CPU和内存,且不断的在增长。截图如下: 百度查了下,Device Association Service是一个Win10系统服…

Oracle创建用户/表空间/赋权常规操作

1. 登录oracle su - oracle sqlplus / as sysdba 2.查看库里存在的用户,防止冲突 SELECT username FROM all_users ORDER BY username; 3.查看库里存在的表空间,防止冲突 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space_MB f…

像图一样交流:为大语言模型编码图

译者 | 高永祺 单位 | 东北大学自然语言处理实验室 原文链接:https://blog.research.google/2024/03/talk-like-graph-encoding-graphs-for.html 1.作者介绍 Bahare Fatemi,谷歌蒙特利尔研究部门的研究科学家,专门从事图表示学习和自然语言…

关于nginx的一些介绍

一、Nginx 简介 中文简介文档 二、Centos 安装 Nginx 2.1 安装编译工具及库文件 $ yum -y install make zlib zlib-devel gcc-c libtool openssl openssl-devel2.2 安装 pcre pcre 作用是 Nginx 支持 Rewrite 功能 $ cd /usr/local/src $ wget http://downloads.sourcef…

VUE3 学习笔记(12):对比Vuex与Pinia状态管理的基本理解

在组件传值中,当嵌套关系越来越复杂的时候必然会将混乱,是否可以把一些值存在一个公共位置,无须传值直接调用呢?VUEX应运而生,但是从VUE3开始对VUEX的支持就不那么高了,官方推荐使用Pinia。 Vuex配置 ST1:…

1.1 OpenCV随手简记(一)

OpenCV学习篇 OpenCV (Open Source Computer Vision Library) 是一个开源的计算机视觉库,它提供了大量的算法和函数,用于图像处理、计算机视觉和机器学习等领域。 1. OpenCV 简介 1.1 OpenCV 的起源和发展 OpenCV 项目始于 1999 年,由 In…

【C#学习笔记】属性和字段

文章目录 前言属性和字段的区别字段访问修饰符和关键字定义变量类型的定义变量命名变量的赋值 属性 不同的使用情况 前言 最近在工作的过程中常常会觉得自己在程序设计方面的能力还是有欠缺。例如一直对于变量的声明感到不足,在工作中为了图方便总是直接public定义…

计算机图形学入门06:视口变换

在前面的内容中,在MVP变换(模型变换,视图变换,投影变换)完后,所有的物体位置都变换到了[-1, 1]的标准立方体里,下一步要把物体绘制到屏幕(Screen)上。 1.什么是屏幕? 对于图形学来说把屏幕抽象的认为是一个…

解锁EasyRecovery2024专业版!仅需一键点击恢复数据即可完美数据恢复

EasyRecovery2024是一款专业的数据恢复软件,它能够帮助用户找回因各种原因丢失的数据。然而,有些用户为了节省开支,可能会寻找破解版,也就是所谓的crack版本。但是,使用破解版软件存在很多风险,包括但不限于…

开关电源基本原理2

目录 开关电源的传递函数 电感量的计算​编辑 Buck电路分析 Boost电路分析 Buck-Boost电路分析 开关电源的传递函数 占空比Dton/Tton/(tontoff) 由EtVontonVofftoff 得 (适用于所有拓扑) 表1.三种变换器的传递函数 电感量的计算 其中&#xf…

高效数据处理的前沿:【C++】、【Redis】、【人工智能】与【大数据】的深度整合

目录 1.为什么选择 C 和 Redis? 2.人工智能与大数据的背景 1.大数据的挑战 2.人工智能的需求 3.C 与 Redis 的完美结合 1.安装 Redis 和 Redis C 客户端 2.连接 Redis 并进行数据操作 高级数据操作 列表操作 哈希操作 4.与大数据和人工智能结合 5.实际应…

Vue3-Ref Reactive toRef toRefs对比学习、标签ref与组件ref

响应式数据: Ref 作用:定义响应式变量。 语法:let xxx ref(初始值)(里面可以是任何规定内类型、数组等)。 返回值:一个RefImpl的实例对象,简称ref对象或ref,ref对象的value属性是响应式的。 注意点&am…