向量和标量与两个矩阵的逐元素乘法

Element-wise multiplication between vector and scalar with two matrices

我有一个 运行 分类实验,在一个包含 2 类 和 150 个样本的数据集上使用 2 个分类器。分类器是具有 predict_proba() 方法的 scikit-learn 对象。此方法 returns 形状数组 (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]

只用一个 sample/output 很容易,但我不知道如何用多个样本(例如整个测试集)完成它。

我认为这对你有用:

Y = c1_proba * G[:, 0, None] + c2_proba * G[:, 1, None]

假设分类器概率矩阵 c1_probac2_proba 和权重 G 都是您提到的二维 numpy 数组。