python - 使用结果数据而不是分类器的 Sklearn 集成模型

标签 python machine-learning scikit-learn data-science ensemble-learning

例如 VotingClassifier需要一个估计器列表,但在我的例子中,不同的估计器已经为训练数据集生成了结果(以每个可能标签的概率形式,例如 [0.8, 0.2, 0.0, 0.0])作为结果数据集。有没有办法使用它来代替实际的分类器?

最佳答案

如果您已经计算了概率,那么您可以使用简单的等效 numpy 代码。请注意,您需要将示例推广到具有许多预测的情况:)

import numpy as np

class_1 = [0.5, 0.4, 0.1, 0.0]
class_2 = [0.0, 0.4, 0.6, 0.0] 
class_3 = [0.5, 0.4, 0.05, 0.05] 
class_combined = np.array([class_1, class_2, class_3])
class_combined

# VotingClassifier(voting='hard')
hard_voting = np_matrix.argmax(axis=1)
hard = np.bincount(voting).argmax()
0

# VotingClassifier(voting='soft')
soft_sum = class_combined.sum(axis=0)
soft = soft_sum.argmax()
1

关于python - 使用结果数据而不是分类器的 Sklearn 集成模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51521351/

相关文章:

python - 当值超出范围时,在二维数组中显示错误的轴

python - 更改外部包的记录器类

machine-learning - 使用 sk-learn 模型进行大查询预测

python - 如何在 scikit-learn (python) 的 KernelDensity 中使用用户定义的指标

python - 如何刷新输入流?

python - 如何在不将其放入列表的情况下处理一行 for 循环?

python - PolynomialFeatures 和 LinearRegression 返回不需要的系数

python - 高斯过程回归——解释行为

python - 属性错误: 'NoneType' object has no attribute 'lower

python - Scikit-learn:并行化随机梯度下降