Esempio n. 1
0
def test_interleaved_scores():
    """Test a dummy regressor"""
    X = np.random.random((100, 10))
    y = X[:, 0]**2
    estimator = TemplateEstimator()
    mse_scorer = make_scorer(mean_squared_error)

    scores = interleaved_evaluation(estimator, X, y, mse_scorer)
    assert_almost_equal(scores, np.zeros(X.shape[0]))
Esempio n. 2
0
def test_template_estimator(data):
    est = TemplateEstimator()
    assert est.demo_param == 'demo_param'

    est.fit(*data)
    assert hasattr(est, 'is_fitted_')

    X = data[0]
    y_pred = est.predict(X)
    assert_array_equal(y_pred, np.ones(X.shape[0], dtype=np.int64))
Esempio n. 3
0
def test_prequential_window():
    """Test length of produced evaluation when windows are used"""
    n_samples = 100
    window_size = 10
    assert n_samples % window_size == 0  # Meta-test, this needs to hold
    X = np.random.random((n_samples, 10))
    y = X[:, 0]**2
    estimator = TemplateEstimator()
    mse_scorer = make_scorer(mean_squared_error)

    scores = prequential_evaluation(estimator,
                                    X,
                                    y,
                                    mse_scorer,
                                    window_size=window_size)
    eq_(len(scores), n_samples / window_size)
Esempio n. 4
0
def test_prequential_incomplete_window():
    """Test length of produced evaluation when windows are used, and the last
    window has less items than the requested length"""
    n_samples = 109
    window_size = 10
    assert n_samples % window_size != 0
    X = np.random.random((n_samples, 10))
    y = X[:, 0]**2
    estimator = TemplateEstimator()
    mse_scorer = make_scorer(mean_squared_error)

    scores = prequential_evaluation(estimator,
                                    X,
                                    y,
                                    mse_scorer,
                                    window_size=window_size)
    eq_(len(scores), np.ceil(n_samples / window_size))
Esempio n. 5
0
def test_prequential_multimetric():
    n_samples = 100
    window_size = 10
    assert n_samples % window_size == 0  # Meta-test, this needs to hold
    X = np.random.random((n_samples, 10))
    y = X[:, 0]**2
    estimator = TemplateEstimator()
    mse_scorer = make_scorer(mean_squared_error)
    r2_scorer = make_scorer(r2_score)

    score_dict = {"mse": mse_scorer, "r2": r2_scorer}

    result_dict = prequential_evaluation(estimator,
                                         X,
                                         y,
                                         score_dict,
                                         window_size=window_size)

    assert isinstance(result_dict, dict)
    for score_name, score_list in result_dict.items():
        eq_(len(score_list), n_samples / window_size)
Esempio n. 6
0
"""
===========================
Plotting Template Estimator
===========================

An example plot of TemplateEstimator
"""
import numpy as np
from skltemplate import TemplateEstimator
from matplotlib import pyplot as plt

X = np.arange(100).reshape(100, 1)
y = np.zeros((100, ))
estimator = TemplateEstimator()
estimator.fit(X, y)
plt.plot(estimator.predict(X))
plt.show()
import pytest

from sklearn.utils.estimator_checks import check_estimator

from skltemplate import TemplateEstimator
from skltemplate import TemplateClassifier
from skltemplate import TemplateTransformer


@pytest.mark.parametrize(
    "estimator",
    [TemplateEstimator(), TemplateTransformer(), TemplateClassifier()]
)
def test_all_estimators(estimator):
    return check_estimator(estimator)