Python 神经网络集成分类器

Python 神经网络集成分类器,python,neural-network,pytorch,ensemble-learning,voting-system,Python,Neural Network,Pytorch,Ensemble Learning,Voting System,我有一个经过训练的神经网络,我试图使用mlxtend.classifier中的EnsembleVoteClassifier对它们的预测进行平均。问题是我的神经网络不共享相同的输入,(我随机执行了特征缩减和特征选择算法,并将结果存储在新的不同变量上,因此我有一些类似于X_测试算法1,X_测试算法2和X_测试算法3和Y_测试) 我试图平均权重,但正如我所说,我没有相同的X,我也没有文档中的任何示例。我如何平均我的三个模型的预测值model1,model2和model3 eclf = Ensemble

我有一个经过训练的神经网络,我试图使用
mlxtend.classifier
中的
EnsembleVoteClassifier
对它们的预测进行平均。问题是我的神经网络不共享相同的输入,(我随机执行了特征缩减和特征选择算法,并将结果存储在新的不同变量上,因此我有一些类似于
X_测试算法1
X_测试算法2
X_测试算法3
Y_测试

我试图平均权重,但正如我所说,我没有相同的X,我也没有文档中的任何示例。我如何平均我的三个模型的预测值
model1
model2
model3

eclf = EnsembleVoteClassifier(clfs=[model1, model2, model3], weights=[1,1,1], refit=False)
names = ['NN1', 'NN2', 'NN2', 'Ensemble']

eclf.fit(X_train_algo1, Ytrain) #????

如果不可能,那没关系。我只对如何计算硬投票、硬投票和加权投票的公式感兴趣,或者是否有另一个更灵活的库,或者公式的显式表达式可能也有帮助。

为什么需要一个库来实现这一点

只需通过所有神经网络传递相同的示例,并获得预测(逻辑或概率或标签)

  • 硬投票选择分类器最常预测的标签

  • 软投票,由分类器预测的平均概率,并选择具有最高概率的标签

  • 加权投票-上述任何一项都可以加权。只需为每个分类器分配权重,并将它们的预测乘以它们即可。权重通常标准化为
    (0,1]
    范围

原则上,您也可以对logits进行求和,并选择具有最高值的标签

哦,重量平均是不同的技术,要求你有相同的模型,通常是在相同的初始化,但在不同的训练时间步。你可以在