我有一个经过训练的神经网络,我试图用EnsembleVoteClassifier
和mlxtend.classifier
来平均它们的预测。问题是我的神经网络不共享相同的输入,(我随机执行了特征约简和特征选择算法,并将结果存储在新的不同变量上,所以我有一些类似于X_test_algo1
、X_test_algo2
和X_test_algo3
和Y_test
)。你知道吗
我试图平均权重,但正如我所说,我没有相同的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进行求和,并选择具有最高值的标签。你知道吗
哦,权重平均是不同的技术,要求你有相同的模型,通常是为相同的初始化,但在不同的训练时间步。你可以在this blog post中看到它。你知道吗
相关问题 更多 >
编程相关推荐