具有结果数据而不是分类器的Sklearn集成模型

时间:2018-07-25 14:24:27

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

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

1 个答案:

答案 0 :(得分:2)

如果您已经计算出概率,则可以使用简单的等效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