RandomForest 模型的统计验证

机器算法验证 机器学习 交叉验证 随机森林
2022-04-05 11:55:25

我目前正在使用蛋白质序列数据研究基于 RandomForest 的预测方法。我已经生成了两个模型,第一个模型(NF)使用标准特征集,第二个模型(HF)使用混合特征。我已经完成了 Mathews 相关系数 (MCC) 和精度计算,以下是我的结果:

模型 1 (NF):训练准确度 - 62.85% 测试准确度 - 56.38 MCC - 0.1673

模型 2 (HF):训练准确度 - 60.34 测试准确度 - 61.78 MCC - 0.1856

测试数据是一个独立的数据集(意味着不包含在训练数据中)。

由于模型之间存在准确性和 MCC 的权衡,因此对模型的预测能力感到困惑。您能否分享您对我应该考虑使用哪种模型进行进一步分析的想法?除了准确性和 MCC 之外,我还应该考虑哪些其他措施进行验证?

提前致谢。

2个回答

我喜欢简约的想法——模型中的变量数量越少越好。当然,除非你在理论上被驱动。特征选择是指选择在模型中使用哪些变量(获得变量的最佳组合)的过程。功能选择有很多不同的选项(值得一读)。话虽如此,应该在 rf 算法中内置一个变量重要性度量,您可以将其作为起点生成(话虽如此,对此要非常小心,因为其中存在明显的偏差) - 参见 Strobl et al in R杂志。

我相信您已经改变了在每个节点上随机采样的变量数量(这是 R 中的 mtry)以及树的深度和分割标准等。

在外观方面,我觉得第二个模型稍微好一点,这仅仅是因为在测试和训练结果中重现了准确性。我总是担心,如果我的测试集准确率明显较低,那么模型可能有问题。我相信你已经确保你的测试和训练集是平衡的,至少在你想要分类的因变量上。如果这是二进制 (0,1),那么您的模型实际上并没有比机会 (50,50) 做得更好。

需要注意的一个非常重要的事情是正确分类的敏感性(二元任务 0,1 中正确分类的真阳性数)和特异性(二元任务 0,1 中真阴性数)。

如果可能的话,我会将这个模型与其他机器学习算法进行比较,例如增强树、支持向量机(在基因数据中可以使用)等。

我不确定您使用的是什么软件包 - 希望对您有所帮助

如果您正在使用 r - 在 cran 中查找插入符号(对这里的一些想法非常好的介绍,并且非常适合找出一些替代的性能衡量标准)。

保罗 D

看起来这两个变体是等价的。但是应该进行一些更好的测试来确认这一点,至少是交叉验证。
此外,如果这个 NF 和 HF 集有一些共同的属性,这可能表明只有这个共同的部分是有用的——我会花一些时间来进行特征选择。