pusion.core.dempster_shafer_combiner

class pusion.core.dempster_shafer_combiner.DempsterShaferCombiner

Bases: pusion.core.combiner.TrainableCombiner

The DempsterShaferCombiner (DS) fuses decision outputs by means of the Dempster Shafer evidence theory referenced by Polikar 1 and Ghosh et al. 2. DS involves computing the proximity and belief values per classifier and class, depending on a sample. Then, the total class support is calculated using the Dempster’s rule as the product of belief values across all classifiers to each class, respectively. The class with the highest product is considered as a fused decision. DS shares the same training procedure with the DecisionTemplatesCombiner.

1

Robi Polikar. Ensemble based systems in decision making. IEEE Circuits and systems magazine, 6(3):21–45, 2006.

2

Kaushik Ghosh, Yew Seng Ng, and Rajagopalan Srinivasan. Evaluation of decision fusion strategies for effective collaboration among heterogeneous fault diagnostic methods. Computers & chemical engineering, 35(2):342–355, 2011.

train(decision_tensor, true_assignments)

Train the Dempster Shafer Combiner model by precalculating decision templates from given decision outputs and true class assignments. Both continuous and crisp classification outputs are supported. This procedure involves calculations mean decision profiles (decision templates) for each true class assignment.

Parameters
  • decision_tensornumpy.array of shape (n_classifiers, n_samples, n_classes). Tensor of either crisp or continuous decision outputs by different classifiers per sample.

  • true_assignmentsnumpy.array of shape (n_samples, n_classes). Matrix of either crisp or continuous class assignments which are considered true for each sample during the training procedure.

combine(decision_tensor)

Combine decision outputs by using the Dempster Shafer method. Both continuous and crisp classification outputs are supported. Combining requires a trained DempsterShaferCombiner. This procedure involves computing the proximity, the belief values, and the total class support using the Dempster’s rule.

Parameters

decision_tensornumpy.array of shape (n_classifiers, n_samples, n_classes). Tensor of either crisp or continuous decision outputs by different classifiers per sample.

Returns

A matrix (numpy.array) of either crisp or continuous class assignments which represents fused decisions obtained by the maximum class support. Axis 0 represents samples and axis 1 the class assignments which are aligned with axis 2 in decision_tensor input tensor.

class pusion.core.dempster_shafer_combiner.CRDempsterShaferCombiner

Bases: pusion.core.dempster_shafer_combiner.DempsterShaferCombiner

The CRDempsterShaferCombiner is a modification of DempsterShaferCombiner that also supports complementary-redundant decision outputs. Therefore the input is transformed, such that all missing classification assignments are considered as a constant, respectively. To use methods train() and combine() a coverage needs to be set first by the inherited set_coverage() method.

train(decision_outputs, true_assignments)

Train the Dempster Shafer Combiner model by precalculating decision templates from given decision outputs and true class assignments. Both continuous and crisp classification outputs are supported. This procedure involves calculations mean decision profiles (decision templates) for each true class assignment.

Parameters
  • decision_outputslist of numpy.array matrices, each of shape (n_samples, n_classes’), where n_classes’ is classifier-specific and described by the coverage. Each matrix corresponds to one of n_classifiers classifiers and contains either crisp or continuous decision outputs per sample.

  • true_assignmentsnumpy.array of shape (n_samples, n_classes). Matrix of either crisp or continuous class assignments which are considered true for each sample during the training procedure.

combine(decision_outputs)

Combine decision outputs by using the Dempster Shafer method. Both continuous and crisp classification outputs are supported. Combining requires a trained DempsterShaferCombiner. This procedure involves computing the proximity, the belief values, and the total class support using the Dempster’s rule.

Parameters

decision_outputslist of numpy.array matrices, each of shape (n_samples, n_classes’), where n_classes’ is classifier-specific and described by the coverage. Each matrix corresponds to one of n_classifiers classifiers and contains crisp or continuous decision outputs per sample.

Returns

A matrix (numpy.array) of crisp or continuous class assignments which represents fused decisions. Axis 0 represents samples and axis 1 the class labels which are aligned with axis 2 in decision_tensor input tensor.