def test_digits_cosine_greedi_nl_sparse(): model = SumRedundancySelection(100, 'precomputed', optimizer='greedi', optimizer_kwds={'optimizer1': 'naive', 'optimizer2': 'lazy'}, random_state=0) model.fit(X_digits_cosine_sparse) assert_array_equal(model.ranking, digits_cosine_greedi_ranking) assert_array_almost_equal(model.gains, digits_cosine_greedi_gains, 4)
def test_digits_sqrt_modular_sparse(): model = SumRedundancySelection(100, 'precomputed', optimizer='modular', random_state=0) model.fit(X_digits_cosine_sparse) assert_array_equal(model.ranking, digits_cosine_modular_ranking) assert_array_almost_equal(model.gains, digits_cosine_modular_gains, 4)
def test_digits_precomputed_two_stage_init(): model = SumRedundancySelection(100, 'precomputed', optimizer='two-stage', initial_subset=digits_cosine_ranking[:5]) model.fit(X_digits_cosine_cupy) assert_array_equal(model.ranking[:-5], digits_cosine_ranking[5:]) assert_array_almost_equal(model.gains[:-5], digits_cosine_gains[5:], 4)
def test_digits_sqrt_modular_object(): model = SumRedundancySelection(100, 'cosine', optimizer=ModularGreedy(random_state=0)) model.fit(X_digits) assert_array_equal(model.ranking, digits_cosine_modular_ranking) assert_array_almost_equal(model.gains, digits_cosine_modular_gains, 4) assert_array_almost_equal(model.subset, X_digits[model.ranking])
def test_digits_euclidean_two_stage_init(): model = SumRedundancySelection(100, 'euclidean', optimizer='two-stage', initial_subset=digits_euclidean_ranking[:5]) model.fit(X_digits) assert_array_equal(model.ranking[:-5], digits_euclidean_ranking[5:]) assert_array_almost_equal(model.gains[:-5], digits_euclidean_gains[5:], 4) assert_array_almost_equal(model.subset, X_digits[model.ranking])
def test_digits_cosine_sample(): model = SumRedundancySelection(100, 'cosine', optimizer='sample', random_state=0) model.fit(X_digits) assert_array_equal(model.ranking, digits_cosine_sample_ranking) assert_array_almost_equal(model.gains, digits_cosine_sample_gains, 4) assert_array_almost_equal(model.subset, X_digits[model.ranking])
def test_digits_cosine_lazy_init(): model = SumRedundancySelection(100, 'cosine', optimizer='lazy', initial_subset=digits_cosine_ranking[:5]) model.fit(X_digits) assert_array_equal(model.ranking[:-5], digits_cosine_ranking[5:]) assert_array_almost_equal(model.gains[:-5], digits_cosine_gains[5:], 4) assert_array_almost_equal(model.subset, X_digits[model.ranking])
def test_digits_cosine_greedi_nl_object(): model = SumRedundancySelection(100, 'cosine', optimizer=GreeDi(optimizer1='naive', optimizer2='lazy', random_state=0)) model.fit(X_digits) assert_array_equal(model.ranking, digits_cosine_greedi_ranking) assert_array_almost_equal(model.gains, digits_cosine_greedi_gains, 4) assert_array_almost_equal(model.subset, X_digits[model.ranking])
def test_digits_cosine_sieve_batch(): return model = SumRedundancySelection(100, 'cosine', random_state=0, reservoir=X_digits) model.partial_fit(X_digits) print("[" + ", ".join(map(str, model.ranking)) + "]") print("[" + ", ".join([str(round(gain, 4)) for gain in model.gains]) + "]") assert_array_equal(model.ranking, digits_cosine_sieve_ranking) assert_array_almost_equal(model.gains, digits_cosine_sieve_gains, 4) assert_array_almost_equal(model.subset, X_digits[model.ranking])
def test_digits_cosine_greedi_ln(): model = SumRedundancySelection(100, 'cosine', optimizer='greedi', optimizer_kwds={ 'optimizer1': 'lazy', 'optimizer2': 'naive' }, random_state=0) model.fit(X_digits) assert_array_equal(model.ranking, digits_cosine_greedi_ranking) assert_array_almost_equal(model.gains, digits_cosine_greedi_gains, 4) assert_array_almost_equal(model.subset, X_digits[model.ranking])
def test_digits_cosine_sieve_minibatch(): return model = SumRedundancySelection(100, 'cosine', random_state=0, reservoir=X_digits) model.partial_fit(X_digits[:300]) model.partial_fit(X_digits[300:500]) model.partial_fit(X_digits[500:]) assert_array_equal(model.ranking, digits_cosine_sieve_ranking) assert_array_almost_equal(model.gains, digits_cosine_sieve_gains, 4) assert_array_almost_equal(model.subset, X_digits[model.ranking])
def test_digits_cosine_stochastic(): model = SumRedundancySelection(100, 'cosine', optimizer='stochastic', random_state=0) model.fit(X_digits) assert_array_equal(model.ranking, digits_cosine_stochastic_ranking) assert_array_almost_equal(model.gains, digits_cosine_stochastic_gains, 4)
def test_digits_corr_naive_init(): model = SumRedundancySelection(100, 'corr', optimizer='naive', initial_subset=digits_corr_ranking[:5]) model.fit(X_digits) assert_array_equal(model.ranking[:-5], digits_corr_ranking[5:]) assert_array_almost_equal(model.gains[:-5], digits_corr_gains[5:], 4)
def test_digits_euclidean_naive_init(): model = SumRedundancySelection(100, 'euclidean', optimizer='naive', initial_subset=digits_euclidean_ranking[:5]) model.fit(X_digits) assert_array_equal(model.ranking[:20], digits_euclidean_ranking[5:25]) assert_array_almost_equal(model.gains[:20], digits_euclidean_gains[5:25], 4)
def test_digits_precomputed_lazy(): model = SumRedundancySelection(100, 'precomputed', optimizer='lazy') model.fit(X_digits_corr_cupy) assert_array_equal(model.ranking, digits_corr_ranking) assert_array_almost_equal(model.gains, digits_corr_gains, 4)
def test_digits_cosine_lazy(): model = SumRedundancySelection(100, 'cosine', optimizer='lazy') model.fit(X_digits) assert_array_equal(model.ranking, digits_cosine_ranking) assert_array_almost_equal(model.gains, digits_cosine_gains, 4)
def test_digits_corr_two_stage(): model = SumRedundancySelection(100, 'corr', optimizer='two-stage') model.fit(X_digits) assert_array_equal(model.ranking, digits_corr_ranking) assert_array_almost_equal(model.gains, digits_corr_gains, 4)
def test_digits_cosine_two_stage_sparse(): model = SumRedundancySelection(100, 'precomputed', optimizer='two-stage') model.fit(X_digits_cosine_sparse) assert_array_equal(model.ranking, digits_cosine_ranking) assert_array_almost_equal(model.gains, digits_cosine_gains, 4)
def test_digits_cosine_two_stage_object(): model = SumRedundancySelection(100, 'cosine', optimizer=TwoStageGreedy()) model.fit(X_digits) assert_array_equal(model.ranking, digits_cosine_ranking) assert_array_almost_equal(model.gains, digits_cosine_gains, 4)
def test_digits_cosine_lazy_object(): model = SumRedundancySelection(100, 'cosine', optimizer=LazyGreedy()) model.fit(X_digits) assert_array_equal(model.ranking, digits_cosine_ranking) assert_array_almost_equal(model.gains, digits_cosine_gains, 4) assert_array_almost_equal(model.subset, X_digits[model.ranking])
def test_digits_cosine_sample_object(): model = SumRedundancySelection(100, 'cosine', optimizer=SampleGreedy(random_state=0)) model.fit(X_digits) assert_array_equal(model.ranking, digits_cosine_sample_ranking) assert_array_almost_equal(model.gains, digits_cosine_sample_gains, 4)
def test_digits_corr_naive(): model = SumRedundancySelection(100, 'corr', optimizer='naive') model.fit(X_digits) assert_array_equal(model.ranking, digits_corr_ranking) assert_array_almost_equal(model.gains, digits_corr_gains, 4) assert_array_almost_equal(model.subset, X_digits[model.ranking])
def test_digits_euclidean_two_stage(): model = SumRedundancySelection(100, 'euclidean', optimizer='two-stage') model.fit(X_digits) assert_array_equal(model.ranking, digits_euclidean_ranking) assert_array_almost_equal(model.gains, digits_euclidean_gains, 4) assert_array_almost_equal(model.subset, X_digits[model.ranking])
def test_digits_euclidean_naive(): model = SumRedundancySelection(100, 'euclidean', optimizer='naive') model.fit(X_digits) assert_array_equal(model.ranking, digits_euclidean_ranking) assert_array_almost_equal(model.gains, digits_euclidean_gains, 4)