sklearn Stacking 元分类器的训练如何工作?

How does training of sklearn Stacking metaclassifier work?

docs中据说元分类器是通过cross_val_predict训练的。从我的角度来看,这意味着数据被折叠分割,所有基本估计器都预测一个折叠的值,在所有其他折叠上训练。这个程序适用于每一次折叠。然后元分类器根据这些折叠的基本估计量的预测进行训练。这是正确的吗?如果是的话,是不是和

矛盾了

Note that estimators_ are fitted on the full X

基本估计器的训练方式是多次训练,而不是完整训练 X?

不矛盾,因为estimators_在训练metaclassifier的时候没有用到。在完成 cross-val-predictions 之后,您实际上并没有合适的基本估计量(或者更确切地说,每个估计量都有多个副本,具体取决于您的 cv 参数)。为了预测新数据,您需要每个基本估计器的单个拟合副本;这些是通过完全拟合 X 获得的,并存储在属性 estimators_.