机器学习模型评估指标

模型的评估指标是衡量一个模型应用于对应任务的契合程度,常见的指标有
  1. 准确率(Accuracy): 正确预测的样本数占总样本数的比例。适用于类别分布均衡的数据集。

  2. 精确率(Precision): 在所有被预测为正类的样本中,实际为正类的比例。高精确率意味着较少的假正例。

  3. 召回率(Recall): 在所有实际为正类的样本中,被正确预测为正类的比例。高召回率意味着较少的假负例。

  4. F1分数(F1 Score): 精确率和召回率的调和平均,是两者之间的平衡指标。F1分数在类别不平衡时特别有用。

  5. AUC-ROC曲线下面积(AUC): ROC曲线下的面积,衡量模型对正负样本的区分能力。AUC值越高,模型性能越好。

  6. 平均精度(Average Precision): 每个类别的精确率的平均值,特别用于多标签分类问题。

  7. 平均召回率(Average Recall): 每个类别的召回率的平均值,同样适用于多标签分类。

  8. 混淆矩阵(Confusion Matrix): 一个表格,显示了实际类别与预测类别之间的关系,可以用来计算上述指标。

  9. 平均F1分数(Average F1 Score): 对每个类别计算F1分数后取平均值。

  10. 马修距离(Mean Absolute Error, MAE): 预测值与真实值之间差的绝对值的平均。

  11. 均方误差(Mean Square Error, MSE): 预测值与真实值之间差的平方的平均值。

  12. 均方根误差(Root Mean Square Error, RMSE): MSE的平方根,提供了误差的尺度化度量。

  13. 对数平均绝对误差(Mean Absolute Percentage Error, MAPE): 预测值与真实值之间差的绝对值的百分比的平均值。

  14. 洛斯损失(Log Loss): 常用于逻辑回归模型,衡量预测概率与实际标签之间的差异。

  15. 杰卡指数(Jaccard Index): 1减去预测类别与真实类别的交集与并集的比例,用于衡量两个集合的相似度。

结合场景来看待这些指标

  1. 分类问题(Classification):

    • 类别不平衡(Class Imbalance): 在这种情况下,召回率(Recall)和F1分数(F1 Score)通常比准确率(Accuracy)更能反映模型性能,因为准确率可能会因为多数类而产生误导。
    • 多类别分类(Multi-class Classification): 精确率(Precision)、召回率(Recall)和F1分数(F1 Score)可以为每个类别单独计算,然后平均得到宏平均(Macro-average)或微平均(Micro-average)指标。
  2. 回归问题(Regression):

    • 均方误差(Mean Squared Error, MSE)和均方根误差(Root Mean Squared Error, RMSE)是衡量预测值与实际值之间差异的常用指标。
    • 平均绝对误差(Mean Absolute Error, MAE)提供了预测误差的平均绝对值,对异常值不敏感。
  3. 异常检测:

    • 查准率(Precision)和召回率(Recall)在这里同样重要,尤其是在异常类别较少的情况下。
  4. 排名问题:

    • 平均精度(Mean Average Precision, MAP)是一个关键指标,它衡量的是模型在整个排名列表中保持高精确度的能力。
  5. 多标签分类:

    • 每个标签的精确率和召回率可以单独计算,然后根据标签的分布进行加权平均。
  6. 多输出问题:

    • 对于每个输出变量,可以单独计算MSE、RMSE或准确率等指标。

1.准确率

即希望11(模型正确预测正例)、10(模型正确预测负例)的占比更高

基本原理

准确率是将预测正确的样本数量与总样本数量之比,它衡量的是模型在整个数据集上的表现。然而,当数据集不平衡(即某一类样本数量明显多于其他类别)时,准确率可能不是一个很好的评估指标,因为即使模型预测所有样本都属于多数类别,也能获得相对较高的准确率。

核心点

代码例子

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, confusion_matrix

# 生成模拟数据集
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 = LogisticRegression()
model.fit(X_train, y_train)

# 在测试集上做预测
y_pred = model.predict(X_test)

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)

# 绘制混淆矩阵
conf_matrix = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:")
print(conf_matrix)

