Source code for mlinsights.sklapi.sklearn_base_learner

# -*- coding: utf-8 -*-
"""
Implements a *learner* which follows the same API
as every :epkg:`scikit-learn` learner.


:githublink:`%|py|7`
"""
from .sklearn_base import SkBase


[docs]class SkBaseLearner(SkBase): """ Pattern of a *learner* qui suit la même API que :epkg:`scikit-learn`. :githublink:`%|py|14` """
[docs] def __init__(self, **kwargs): """ constructor :githublink:`%|py|19` """ SkBase.__init__(self, **kwargs)
################### # API scikit-learn ###################
[docs] def fit(self, X, y=None, sample_weight=None): """ Trains a model. :param X: features :param y: targets :param sample_weight: weight :return: self :githublink:`%|py|34` """ raise NotImplementedError() # pragma: no cover
[docs] def predict(self, X): """ Predicts. :param X: features :return: prédictions :githublink:`%|py|43` """ raise NotImplementedError() # pragma: no cover
[docs] def decision_function(self, X): """ Output of the model in case of a regressor, matrix with a score for each class and each sample for a classifier. :param X: Samples, {array-like, sparse matrix}, shape = (n_samples, n_features) :return: array, shape = (n_samples,.), Returns predicted values. :githublink:`%|py|54` """ raise NotImplementedError() # pragma: no cover
[docs] def score(self, X, y=None, sample_weight=None): """ Returns the mean accuracy on the given test data and labels. :param X: Training data, numpy array or sparse matrix of shape [n_samples,n_features] :param y: Target values, numpy array of shape [n_samples, n_targets] (optional) :param sample_weight: Weight values, numpy array of shape [n_samples, n_targets] (optional) :return: score : float, Mean accuracy of self.predict(X) wrt. y. :githublink:`%|py|65` """ raise NotImplementedError() # pragma: no cover