首页 > 解决方案 > 为什么我的分类器不适用于新数据(未作为数据集的数据)?

问题描述

我的数据集有 copd 文档作为正数据(86)和疟疾(20)+ diarreha(20)+象皮病(20)作为负数据。所以我的数据集中的总文档为 146,其中 86 为正,60 为负。我已经采取训练比例:测试为 3:1.ngram 范围为 (1,1)。我还从特征列表中删除了所有数字特征。我将特征的 tfidf 作为输入。我使用朴素贝叶斯算法进行训练和testing.Accuracy= 89%,Precision= 84%,Recall = 100%。现在,我正在获取新文档以在我的数据集之外进行测试。其中 20 个文档为阳性(copd),20 个文档为阴性(不在我们的数据集中,即不在我们的数据集中的疾病)现在它几乎将所有文档预测为阳性,或者我们可以说精度随着值的增大而降低。我的问题是我在这里做错了什么?为什么我的分类器不适用于新文档?任何类型的帮助将不胜感激。

标签: python-3.xmachine-learningsvmnaivebayes

解决方案


你显然过度拟合了你的训练集。您必须使用正则化来使您的模型也能很好地概括新数据。

你可以选择 L2 norm 或 Dropout 技术来防止过度拟合。


推荐阅读