机器学习2

一、模型评估方法

1.1 K折交叉验证法(K-Fold Cross Validation)

1.1.1 定义

K折交叉验证法是一种用于评估模型性能的技术。它将数据集分为K个相等的子集,模型会轮流使用一个子集作为测试集,其余K-1个子集作为训练集。这个过程会重复K次,最后取K次结果的平均作为模型的最终性能评价。

1.1.2 具体步骤
  1. 将数据集随机分成K个子集。
  2. 每次选择一个子集作为测试集,其他K-1个子集作为训练集。
  3. 对每个子集重复训练和测试K次。
  4. 取K次测试结果的平均值,作为最终模型评估结果。
1.1.3 实例

假设我们有1000个样本,使用5折交叉验证法。我们将数据分成5份:

  • 第一次用第1组作为测试集,其他4组作为训练集;
  • 第二次用第2组作为测试集,其他4组作为训练集;
  • 如此重复5次,最后取5次结果的平均值作为最终性能评估。
1.1.4 优缺点
  • 优点:能够充分利用数据集,减少评估的偏差,避免过拟合,适合样本较少的场景。
  • 缺点:计算开销较大,尤其K值较大时。

1.2 留1法(Leave-One-Out Cross Validation)

1.2.1 定义

留1法是K折交叉验证法的极端形式。每次只留出一个样本作为测试集,其余所有样本作为训练集。这一过程对每个样本重复多次,每次用一个样本做测试集,其余样本做训练集。

1.2.2 实例

假设我们有100个样本,留1法会重复训练100次,每次使用99个样本作为训练集,1个样本作为测试集。最后将100次测试结果取平均值作为模型的最终评估结果。

1.2.3 优缺点
  • 优点:使用了最大量的训练数据,适合小数据集,模型能够得到最精细的评估。
  • 缺点:计算代价非常高,尤其当数据量较大时,每次只测试一个样本,效率低。

1.3 自助法(Bootstrap)

1.3.1 定义

自助法是一种通过有放回抽样的方法来生成训练集和测试集。它从原始数据集中有放回地抽取数据,形成训练集,剩余未被抽到的样本组成测试集。

1.3.2 实例

假设我们有100个样本,我们可以从中有放回地抽取100次(可能出现重复的样本),生成训练集,剩下未抽中的样本作为测试集。

1.3.3 优缺点
  • 优点:适合样本数较小的场景,有放回抽样可以增加数据的多样性。
  • 缺点:由于有放回抽样,有可能多个样本被多次选中,导致训练集和测试集可能存在较大的偏差。

1.4 留出法

1.4.1 数据集划分
  • 首先将数据集随机划分为两个不相交的子集:
    • 训练集(Training Set):用于模型训练,包含大部分的数据,一般占总数据的 70% - 80%。
    • 测试集(Test Set):用于模型评估,包含剩余的数据,通常占总数据的 20% - 30%。
1.4.2 模型训练
  • 使用训练集来训练模型,让模型学习数据的模式和特征。
1.4.3 模型评估
  • 训练完模型后,用测试集评估模型的泛化能力,测量模型在未见过的数据上的表现。
1.4.4 优缺点
1.4.4.1 优点
  • 简单直观:留出法的实现和理解都非常简单,只需要一次数据划分和一次模型评估。
  • 快速:由于仅需训练一次模型,计算代价较低,适合大数据集或当模型训练开销较大时使用。
1.4.4.2 缺点
  • 不稳定:留出法对数据划分的方式较为敏感,不同的划分方式可能导致模型性能的变化。尤其在数据量较小时,不同的训练集和测试集划分可能导致较大的评估波动。
  • 数据利用不足:留出法只使用了一部分数据进行模型训练,而没有充分利用全部数据。这可能会导致模型在小数据集上效果较差。
1.4.5 多次留出法

为了解决留出法可能出现的不稳定问题,可以使用多次留出法。其做法是多次随机划分数据集,每次重新训练和评估模型,最后将多次评估结果取平均,作为模型的最终评估结果。

1.4.6 实例解释

假设我们有一个包含 1000 个样本的数据集,想通过留出法评估一个分类模型的表现:

  1. 我们随机将数据集划分为 训练集(800 个样本)和 测试集(200 个样本)。
  2. 使用这 800 个样本来训练模型,模型根据这些样本学习如何进行分类。
  3. 训练完成后,用剩余的 200 个样本(测试集)来评估模型的性能,计算模型在测试集上的准确率、查准率、查全率等评估指标。
  4. 模型的最终评估结果基于测试集的表现。
