我已经在具有 2 个类和 150 个样本的数据集上使用 2 个分类器进行了分类实验。分类器是具有predict_proba()
方法的scikit-learn对象。此方法返回一个形状(samples
,classes
)的数组,其中包含每个样本的概率分布。我还计算了另一个形状为(samples
,2)的矩阵G
,其中包含每个分类器对每个样本的"重要性"。
最终输出必须是每predict_proba()
行和标量G
的线性组合。单个样本的示例:
G = np.array([0.3, 0.7])
classifier_1_proba = np.array([0.6, 0.4])
classifier_2_proba = np.array([0.2, 0.8])
Y = classifier_1_proba * G[0] + classifier_2_proba * G[1]
只需一个样本/输出就很容易做到这一点,但我不知道如何使用多个样本(例如整个测试集)来完成。
我认为这对你有用:
Y = c1_proba * G[:, 0, None] + c2_proba * G[:, 1, None]
假设分类器概率矩阵c1_proba
,c2_proba
和G
的权重都是你提到的二维数字数组。