Source code for vulpes.tests.test_classifiers

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""test_classifiers.py: Test the classifiers module
"""

from vulpes.automl import Classifiers

import numpy as np


[docs] def test_classifiers_1() -> None: # binary output + hard voting X = np.array( [ [ np.random.randint(-20, 20) * np.random.random(), np.random.randint(-10, 10) * np.random.random(), ] for _ in range(50) ] ) y = np.array([np.random.randint(0, 2) for _ in range(50)]) classifiers = Classifiers() _ = classifiers.fit(X, y) _ = classifiers.build_best_models(X, y, voting="hard")
[docs] def test_classifiers_2() -> None: # 3-class + soft voting + sample weight + groups X = np.array( [ [ np.random.randint(-20, 20) * np.random.random(), np.random.randint(-10, 10) * np.random.random(), ] for _ in range(50) ] ) y = np.array([np.random.randint(0, 3) for _ in range(50)]) sample_weight = np.array([np.random.random() for _ in range(50)]) groups = np.array([np.random.randint(0, 2) for _ in range(50)]) classifiers = Classifiers() _ = classifiers.fit(X, y, sample_weight=sample_weight, groups=groups) _ = classifiers.build_best_models(X, y, voting="hard")
[docs] def test_classifiers_3() -> None: # default preprocessing, no cross validation # + test get_ functions to retrieve models and predict functions # on fitted models X = np.array( [ [ np.random.randint(-20, 20) * np.random.random(), np.random.randint(-10, 10) * np.random.random(), ] for _ in range(50) ] ) y = np.array([np.random.randint(0, 2) for _ in range(50)]) classifiers = Classifiers(preprocessing="default", use_cross_validation=False) _ = classifiers.fit(X, y) _ = classifiers.build_best_models(X, y, voting="soft") _ = classifiers.get_fitted_models() _ = classifiers.get_best_model() _ = classifiers.predict(X) _ = classifiers.predict_proba(X) _ = classifiers.predict_best(X) _ = classifiers.predict_proba_best(X)