我正在建立一个使用LIBSVM对恶性乳腺肿瘤进行分类的模型。这是我遵循的算法:
问题是我使用LIBSVM在80:20数据集上获得100%的准确率。我没有排除任何功能,我不是在训练和测试相同的数据。我有什么不对的暗示吗?以下是其他一些相关信息:
cost = [2^-10, 2^-8, 2^-6, 2^-4, 2^-2, 0.5, 1,
2, 2^2, 2^3, 2^4, 2^5, 2^6, 2^7, 2^8, 2^9, 2^10];
g = [2^-10, 2^-8, 2^-6, 2^-4, 2^-2, 2^-1, 1,
2, 2^2, 2^3, 2^4, 2^5, 2^6, 2^7, 2^8, 2^9, 2^10];
most optimal C = 1;
most optimal gamma = 9.7656e-04;
Accuracy on 50:50 test:train dataset: 98.5337%
Accuracy on 70:30 test:train dataset: 99.5122%
Dataset used: University of Wisconsin breast cancer dataset (682 entries).
答案 0 :(得分:3)
总结:您没有抱怨其他两个数据集; 100%的准确度与那些相当一致。是什么让你认为你应该的准确度较低?
让我们来看看错误分类的数量:
50:50 data set -- 5 / 341 errors
70:30 data set -- 1 / 205 errors
80:20 data set -- 0 / 136 errors
80:20的结果与您之前的结果非常一致:您的准确度已经提高到(显然)99.8%以上。
要求训练的最大准确性表明它可能保留所有特征,并且具有过度拟合的明显危险。但是,由于您显然发现前两个数据集是可接受的,因此我觉得数据集具有高度自洽性。根据我的经验,我发现这种一致性很奇怪,但是你没有描述数据集的属性,甚至没有给我们提供样本或有用的链接来检查。