def test_if_fitted(data_random): x = data_random model = Koopman() with pytest.raises(NotFittedError): model.predict(x) with pytest.raises(NotFittedError): model.simulate(x) with pytest.raises(NotFittedError): model.koopman_matrix with pytest.raises(NotFittedError): model._step(x) with pytest.raises(NotFittedError): model.score(x)
def test_score_complex_data(data_random_complex): x = data_random_complex model = Koopman().fit(x) with pytest.raises(ValueError): model.score(x, cast_as_real=False)
def test_score_with_target(data_2D_superposition): x = data_2D_superposition model = Koopman().fit(x) # Test with a target assert model.score(x[::2], y=x[1::2]) > 0.8
def test_score_without_target(data_2D_superposition): x = data_2D_superposition model = Koopman().fit(x) # Test without a target assert model.score(x) > 0.8
def test_observables_integration_accuracy(data_1D_cosine, observables): x = data_1D_cosine model = Koopman(observables=observables, quiet=True).fit(x) assert model.score(x) > 0.95