向量和标量与两个矩阵的逐元素乘法
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_proba
、c2_proba
和权重 G
都是您提到的二维 numpy 数组。
我有一个 运行 分类实验,在一个包含 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_proba
、c2_proba
和权重 G
都是您提到的二维 numpy 数组。