该数据至少有两种可能性。一种可能性是您的微阵列不包含任何疾病标记。但是,它们确实包含有关年龄的信息,并且由于在您的情况下,患病人群和对照人群的年龄不同,因此您会产生分类性能良好的错觉。另一种可能性是微阵列确实包含疾病标记,而且,这些标记正是 SVM 所关注的。
在这两种可能性中,数据的主要成分似乎都与年龄相关。在第一种情况下,这是因为年龄是数据所表达的。在第二种情况下,这是因为疾病是数据所表达的,而这种疾病本身与年龄相关(对于您的数据集)。我认为没有一种简单的方法可以查看相关值并得出结论是哪种情况。
我可以想出几种方法来不同地评估效果。一种选择是将您的训练集分成年龄相同的组。在这种情况下,对于“年轻”年龄段,正常班级将比疾病班级拥有更多的训练示例,反之亦然。但只要有足够的例子,这应该不是问题。另一种选择是对测试集执行相同的操作,即查看分类器是否倾向于更频繁地对老年患者说“生病”。这两个选项都可能很困难,因为您没有那么多示例。
另一种选择是训练两个分类器。首先,唯一的特征是年龄。这似乎有 0.82 的 AUC。第二个是年龄和微阵列数据。(目前您似乎训练了一个仅使用微阵列数据的不同分类器,它给您的 AUC 为 0.95。显式添加年龄特征可能会提高性能,因此 AUC 会更高。)如果第二个分类器的性能优于首先,这表明年龄不是该数据中唯一感兴趣的内容。根据您的评论,AUC 的改进为 0.13 或更多,这似乎是公平的。