Source code for library.utils.ownModels.majorityClassModel

import pandas as pd
import numpy as np
from sklearn.base import BaseEstimator, ClassifierMixin


[docs] class MajorityClassClassifier(BaseEstimator, ClassifierMixin): """ Simulates a sklearn model object (with the corresponding methods) that computes always the most common class as prediction """ def __init__(self): self.most_common_class = None
[docs] def fit(self, X_data, y_data): if not isinstance(y_data, pd.Series): y_data = pd.Series(y_data) most_common_class = y_data.mode()[0] self.most_common_class = most_common_class self.is_fitted_ = True # Needed for sklearn compatibility return self
[docs] def predict(self, X_data): return [self.most_common_class] * len(X_data)
[docs] def get_params(self, deep=True): return {} # No hyperparameters to tune
[docs] def predict_proba(self, X_data): return np.array([[1 if y == self.most_common_class else 0 for y in y_data] for y_data in X_data])