# 绘制评估指标
plt.imshow(conf_matrix, cmap='binary', interpolation='None')
plt.colorbar()
plt.xticks([0, 1])
plt.yticks([0, 1])
plt.xlabel('Predicted Label')
plt.ylabel('True Label')
plt.title('Confusion Matrix')
plt.show()

2.精确率

基本原理

精确率的核心思想是衡量模型在所有预测为正类别的样本中,真正为正类别的样本所占的比例。这个指标对于那些需要准确识别正例的任务尤为重要,比如医学诊断中的疾病检测。高精确率表示模型在识别正例方面有很好的表现。

核心点

代码例子

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import precision_score, confusion_matrix

# 生成模拟数据集
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 = LogisticRegression()
model.fit(X_train, y_train)

# 在测试集上做预测
y_pred = model.predict(X_test)

# 计算精确率
precision = precision_score(y_test, y_pred)
print("Precision:", precision)

# 绘制混淆矩阵
conf_matrix = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:")
print(conf_matrix)

# 绘制评估指标
plt.imshow(conf_matrix, cmap='binary', interpolation='None')
plt.colorbar()
plt.xticks([0, 1])
plt.yticks([0, 1])
plt.xlabel('Predicted Label')
plt.ylabel('True Label')
plt.title('Confusion Matrix')
plt.show()

3.召回率

基本原理

召回率的核心思想是衡量模型在识别正例方面的表现。它强调了模型对于实际为正类别的样本的识别能力,对于那些需要尽量避免漏诊的任务,比如疾病检测,召回率是一个非常重要的评估指标。

核心点

代码例子

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import recall_score, confusion_matrix

# 生成模拟数据集
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 = LogisticRegression()
model.fit(X_train, y_train)

# 在测试集上做预测
y_pred = model.predict(X_test)

# 计算召回率
recall = recall_score(y_test, y_pred)
print("Recall:", recall)

# 绘制混淆矩阵
conf_matrix = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:")
print(conf_matrix)

# 绘制评估指标
plt.imshow(conf_matrix, cmap='binary', interpolation='None')
plt.colorbar()
plt.xticks([0, 1])
plt.yticks([0, 1])
plt.xlabel('Predicted Label')
plt.ylabel('True Label')
plt.title('Confusion Matrix')
plt.show()

4.F1分数

基本原理

F1分数综合考虑了模型的精确率和召回率,因此可以在一定程度上弥补精确率和召回率单独使用时的不足。F1分数越高,表示模型在识别和预测正类别方面的综合表现越好。

核心点

代码例子

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import f1_score, confusion_matrix

# 生成模拟数据集
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 = LogisticRegression()
model.fit(X_train, y_train)

# 在测试集上做预测
y_pred = model.predict(X_test)

# 计算F1分数
f1 = f1_score(y_test, y_pred)
print("F1 Score:", f1)

# 绘制混淆矩阵
conf_matrix = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:")
print(conf_matrix)

# 绘制评估指标
plt.imshow(conf_matrix, cmap='binary', interpolation='None')
plt.colorbar()
plt.xticks([0, 1])
plt.yticks([0, 1])
plt.xlabel('Predicted Label')
plt.ylabel('True Label')
plt.title('Confusion Matrix')

plt.show()

5.ROC曲线和AUC

基本原理

ROC曲线基于真正例率和假正例率,它展示了在不同分类阈值下,模型在识别正例和负例方面的性能。ROC曲线上的点越靠近左上角,表示模型性能越好。AUC是ROC曲线下的面积,它等于ROC曲线与横轴之间的面积,可以用来比较不同模型的性能,AUC越大表示模型性能越好。

核心点

代码例子

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_curve, auc

# 生成模拟数据集
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 = LogisticRegression()
model.fit(X_train, y_train)

# 在测试集上做预测
y_pred_proba = model.predict_proba(X_test)[:, 1]

# 计算ROC曲线和AUC
fpr, tpr, thresholds = roc_curve(y_test, y_pred_proba)
roc_auc = auc(fpr, tpr)
print("AUC:", roc_auc)

