神经网络集成分类器

2024-09-22 10:18:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个经过训练的神经网络,我试图用EnsembleVoteClassifiermlxtend.classifier来平均它们的预测。问题是我的神经网络不共享相同的输入,(我随机执行了特征约简和特征选择算法,并将结果存储在新的不同变量上,所以我有一些类似于X_test_algo1X_test_algo2X_test_algo3Y_test)。你知道吗

我试图平均权重,但正如我所说,我没有相同的X,我没有任何文件上的例子。如何平均我的三个模型model1model2model3的预测

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

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

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


Tags: test神经网络投票公式model1classifier经过训练试图用
1条回答
网友
1楼 · 发布于 2024-09-22 10:18:45

你为什么需要一个图书馆来做这些?你知道吗

只需通过你所有的神经网络传递相同的例子,并得到预测(逻辑或概率或标签)。你知道吗

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

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

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

原则上,您还可以对logits进行求和,并选择具有最高值的标签。你知道吗

哦,权重平均是不同的技术,要求你有相同的模型,通常是为相同的初始化,但在不同的训练时间步。你可以在this blog post中看到它。你知道吗

相关问题 更多 >