Source code for njab.sklearn.types

from dataclasses import dataclass
from collections import namedtuple

import pandas as pd
import sklearn

AucRocCurve = namedtuple("AucRocCurve", 'fpr tpr cutoffs')
PrecisionRecallCurve = namedtuple("PrecisionRecallCurve",
                                  'precision recall cutoffs')


[docs] @dataclass class ResultsSplit: """Results for a single split of train and test data.""" auc: float = None # receiver operation curve area under the curve aps: float = None # average precision score roc: AucRocCurve = None prc: PrecisionRecallCurve = None
[docs] @dataclass class Results: """Results for a model trained on a single split of train and test data.""" model: sklearn.base.BaseEstimator = None selected_features: list = None train: ResultsSplit = None test: ResultsSplit = None name: str = None
[docs] @dataclass class Splits: """Splits of train and test data with targets.""" X_train: pd.DataFrame X_test: pd.DataFrame y_train: pd.Series y_test: pd.Series