1.4.7 适用场景

留出法适用于以下场景:

  • 数据量较大时:在大数据集上,划分一部分数据作为测试集通常足以有效评估模型的表现。
  • 模型训练代价较高时:如果模型训练需要大量时间或资源,留出法可以减少计算负担。

总结来说,留出法是一种快速简单的模型评估方法,但由于它仅进行一次数据划分,可能导致评估结果不稳定。为了获得更稳定的评估结果,可以通过多次留出法来改进这一问题。


二、分类模型评估指标

2.1 混淬矩阵(Confusion Matrix)

2.1.1 定义

混淬矩阵是评估分类模型表现的重要工具,用于将分类结果划分为四类:

  • 真正例(TP):模型正确预测为正的样本数。
  • 假正例(FP):模型错误预测为正的样本数。
  • 真负例(TN):模型正确预测为负的样本数。
  • 假负例(FN):模型错误预测为负的样本数。
2.1.2 实例

假设我们在癌症诊断中,有如下结果:

  • 真正例(TP) = 40:正确诊断出40名患者患病。
  • 假正例(FP) = 10:10名健康人被错误诊断为患病。
  • 真负例(TN) = 45:正确识别出45名健康患者。
  • 假负例(FN) = 5:5名患病患者被漏诊。
2.1.3 混淬矩阵相关指标
  • 准确率(Accuracy):模型正确预测的比例。
    [
    \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}
    ]
  • 查准率(Precision):预测为正类的样本中,真正为正类的比例。
    [
    \text{Precision} = \frac{TP}{TP + FP}
    ]
  • 查全率(Recall):实际为正类的样本中,模型正确识别的比例。
    [
    \text{Recall} = \frac{TP}{TP + FN}
    ]
  • F1分数:查准率和查全率的调和平均数,综合考虑二者的平衡。
    [
    F1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}
    ]

2.2 查准率与查全率

2.2.1 查准率(Precision)

查准率(又称精确率)衡量的是模型预测为正类的样本中,有多少真正为正类。查准率高,表示模型的误报率低

  • 公式
    [
    \text{Precision} = \frac{TP}{TP + FP}
    ]
2.2.2 查全率(Recall)

查全率(又称召回率)衡量的是实际正类的样本中,模型能识别出多少正类。查全率高,表示模型的漏报率低

  • 公式
    [
    \text{Recall} = \frac{TP}{TP + FN}
    ]
2.2.3 查准率和查全率的关系
  • 查准率和查全率的权衡:查准率和查全率通常存在冲突关系,查准率高时,查全率往往较低,反之亦然。例如:
    • 查准率高:模型预测时非常谨慎,只预测非常有把握的样本为正类,但可能漏掉一些实际的正类,导致查全率下降。
    • 查全率高:模型预测时比较宽松,尽可能多地预测为正类,虽然能够捕捉大多数正类,但可能会有较高的误报率,导致查准率下降。
2.2.4 实例

假设模型预测了100个样本,其中有如下结果:

  • 真正例(TP)= 80
  • 假正例(FP)= 20
  • 假负例(FN)= 10

计算查准率和查全率:

  • 查准率:( \text{Precision} = \frac{80}{80 + 20} = 0.8 )
  • 查全率:( \text{Recall} = \frac{80}{80 + 10} = 0.89 )

2.3 F1分数

2.3.1 定义

F1分数是查准率和查全率的调和平均数,综合衡量模型在查准率和查全率之间的平衡

2.3.2 公式

[
F1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}
]

2.3.3 解释

F1分数的目的是在查准率和查全率之间找到一个平衡点,尤其在数据不平衡时,它是非常有用的指标。F1 分数越高,说明模型的查准率和查全率之间的平衡越好。

2.3.4 实例

假设查准率为0.8,查全率为0.89:
[
F1 = 2 \times \frac{0.8 \times 0.89}{0.8 + 0.89} = 0.844
]
F1分数为0.844,表示查准率和查全率之间有一个较好的平衡。


2.4 Fβ分数

2.4.1 定义

