Protocol Buffers 使用了一种中立、平台无关的语言来定义数据结构,使得不同编程语言、不同平台之间能够进行数据交互。Protocol Buffers...
Google Protocol Buffers(简称 Protobuf)是一种由 Google 开发的数据序列化格式,用于定义结构化数据并在不同的系统或编程语言...
Protobuf 中的类型会对应到 CPP 中的对象,我们需要了解如何操作这些对象,以及如何序列化和反序列化这些对象。 1. 定义数据 创建 sample.pr...
虚函数(virtual function)指的是 C++ 中使用 virtual 关键字声明的函数。从表面看起来仅仅是一个函数的声明,但是其背后有着一套较为复杂...
Protocol Buffer 会将对象序列化为二进制数据。在本文中,我们简单了解下它是如何对数据进行编码的,即:了解下底层的编码格式。当然并非必须的,日常使用...
基尼指数是决策树算法中用于评估特征分裂质量的一个关键指标,分裂后子节点的基尼指数越低,表示子节点的纯净度越高。 1. 基尼不纯度 基尼不纯度(Gini impu...
在 scikit-learn 的决策树实现中,使用 CCP(Cost-Complexity Pruning)代价复杂度剪枝,用于避免过拟合并提高决策树的泛化能力...
信息增益是决策树算法中用于特征选择的一个重要指标。在构建决策树时,我们需要确定哪个特征最能有效地分割数据,使得子节点的纯度最高。信息增益就是衡量这种分割能力的指...
在学习决策树原理之前,我们先感性的了解下决策树的构建和推理过程、以及 API 的使用。 1. 分类决策树 分类决策树基于训练数据构建一个树状结构,每个节点代表一...
构建决策树时,需要根据训练数据计算所有特征的最佳分裂点,来实现分类决策树构建。在 scikit-learn 的分类决策树实现中,主要用到了两种方法: 接下来,我...
在构建回归决策树时,我们需要找到最优的分裂点,以最小化子集的均方误差。回归决策树也有自己的一些分裂准则,我们将详细探讨这些分裂准则的计算方法,并介绍如何应用它们...
过拟合(Overfitting)是指模型在训练数据上表现得很好,但在未见过的测试数据上表现较差的现象。无论是传统机器学习算法、还是深度学习算法都会出现过拟合问题...
Scikit-Learn(sklearn)是一个用于机器学习的Python库,其中包含了大量用于分类、回归、聚类和其他机器学习任务的算法和工具。在sklearn...
Word2Vec 是 Google 在 2013 年推出的一种用于生成词向量的模型,它通过无监督学习的方式从大量文本数据中学习单词的语义关系。即:通过训练一个浅...