我是机器学习的新手。我做了一个测试,但不知道如何解释和评估。
情况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%。
如何解释这种情况?提前感谢。
回答:
-
是的,10折交叉验证。
-
这种测试方法存在一个常见的问题,即在训练集上进行测试。这就是为什么准确率被夸大了。这是不现实的,因为在现实生活中,你的测试实例是新的且系统之前未见过的。
N折交叉验证是一种在许多研究中使用的有效评估方法。