Fβ分数F1分数 的一种变体,用来强调查准率(Precision)和查全率(Recall)之间的不同权重。β 参数控制了查全率和查准率的相对重要性:

  • β > 1 时,更注重查全率,适合漏报代价较高的场景。
  • β < 1 时,更注重查准率,适合误报代价较高的场景。
  • β = 1 时,Fβ 分数就是标准的 F1 分数,查准率和查全率同等重要。
2.4.2 公式

[
F_\beta = (1 + \beta^2) \times \frac{\text{Precision} \times \text{Recall}}{(\beta^2 \times \text{Precision}) + \text{Recall}}
]
其中,β 用于调节查全率和查准率之间的平衡。

2.4.3 解释
  • β > 1:查全率的权重增加,模型更关注减少漏报(FN),适用于需要捕捉尽可能多的正类样本的场景(如医疗诊断中漏诊的代价较大)。
  • β < 1:查准率的权重增加,模型更关注减少误报(FP),适用于需要减少误报的场景(如垃圾邮件过滤,错误判断正常邮件为垃圾邮件的代价较高)。
2.4.4 实例

假设模型的查准率为0.75,查全率为0.85,且我们希望更关注查全率,因此选择 β = 2。计算 F2 分数:
[
F_2 = (1 + 2^2) \times \frac{0.75 \times 0.85}{(2^2 \times 0.75) + 0.85} = 5 \times \frac{0.6375}{3.0 + 0.85} = 0.851
]
F2 分数为 0.851,表示我们在这个场景下更加注重查全率。


2.5 P-R 曲线(Precision-Recall Curve)

2.5.1 定义

P-R 曲线 展示了查准率(Precision)和查全率(Recall)在不同决策阈值下的变化。它用于评估分类模型在不平衡数据集上的表现,特别是在正类样本较少的情况下。

2.5.2 具体解读
  • 横轴:查全率(Recall),表示实际正类样本中,模型识别出来的比例。
  • 纵轴:查准率(Precision),表示预测为正类的样本中,真正为正类的比例。
  • 平衡点:P-R 曲线中的平衡点通常是查准率和查全率之间的最佳权衡点,可以通过F1分数Fβ分数来评估该点。
2.5.3 实例

假设我们在一个二分类问题中调整模型的决策阈值,从而产生不同的查准率和查全率。通过不断调整阈值,我们可以绘制出模型的 P-R 曲线。模型越好,P-R 曲线越靠近右上角,说明查准率和查全率同时较高。

2.5.4 适用场景

P-R 曲线在不平衡数据集上尤其有用,例如在垃圾邮件检测、欺诈检测等场景中,正类(如垃圾邮件或欺诈)通常非常少,P-R 曲线能够更好地反映模型在正类样本上的表现。


2.6 ROC 曲线(Receiver Operating Characteristic Curve)

2.6.1 定义

ROC 曲线 展示了不同阈值下模型的**真阳性率(TPR)假阳性率(FPR)**之间的关系。它广泛用于评估分类模型在平衡数据集上的表现。

2.6.2 具体解读
  • 横轴:假阳性率(FPR),即负类样本中被误分类为正类的比例。
  • 纵轴:真阳性率(TPR),即正类样本中被正确分类为正类的比例。
  • AUC(曲线下面积):AUC 表示 ROC 曲线下面的面积,AUC 越大,说明模型性能越好,AUC = 1 表示完美模型,AUC = 0.5 表示模型的表现与随机猜测相同。
2.6.3 实例

假设我们训练了一个癌症诊断模型。我们通过调整阈值,得到不同的真阳性率和假阳性率,并绘制 ROC 曲线:

  • 阈值高:模型非常谨慎,只预测高概率样本为正类,假阳性率低,但真阳性率也可能较低。
  • 阈值低:模型较宽松,真阳性率较高,但假阳性率也会上升。

AUC 值可以帮助我们量化模型的性能。例如,AUC = 0.85 表示模型有 85% 的概率可以正确区分正类和负类样本。

2.6.4 适用场景

ROC 曲线适用于平衡数据集,当正类和负类样本数量相当时,ROC 曲线能全面展示模型在不同阈值下的表现。如果数据严重不平衡,P-R 曲线可能更适合。


三、代价敏感分类

3.1 代价敏感错误率(Cost-Sensitive Error Rate)

3.1.1 定义

代价敏感错误率 是一种加权的错误率,它不仅考虑模型的错误率,还根据不同错误类型(如假阳性和假阴性)的代价对错误率进行加权。它常用于那些错误代价不对称的场景。

