如何评估和解释这个机器学习模型的训练结果?

我是机器学习的新手。我做了一个测试,但不知道如何解释和评估。

情况1:

我首先将数据(数据A,大约8000个单词)随机分成10组(a1到a10)。在每组内,我使用90%的数据构建ngram模型。然后用这组内剩余的10%数据测试这个ngram模型。结果准确率低于10%。其他9组也以相同的方式进行(分别构建模型并在该组剩余的10%数据上测试)。所有结果的准确率大约为10%。(这是10折交叉验证吗?)

情况2:

我首先基于整个数据集(数据A,大约8000个单词)构建了一个ngram模型。然后我将这个A随机分成10组(a1,a2,a3到a10)。接着我用这个ngram模型分别测试a1,a2到a10。我发现模型在所有组上的准确率几乎达到96%。

如何解释这种情况?提前感谢。


回答:

  1. 是的,10折交叉验证。

  2. 这种测试方法存在一个常见的问题,即在训练集上进行测试。这就是为什么准确率被夸大了。这是不现实的,因为在现实生活中,你的测试实例是新的且系统之前未见过的。

N折交叉验证是一种在许多研究中使用的有效评估方法。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

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