Пример #1
0
def test_histogram_univariate_destructor():
    destructor = IndependentDestructor(independent_density=IndependentDensity(
        # Note only one univariate estimator
        univariate_estimators=[
            HistogramUnivariateDensity(bins=4, alpha=10, bounds=[0, 1])
        ]))
    assert check_destructor(destructor)
Пример #2
0
def test_deep_destructor_cv_with_tree_destructor():
    destructor = DeepDestructorCV(
        canonical_destructor=TreeDestructor(),
        max_canonical_destructors=2,
        cv=2,
    )
    assert check_destructor(destructor)
Пример #3
0
def test_pca_destructor():
    destructor = CompositeDestructor(destructors=[
        LinearProjector(
            linear_estimator=PCA(),
            orthogonal=False,
        ),
        IndependentDestructor(),
    ], )
    assert check_destructor(destructor, is_canonical=False)
Пример #4
0
def test_histogram_multivariate_destructor():
    destructor = IndependentDestructor(
        independent_density=IndependentDensity(
            univariate_estimators=HistogramUnivariateDensity(
                bins=4, alpha=10, bounds=[0, 1]
            )
        )
    )
    assert check_destructor(destructor)
Пример #5
0
def test_autoregressive_gaussian_destructor():
    """Currently takes too long for regular testing."""
    destructor = AutoregressiveDestructor(
        density_estimator=GaussianDensity(
            covariance_type='spherical',
            reg_covar=0.1
        )
    )
    assert check_destructor(destructor, is_canonical=False)
Пример #6
0
def test_autoregressive_sklearn_mixture_destructor():
    """Test autoregressive destructor and sklearn's Gaussian mixture."""
    destructor = AutoregressiveDestructor(
        density_estimator=GaussianMixtureDensity(
            covariance_type='spherical',
            max_iter=1,
            n_components=2,
            random_state=0,
        ))
    assert check_destructor(destructor, is_canonical=False)
Пример #7
0
def test_random_linear_householder_destructor():
    destructor = CompositeDestructor(
        destructors=[
            LinearProjector(
                # Since n_components=1, a Householder matrix will be used
                linear_estimator=RandomOrthogonalEstimator(n_components=1),
                orthogonal=False,
            ),
            IndependentDestructor(),
        ], )
    assert check_destructor(destructor, is_canonical=False)
Пример #8
0
def test_inverse_canonical_destructor():
    rng = check_random_state(0)
    fitted_canonical_destructor = IdentityDestructor().fit(rng.rand(10, 2))
    destructor = get_inverse_canonical_destructor(fitted_canonical_destructor)
    assert check_destructor(destructor)

    # Alpha must be high to pass the identity test
    fitted_canonical_destructor = get_inverse_canonical_destructor(
        TreeDestructor(TreeDensity(uniform_weight=0.99)).fit(rng.rand(10, 2))
    )
    destructor = get_inverse_canonical_destructor(fitted_canonical_destructor)
    assert check_destructor(destructor)

    # Alpha must be high to pass the identity test
    fitted_canonical_destructor = IndependentDestructor(
        independent_density=IndependentDensity(
            univariate_estimators=HistogramUnivariateDensity(bins=10, alpha=1000, bounds=[0, 1])
        )
    ).fit(rng.rand(10, 2))
    destructor = get_inverse_canonical_destructor(fitted_canonical_destructor)
    assert check_destructor(destructor)
Пример #9
0
def test_tree_destructor_with_node_destructor():
    node_tree_destructor = IndependentDestructor(
        independent_density=IndependentDensity(
            univariate_estimators=HistogramUnivariateDensity(
                bins=10, alpha=100, bounds=[0, 1])))
    for node_destructor in [IdentityDestructor(), node_tree_destructor]:
        destructor = TreeDestructor(tree_density=TreeDensity(
            tree_estimator=RandomTreeEstimator(max_leaf_nodes=3,
                                               random_state=0),
            node_destructor=node_destructor,
            uniform_weight=0.9,
        ))
        assert check_destructor(destructor)
Пример #10
0
def test_normal_independent_destructor():
    destructor = IndependentDestructor()
    assert check_destructor(destructor, is_canonical=False)
Пример #11
0
def test_tree_destructor():
    assert check_destructor(TreeDestructor())
Пример #12
0
def test_independent_destructor():
    assert check_destructor(IndependentDestructor(), is_canonical=False)
Пример #13
0
def test_identity_destructor():
    assert check_destructor(IdentityDestructor())
Пример #14
0
def test_deep_destructor_with_tree_destructor():
    destructor = DeepDestructor(
        canonical_destructor=TreeDestructor(),
        n_canonical_destructors=2,
    )
    assert check_destructor(destructor)
def test_mlpack_density_tree_destructor():
    destructor = TreeDestructor(
        tree_density=TreeDensity(tree_estimator=MlpackDensityTreeEstimator(
            max_leaf_nodes=10), ))
    assert check_destructor(destructor)