3.1.2 公式

[
\text{Cost-Sensitive Error Rate} = P(\text{FP}) \times C(\text{FP}) + P(\text{FN}) \times C(\text{FN})
]

  • ( P(\text{FP}) ):假阳性发生的概率。
  • ( P(\text{FN}) ):假阴性发生的概率。
  • ( C(\text{FP}) ):假阳性代价。
  • ( C(\text{FN}) ):假阴性代价。
3.1.3 实例

在癌症诊断中,假设假阳性代价为 500 元,假阴性代价为 10000 元。模型有 10% 的假阳性率和 5% 的假阴性率。代价敏感错误率为:
[
\text{Cost-Sensitive Error Rate} = (0.10 \times 500) + (0.05 \times 10000) = 50 + 500 = 550
]
550 表示在考虑错误代价后,模型的加权错误率。


3.2 期望总体代价(Expected Total Cost, ETC)

3.2.1 定义

期望总体代价 是用于衡量模型在实际场景中的预期总成本。它结合了错误发生的概率、错误代价以及样本数量,用于评估模型在实际应用中的经济成本。

3.2.2 公式

[
ETC = P(\text{FP}) \times C(\text{FP}) \times N_{\text{neg}} + P(\text{FN}) \times C(\text{FN}) \times N_{\text{pos}}
]

  • ( N_{\text{neg}} ):负类样本数。
  • ( N_{\text{pos}} ):正类样本数。
3.2.3 实例

在癌症诊断中,假设我们有 900 名健康人和 100 名患者。假阳性代价为 500 元,假阴性代价为 10000 元。模型的假阳性率为 10%,假阴性率为 5%。期望总体代价为:
[
ETC = (0.10 \times 500 \times 900) + (0.05 \times 10000 \times 100) = 45000 + 50000 = 95000
]
95000 元是模型在这 1000 个测试样本上的预期总成本。


3.3 代价曲线(Cost Curve)

3.3.1 定义

代价曲线(Cost Curve) 展示了模型在不同假阳性和假阴性代价权重条件下的表现。通过调整假阳性与假阴性代价的比值,可以观察模型的错误率如何随代价权重变化。代价曲线常用于那些不同错误代价具有不对称性的应用场景。

3.3.2 具体解读
  • 横轴:表示不同的代价权重,即假阳性和假阴性代价的比值。
  • 纵轴:表示代价敏感错误率或模型的代价表现。随着代价权重的变化,模型的总代价表现会随之变化。
3.3.3 实例

假设在医疗场景中,假阳性代价较低(500元),假阴性代价较高(10000元)。我们可以通过调整代价权重来观察模型的表现:

  • 当代价曲线呈现出急剧上升时,说明假阴性的代价占据了主导地位,模型需要更加注重降低假阴性。
  • 如果代价曲线呈现平缓上升,说明模型在当前代价比下表现较为平衡。

通过观察代价曲线,决策者可以找到一个合适的代价权衡点,以减少总损失。

3.3.4 适用场景

代价曲线适用于错误代价不对称的场景,如医疗诊断、欺诈检测等,在这些领域中,错误类型的代价(误诊和漏诊、误报和漏报)往往差异很大。


四、代价敏感错误率与期望总体代价的区别

4.1 代价敏感错误率

  • 应用场景:用于评估模型的加权错误率,主要用来比较不同模型在不同错误代价条件下的表现。它关注的是模型的错误率,并根据不同错误类型的代价进行加权。
  • 公式
    [
    \text{Cost-Sensitive Error Rate} = P(\text{FP}) \times C(\text{FP}) + P(\text{FN}) \times C(\text{FN})
    ]
    它的重点是衡量模型的表现,而不直接计算总经济成本。

4.2 期望总体代价

  • 应用场景:用于评估模型在实际应用中的总成本,尤其当需要衡量模型的错误会带来多大的实际经济损失时。期望总体代价考虑了样本数量,直接计算出模型在整个数据集上的预期总损失。
  • 公式
    [
    ETC = P(\text{FP}) \times C(\text{FP}) \times N_{\text{neg}} + P(\text{FN}) \times C(\text{FN}) \times N_{\text{pos}}
    ]
    期望总体代价强调的是模型在实际使用时会带来的成本,适合实际应用中做决策。

