Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Online ml River Ensemble VotingClassifier

From Leeroopedia


Knowledge Sources
Domains Online_Learning, Ensemble_Methods, Voting
Last Updated 2026-02-08 16:00 GMT

Overview

Voting classifier aggregates predictions from multiple classifiers using either probability-weighted or uniform voting for robust ensemble decisions.

Description

This simple yet effective ensemble trains multiple classifiers in parallel and combines their predictions through voting. With use_probabilities=True (default), each classifier's prediction is weighted by its confidence (probability), and votes are summed across all models. With use_probabilities=False, each prediction counts equally regardless of confidence. Probabilities are automatically normalized to ensure they sum to 1.0. All base classifiers are updated with each training instance.

Usage

Use voting when you want a straightforward ensemble without the complexity of stacking or boosting. Probability-weighted voting (default) is generally better as it accounts for model confidence. Use uniform voting when all models should have equal influence or when probability calibration is poor. Ensure you use an odd number of classifiers with uniform voting to avoid ties, though the implementation handles ties by picking randomly.

Code Reference

Source Location

Signature

class VotingClassifier(base.Classifier, base.Ensemble):
    def __init__(self, models: list[base.Classifier], use_probabilities=True):
        super().__init__(models)
        self.use_probabilities = use_probabilities

Import

from river import ensemble

I/O Contract

Parameters

Parameter Type Default Description
models list[Classifier] required Classifiers to combine
use_probabilities bool True Weight votes by probability

Attributes

Attribute Type Description
models list Classifier instances in ensemble

Input/Output

Method Input Output
learn_one x: dict, y: Any None
predict_one x: dict Any
predict_proba_one x: dict dict[Any, float]

Usage Examples

from river import datasets
from river import ensemble
from river import evaluate
from river import linear_model
from river import metrics
from river import naive_bayes
from river import preprocessing
from river import tree

dataset = datasets.Phishing()

model = (
    preprocessing.StandardScaler() |
    ensemble.VotingClassifier([
        linear_model.LogisticRegression(),
        tree.HoeffdingTreeClassifier(),
        naive_bayes.GaussianNB()
    ])
)

metric = metrics.F1()

evaluate.progressive_val_score(dataset, model, metric)
# F1: 86.94%

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment