【发布时间】:2020-11-08 11:32:33
【问题描述】:
我有一个多分类问题,我的数据涉及字母序列。它是一个带标签的数据(使用标签编码器将字符串标签编码为数字)。同一类可能有部分字符串。可能字符串匹配,但有些可能只是略有不同。
我正在使用 k-mer 和 countvectoriser 准备我的数据(适合训练数据以及转换后的训练和测试数据)。结合 kmer 大小和 ngram 大小,维度(特征大小)在 8000+ 到 35000+ 之间变化。我认为模型训练时没有测试信息泄露。
我在训练数据上拟合了不同的算法并进行了测试以查看概括性。测试分数(准确率、f1 分数、准确率和召回率)非常高(超过 99%)。即使这是测试,您是否认为模型可能由于高维(维数诅咒)而过度拟合?我知道如果训练分数很高并且泛化能力很差,那么它会过度拟合,但这里的测试分数非常高。这不是模型,因为不同的算法给出了相似的结果,它肯定是关于数据的。
如果我应用 PCA 来获得 10 个涵盖 99% 方差的组件,那么测试的测试分数也很高。如果我使用 selectkfeatures 仅选择大约 10 个最佳特征,那么分数就会下降。
真的在寻找您对我如何证明这不是过度拟合的想法吗?我是否应该始终使用如此高的尺寸来减小特征尺寸(通过选择或 pca)?谢谢。
问候, 维杰
【问题讨论】:
-
请注意,所有课程的数据都非常平衡,我为训练和测试做了 70 - 30 次拆分。
-
您想向谁“证明”这一点?另外,数据集是否比特征数量大得多(例如 > x100 倍)?
-
嗨,Pac0,对我来说,我的分数是过度拟合的情况,我真的想得到关于它的意见。总数据样本约为 80k,但根据 kmer ngram 配置,特征大小在 8k 到 35k 之间变化。
标签: python machine-learning artificial-intelligence text-classification multilabel-classification