4.3 关键区别总结

  • 代价敏感错误率:是评估指标,关注的是模型的加权错误率,用来比较多个模型的性能表现。
  • 期望总体代价:是成本评估,计算模型在实际应用中可能带来的总经济损失,特别适合决策中的成本分析。

五、知识体系总结

5.1 模型评估方法

  • K折交叉验证法:通过将数据集划分为K个子集,循环训练和测试,减少模型评估的偏差。
  • 留1法:每次只留一个样本作为测试集,计算代价高但使用最大训练数据。
  • 自助法:通过有放回抽样生成训练集,适合小样本数据集,增加数据多样性。

5.2 分类模型评估指标

  • 混淆矩阵:衡量分类模型的性能,计算真正例、假正例、真负例、假负例。
  • 查准率与查全率:分别衡量模型在正类预测中的准确性和召回率。
  • F1分数与Fβ分数:查准率与查全率的调和平均数,用于平衡二者,Fβ分数 可以调节查全率和查准率的相对重要性。
  • P-R 曲线:展示查准率和查全率在不同阈值下的变化,适合不平衡数据集。
  • ROC 曲线:展示真阳性率与假阳性率的关系,适合平衡数据集,AUC 用于量化模型表现。

5.3 代价敏感分类

  • 代价敏感错误率:通过加权的错误率衡量模型在不同代价条件下的表现,用于模型的性能比较。
  • 期望总体代价:计算模型在实际应用中的预期经济损失,用于决策时的成本分析。
  • 代价曲线:展示模型在不同代价权重下的表现,帮助优化模型在不同代价比值条件下的权衡。

六、附录

6.1. AUC与排序质量

6.1.1 AUC 的定义和解读

AUC 是 ROC 曲线下面的面积,用来衡量分类器区分正类和负类样本的能力。AUC 值的范围是 0 到 1,AUC 值越接近 1,表示分类器的性能越好,能够更好地区分正类和负类样本。AUC = 0.5 时,表示模型的表现和随机猜测差不多;AUC < 0.5 则表示模型性能较差,甚至有可能反向预测。

6.1.2 AUC 衡量排序质量的含义

AUC 之所以与样本预测的排序质量相关,是因为它实际上衡量了正类样本的预测概率是否普遍高于负类样本。具体来说,AUC 反映了当你随机选择一个正类样本和一个负类样本时,模型将正类样本的预测得分排在负类样本前面的概率。

6.1.3 排序的含义

在分类任务中,模型对每个样本都会给出一个概率分数,这个分数可以理解为模型认为样本属于正类的置信度。如果模型正确预测,它应该对正类样本给出较高的分数,对负类样本给出较低的分数。因此,排序质量 就是指模型是否能够正确地将正类样本排在负类样本之前。

  • 高排序质量:正类样本的预测分数普遍高于负类样本,AUC 越接近 1。
  • 低排序质量:正类样本的预测分数与负类样本接近,甚至负类样本的分数高于正类样本,AUC 越低。
6.1.4 计算排序质量的具体方式

当计算 AUC 时,可以通过以下方式来理解模型的排序质量:

  • 对于任意一个正类样本和负类样本组合,计算模型是否正确地给正类样本的预测分数比负类样本高。如果大多数情况下,正类样本的分数比负类样本高,则 AUC 会较高。
  • AUC 实际上可以看作是模型为正类样本排在负类样本之前的比例。如果这个比例接近 1,则说明模型的排序能力很好;如果这个比例接近 0.5,则说明模型的排序能力接近随机。
6.1.5 实例

假设我们有以下 6 个样本(3 个正类,3 个负类),模型给出了每个样本的预测概率:

  • 正类样本:0.9、0.8、0.6
  • 负类样本:0.3、0.2、0.1

我们可以计算所有正类样本与负类样本组合的排序情况:

  • 0.9 > 0.3、0.9 > 0.2、0.9 > 0.1
  • 0.8 > 0.3、0.8 > 0.2、0.8 > 0.1
  • 0.6 > 0.3、0.6 > 0.2、0.6 > 0.1

在所有可能的正负样本对中,模型都将正类样本的预测分数排在负类样本之前。因此,模型的排序质量非常高,AUC 接近 1。

如果我们反过来,假设模型给出的分数是:

  • 正类样本:0.4、0.3、0.2
  • 负类样本:0.8、0.7、0.6

