### 学习、验证和测试分类器

我正在进行文本分类的情感分析工作,希望将Twitter上的推文分类为三个类别:积极、消极或中性。我有210条训练数据,并使用朴素贝叶斯作为分类器。我使用PHP和MySQL作为训练数据的数据库。我所做的步骤如下:

  1. 我根据10折交叉验证将训练数据分为189条训练数据和21条测试数据。
  2. 我将训练数据插入数据库,以便我的分类器可以基于训练数据进行分类。
  3. 然后我使用我的分类器对测试数据进行分类。我得到了21个预测结果。
  4. 根据10折交叉验证重复步骤2和3共10次。
  5. 我逐一评估分类器的准确性,因此我得到了10个准确性结果。然后我取这些结果的平均值。

我想知道的是:

  1. 学习过程是哪一个?输入、过程和输出是什么?
  2. 验证过程是哪一个?输入、过程和输出是什么?
  3. 测试过程是哪一个?输入、过程和输出是什么?

我只是想确保我对这三个过程(学习、验证和测试)的理解是正确的。


回答:

在你的例子中,我认为验证和测试之间没有明显的区别。

  • 学习是指训练模型的过程,通常输出的是参数,例如回归模型中的系数或神经网络中的连接权重。在你的例子中,输出是估计的概率,即在推文中看到单词w的概率给定推文是积极的P(w|+)、给定推文是消极的P(w|-)和给定推文是中性的P(w|*)。还有在给定积极、消极、中性的情况下未在推文中看到单词的概率P(~w|+), 等。输入是训练数据,过程只是通过测量单词在每个类别中出现(或未出现)的频率来估计概率,即只是计数!

  • 测试是指查看你的训练模型在之前未见过的数据上的表现如何。训练往往会产生对训练数据过拟合的输出,即系数或概率被“调整”到训练数据中的噪声上,因此你需要查看你的模型在未经训练的数据上的表现。在你的例子中,输入是测试样例,过程是应用贝叶斯定理,输出是对测试样例的分类(你根据哪个概率最高来分类)。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注