# 绘制ROC曲线
plt.figure()
plt.plot(fpr, tpr, color='darkorange', lw=2, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic Curve')
plt.legend(loc="lower right")
plt.show()

6.混淆矩阵

基本原理

混淆矩阵用于描述模型在不同类别上的预测结果,帮助评估模型的分类准确性和错误情况。通过混淆矩阵,可以计算出模型的精确率、召回率、F1分数等评估指标,从而更全面地评估模型的性能。

核心点

代码例子

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix

# 生成模拟数据集
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 = LogisticRegression()
model.fit(X_train, y_train)

# 在测试集上做预测
y_pred = model.predict(X_test)

# 计算混淆矩阵
conf_matrix = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:")
print(conf_matrix)

# 绘制混淆矩阵
plt.imshow(conf_matrix, cmap='binary', interpolation='None')
plt.colorbar()
plt.xticks([0, 1])
plt.yticks([0, 1])
plt.xlabel('Predicted Label')
plt.ylabel('True Label')
plt.title('Confusion Matrix')
plt.show()

7.均方误差

基本原理

均方误差衡量了模型的预测值与真实值之间的平均偏差的平方。当模型的预测值与真实值之间的偏差较大时,MSE会增大;而当偏差较小时,MSE会减小。因此,MSE越小表示模型对数据的拟合程度越好。

核心点

代码例子

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# 生成模拟数据集
X, y = make_regression(n_samples=100, n_features=1, noise=0.1, random_state=42)

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

# 训练线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)

# 在测试集上做预测
y_pred = model.predict(X_test)

# 计算均方误差
mse = mean_squared_error(y_test, y_pred)
print("Mean Squared Error:", mse)

# 绘制评估指标
plt.scatter(X_test, y_test, color='black', label='Actual')
plt.plot(X_test, y_pred, color='blue', linewidth=3, label='Predicted')
plt.title('Actual vs Predicted')
plt.xlabel('X')
plt.ylabel('y')
plt.legend()
plt.show()

8.平均绝对误差

基本原理

平均绝对误差衡量了模型的预测值与真实值之间的平均绝对偏差。当模型的预测值与真实值之间的偏差较大时,MAE会增大;而当偏差较小时,MAE会减小。因此,MAE越小表示模型对数据的拟合程度越好。

核心点

代码例子

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error

# 生成模拟数据集
X, y = make_regression(n_samples=100, n_features=1, noise=0.1, random_state=42)

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

# 训练线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)

# 在测试集上做预测
y_pred = model.predict(X_test)

# 计算平均绝对误差
mae = mean_absolute_error(y_test, y_pred)
print("Mean Absolute Error:", mae)

# 绘制评估指标
plt.scatter(X_test, y_test, color='black', label='Actual')
plt.plot(X_test, y_pred, color='blue', linewidth=3, label='Predicted')
plt.title('Actual vs Predicted')
plt.xlabel('X')
plt.ylabel('y')
plt.legend()
plt.show()

9.对数损失

基本原理

对数损失衡量了模型的预测概率分布与真实标签之间的差异。当模型的预测概率分布与真实标签完全一致时,对数损失为0;当二者差异较大时,对数损失增大。因此,对数损失越小表示模型性能越好。

核心点

代码例子

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import log_loss

# 生成模拟数据集
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 = LogisticRegression()
model.fit(X_train, y_train)

# 在测试集上做预测
y_pred_proba = model.predict_proba(X_test)

# 计算对数损失
logloss = log_loss(y_test, y_pred_proba)
print("Log Loss:", logloss)

# 绘制评估指标
thresholds = np.linspace(0.01, 0.99, 100)
logloss_values = []
for threshold in thresholds:
    y_pred_threshold = (y_pred_proba[:, 1] > threshold).astype(int)
    logloss_values.append(log_loss(y_test, y_pred_threshold))

plt.plot(thresholds, logloss_values)
plt.xlabel('Threshold')
plt.ylabel('Log Loss')
plt.title('Log Loss vs Threshold')
plt.show()

10.R平方

基本原理

R平方衡量了模型对数据的拟合程度,其取值范围在0到1之间。当模型对数据的拟合程度越好时,R平方越接近1;当模型对数据的拟合程度较差时,R平方越接近0。当模型的拟合程度与随机平均水平相当时,R平方可能为负。

核心点

代码例子

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score

# 生成模拟数据集
X, y = make_regression(n_samples=100, n_features=1, noise=0.1, random_state=42)

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

# 训练线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)

# 在测试集上做预测
y_pred = model.predict(X_test)

# 计算R平方
r2 = r2_score(y_test, y_pred)
print("R-squared:", r2)

# 绘制评估指标
plt.scatter(X_test, y_test, color='black', label='Actual')
plt.plot(X_test, y_pred, color='blue', linewidth=3, label='Predicted')
plt.title('Actual vs Predicted')
plt.xlabel('X')
plt.ylabel('y')
plt.legend()
plt.show()

11.交叉验证分数

基本原理

交叉验证分数的原理是通过多次训练和测试模型,利用每次测试集上的性能指标来评估模型的泛化能力。通过多次重复这个过程并计算平均值,可以得到更可靠的性能评估结果。

核心点

代码例子

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression

# 加载数据集
iris = load_iris()
X, y = iris.data, iris.target

# 初始化逻辑回归模型
model = LogisticRegression()

# 计算交叉验证分数
cv_scores = cross_val_score(model, X, y, cv=5, scoring='accuracy')

# 打印交叉验证分数
print("Cross-Validation Scores:", cv_scores)
print("Mean Cross-Validation Score:", np.mean(cv_scores))

# 绘制评估指标
plt.plot(range(1, 6), cv_scores, marker='o')
plt.xlabel('Fold')
plt.ylabel('Accuracy')
plt.title('Cross-Validation Scores')
plt.show()

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于html5实现音乐录音播放动画源码

源码介绍 基于html5实现音乐录音播放动画源码是一款类似Shazam的UI,点击按钮后,会变成为一个监听按钮。旁边会有音符飞入这个监听按钮,最后转换成一个音乐播放器。 效果预览 源码获取 基于html5实现音乐录音播放动画源码

基于深度学习的视觉检测小项目(六) 项目的信号和变量的规划

• 关于前后端分离 当前流行的一种常见的前后端分离模式是vueflask,vueflask模式的前端和后端之间进行数据的传递通常是借助 API(应用程序编程接口)来完成的。vue通过调用后端提供的 API 来获取或提交数据。例如,前端可能通过发送…

文件传输速查表:Windows 和 Linux

文件传输速查表:Windows 和 Linux 免责申明 本文章仅供网络安全相关学习与研究使用,旨在促进技术交流与安全知识普及,严禁将本文内容及相关工具用于未授权的渗透测试或任何违法活动。 重要声明: 由于传播、使用本文章所提供的信…

基于SpringBoot+Vue的“有光”摄影分享网站系统

基于SpringBootVue的“有光”摄影分享网站系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末附源码下载链接&#x1f345…

课题推荐——基于GPS的无人机自主着陆系统设计

关于“基于GPS的无人机自主着陆系统设计”的详细展开,包括项目背景、具体内容、实施步骤和创新点。如需帮助,或有导航、定位滤波相关的代码定制需求,请点击文末卡片联系作者 文章目录 项目背景具体内容实施步骤相关例程MATLAB例程python例程 …

腾讯云AI代码助手编程挑战赛-凯撒密码解码编码器

作品简介 在CTFer选手比赛做crypto的题目时,一些题目需要自己去解密,但是解密的工具大部分在线上,而在比赛过程中大部分又是无网环境,所以根据要求做了这个工具 技术架构 python语言的tk库来完成的GUI页面设计,通过…

《机器学习》集成学习之随机森林

目录 一、集成学习 1、简介 2、集成学习的代表 3、XGBoost和随机森林的对比 相同点: 不同点: 二、Bagging之随机森林 1、简介 2、随机森林的核心思想 3、随机森林生成步骤 4、随机森林的优点 5、随机森林的缺点 三、随机森林的代码实现 1、…

四、VSCODE 使用GIT插件

VSCODE 使用GIT插件 一下载git插件与git Graph插件二、git插件使用三、文件提交到远程仓库四、git Graph插件 一下载git插件与git Graph插件 二、git插件使用 git插件一般VSCode自带了git,就是左边栏目的图标 在下载git软件后vscode的git插件会自动识别当前项目 …

JS进阶--JS听到了不灭的回响

作用域 作用域(scope)规定了变量能够被访问的“范围”,离开了这个“范围”变量便不能被访问 作用域分为局部和全局 局部作用域 局部作用域分为函数和块 那 什么是块作用域呢? 在 JavaScript 中使用 { } 包裹的代码称为代码块…

《自动驾驶与机器人中的SLAM技术》ch1:自动驾驶

目录 1.1 自动驾驶技术 1.2 自动驾驶中的定位与地图 1.1 自动驾驶技术 1.2 自动驾驶中的定位与地图 L2 在技术实现上会更倾向于实时感知,乃至可以使用感知结果直接构建鸟瞰图(bird eye view, BEV),而 L4 则依赖离线地图。 高精地…

【合作原创】使用Termux搭建可以使用的生产力环境(九)

前言 在上一篇【合作原创】使用Termux搭建可以使用的生产力环境(八)-CSDN博客中我们讲到了如何安装IDEA社区版,并在Termux中安装VNC服务器,在proot-distro的Debian中启动xfce桌面,并通过这个方式解决了IDEA社区版中无…

生成模型:变分自编码器-VAE

1.基本概念 1.1 概率 这里有: x为真实图像,开源为数据集, 编码器将其编码为分布参数 x ^ \hat{x} x^为生成图像, 通过解码器获得 p ( x ) ^ \hat{p(x)} p(x)^​: 观测数据的分布, 即数据集所构成的经验分布 p r e a l ( x ) p_{real}(x) preal​(x): …

中国省级产业结构高级化及合理化数据测算(2000-2023年)

一、数据介绍 数据名称:中国省级产业结构高级化、泰尔指数 数据年份:2000-2023年 数据范围:31个省份 数据来源:中国统计年鉴、国家统计局 数据整理:内含原始版本、线性插值版本、ARIMA填补版本 数据说明&#xf…

高级数据库系统 复习提纲

第一章 数据库技术的回顾与发展 简述三代数据库的发展历史及其对应特点: 新型数据库在“数据模型”上的创新: 简述数据库和什么相关技术结合,产生了什么新型数据库? 1. 数据库和并行处理技术结合,产生“并行数据库”…

C++实现图书管理系统(Qt C++ GUI界面版)

前瞻 本项目基于【C】图书管理系统(完整版) 图书管理系统功能概览: 登录,注册学生,老师借书,查看自己当前借书情况,还书。管理员增加书,查看当前借阅情况,查看当前所有借阅人,图书信息。 效果…

【LeetCode: 560. 和为 K 的子数组 + 前缀和 + 哈希表】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

微信小程序实现登录注册

文章目录 1. 官方文档教程2. 注册实现3. 登录实现4. 关于作者其它项目视频教程介绍 1. 官方文档教程 https://developers.weixin.qq.com/miniprogram/dev/framework/路由跳转的几种方式: https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab…

嵌入式系统 (2.嵌入式硬件系统基础)

2.嵌入式硬件系统基础 2.1嵌入式硬件系统的组成 嵌入式硬件系统以嵌入式微处理器为核心,主要由嵌入式微处理器、总线、存储器、输入/输出接口和设备组成。 嵌入式微处理器 嵌入式微处理器采用冯诺依曼结构或哈佛结构:前者指令和数据共享同一存储空间…

多模态大模型初探索:通过ollama部署多模态大模型

文章目录 前言模型下载 前言 今天和同事聊天,聊到多模态大模型,感觉可以作为2025年的一个新的探索方向。希望和大家一起学习,一起进步。 今天也是尝试了我能想到的最基本最快速地本地部署多模态大模型的方式,那便是使用ollama。…

【超详细】React SSR 服务端渲染实战

前言 这篇文章和大家一起来聊一聊 React SSR,本文更偏向于实战。你可以从中学到: 从 0 到 1 搭建 React SSR 服务端渲染需要注意什么 react 18 的流式渲染如何使用 文章如有误,欢迎指出,大家一起学习交流~。 &…