在这种情况下,所有正类样本的分数都低于负类样本,因此模型的排序质量非常差,AUC 会非常低,接近 0。

6.1.6 区别和联系
  • 排序质量 主要关注模型对正类和负类样本的相对置信度排序,评估的是模型能否把正类样本的预测值普遍排在负类样本之前。
  • AUC 是用来量化这种排序质量的指标。它通过计算正类样本在负类样本前面的概率来衡量模型的整体表现,体现了模型对样本排序的合理性。

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

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

相关文章

Springboot 导出Excel文件方式对比与注意事项

Springboot 导出Excel文件方式对比与注意事项 Excel导出系列目录&#xff1a;为什么不导出.xls后缀的文件&#xff1f;EasyExcel导出xls后缀文件POI导出xls后缀文件 POI导出与EasyExcel导出相比哪种方式最优呢&#xff1f;POI导出与EasyExcel导出两种方式有没有需要注意的坑呢&…

南京林业大学生态学博士在1区top期刊揭示人工林发育促进土壤团聚体的形成与稳定:对土壤碳氮固存的启示

本文首发于“生态学者”微信公众号&#xff01; 文章信息 第一作者&#xff1a;石珂 通讯作者&#xff1a;阮宏华教授 通讯单位&#xff1a;南京林业大学 原文链接&#xff1a;https://doi.org/10.1016/j.catena.2024.108363 亮点 •土壤团聚体的稳定性随着林分发育而增…

【BASH 常用脚本系列 4 -- 在 shell 脚本执行的时候打印出所调用命令所在的路径】

文章目录 概述使用 type使用 which使用 command -v示例解析概述 在 Shell 脚本执行时,如果你想打印出脚本所调用命令的完整路径,可以利用 type、which 或 command -v 等命令来实现。这些命令用于查找命令的路径或验证命令是否存在于系统中。下面是一些方法的详细介绍和示例:…

接口测试(五)jmeter——get请求

一、get请求——短信验证码&#xff08;示例仅供参考&#xff09; 1. get请求&#xff1a;传参数据直接拼接在地址后面&#xff0c;jmeter不需要设置请求头content-type 注&#xff1a;短信验证码接口&#xff0c;返回结果中不会返回短信验证码&#xff0c;是存在数据库表中&a…

java中常见集合,非常重要!!!

Java 集合框架提供了一组用于存储和操作对象的类和接口&#xff0c;主要包括 List、Set 和 Map。下面是对 Java 集合的主要类型和它们的特点的介绍。 集合的主要接口 Collection&#xff1a;集合的根接口&#xff0c;表示一组对象。 List&#xff1a;有序集合&#xff0c;允许…

【C++初阶】一文讲通C++内存管理

文章目录 1. C/C内存分布2. C语言中动态内存管理方式3. C内存管理方式3. 1 new/delete操作内置类型3. 2 new和delete操作自定义类型 4. new与delete的原理4. 1 operator new与operator delete函数4. 2 内置类型4. 3 自定义类型 5. 定位new表达式(placement-new)6. malloc/free和…

校园资讯平台|校园资讯平台系统|基于java和小程序的校园资讯平台设计与实现(源码+数据库+文档)

校园资讯平台 目录 基于java和小程序的校园资讯平台设计与实现 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师&#xff0c…

【mysql进阶】4-7. 通用表空间

通⽤表空间 - General Tablespace 1 通⽤表空间的作⽤和特性&#xff1f; ✅ 解答问题 通⽤表空间是使⽤ CREATE tablespace 语法创建的共享InnoDB表空间 通⽤表空间能够存储多个表的数据&#xff0c;与系统表空间类似也是共享表空间&#xff1b; 服务器运⾏时会把表空间元数…

【mysql进阶】4-6. InnoDB 磁盘文件

InnoDB 磁盘⽂件 1 InnoDB存储引擎包含哪些磁盘⽂件&#xff1f; &#x1f50d; 分析过程 ✅ 解答问题 InnoDB的磁盘⽂件主要是表空间⽂件和其他⽂件&#xff0c;表空间包括&#xff1a;系统表空间、独⽴表空间、通⽤表空间、临时表空间和撤销表空间&#xff1b;其他⽂件有重做…

vue3.0 + vite打包完成后,将dist下的资源包打包成zip的两种方法

vue3.0 vite打包完成之后&#xff0c;自动将dist下的资源包打包成zip 1、vite-plugin-zip-pack 插件 安装插件 npm i -D vite-plugin-zip-pack修改vite.config.ts&#xff0c;增加plugin // vite.config.ts import { defineConfig } from "vite"; import zipPack,…

springboot入门学习笔记

在我们创建了一个Springboot项目之后&#xff0c;我们会看到有很多文件夹和文件 Springboot程序中各类文件的意义 一.pom.xml 在 Spring Boot 项目中&#xff0c;pom.xml&#xff08;Project Object Model&#xff09;文件是 Maven 构建工具的核心配置文件。起到项目信息定义…

OpenCV中的图像通道合并

在计算机视觉和图像处理领域&#xff0c;OpenCV是一个强大的工具库&#xff0c;它提供了从基本操作到复杂算法的广泛功能。今天&#xff0c;我们将通过一个简单的示例来探索OpenCV中的图像通道处理&#xff0c;特别是如何操作和理解BGR与RGB颜色空间的差异。 Lena图像&#xf…

四,Linux基础环境搭建(CentOS7)- 安装Zookeeper

Linux基础环境搭建&#xff08;CentOS7&#xff09;-安装Zookeeper 大家注意以下的环境搭建版本号&#xff0c;如果版本不匹配有可能出现问题&#xff01; 一、Zookeeper下载及安装 ZooKeeper是一个开源的分布式协调服务&#xff0c;由雅虎创建&#xff0c;是Google Chubby的…

51单片机记录

电平特性 (本课程中)定义单片机为TTL电平 高5V 低 0V RS232电平&#xff1a;计算机串口 高-12V 低12V ※掌握二进制转16进制 二进制数的逻辑运算 “与”运算是实现“必须都有,否则就没有”运算符“”—“&”有0则0 例&#xff1a;000&#xff1b;01100&#xff1b;111 规律…

解决 IntelliJ IDEA 中 Tomcat 日志乱码问题的详细指南

目录 前言1. 分析问题原因2. 解决方案2.1 修改 IntelliJ IDEA 的 JVM 选项2.2 配置 Tomcat 实例的 VM 选项2.2.1 设置 Tomcat 的 VM 选项2.2.2 添加环境变量 3. 进一步优化3.1 修改 Tomcat 的 logging.properties3.2 修改操作系统默认编码3.2.1 Windows 系统3.2.2 Linux 和 mac…

2024mathorcup大数据竞赛B题【电商品类货量预测及品类分仓规划】思路详解

问题 1&#xff1a;建立货量预测模型&#xff0c;对该仓储网络 350 个品类未来 3 个月&#xff08;7-9月&#xff09;每个月的库存量及销量进行预测&#xff0c;其中库存量根据历史每月数据预测月均库存量即可&#xff0c;填写表 1 的预测结果并放在正文中&#xff0c;并将完整…

强化学习数学原理学习(一)

前言 总之开始学! 正文 先从一些concept开始吧,有一个脉络比较好 state 首先是就是状态和状态空间,显而易见,不多说了 action 同理,动作和动作空间 state transition 状态转换,不多说 policy 策略,不多说 reward 奖励,不多说 MDP(马尔科夫) 这里需要注意到就是这个是无…

了解 - 微格式

微格式 微格式&#xff08;microformat&#xff09;是一种用于在 HTML 中嵌入语义和结构化数据的标准&#xff0c;它为社交网络应用程序、搜索引擎、聚合器和其他工具提供了一个 API。这些最小的 HTML 模式用于标记从基本到特定领域的信息实体&#xff0c;例如人物、组织、事件…

Java-图书管理系统

我的个人主页 欢迎来到我的Java图书管理系统&#xff0c;接下来让我们一同探索如何书写图书管理系统吧&#xff01; 1管理端和用户端 2建立相关的三个包&#xff08;book、operation、user&#xff09; 3建立程序入口Main类 4程序运行 1.首先图书馆管理系统分为管理员端和…

Redis 集群 问题

前言 相关系列 《Redis & 目录》&#xff08;持续更新&#xff09;《Redis & 集群 & 源码》&#xff08;学习过程/多有漏误/仅作参考/不再更新&#xff09;《Redis & 集群 & 总结》&#xff08;学习总结/最新最准/持续更新&#xff09;《Redis & 集群…