コード例 #1
0
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)
コード例 #2
0
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)
コード例 #3
0
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)
コード例 #4
0
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])
コード例 #5
0
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])
コード例 #6
0
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])
コード例 #7
0
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])
コード例 #8
0
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])
コード例 #9
0
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])
コード例 #10
0
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])
コード例 #11
0
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])
コード例 #12
0
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)
コード例 #13
0
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)
コード例 #14
0
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)
コード例 #15
0
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)
コード例 #16
0
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)
コード例 #17
0
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)
コード例 #18
0
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)
コード例 #19
0
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)
コード例 #20
0
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])
コード例 #21
0
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)
コード例 #22
0
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])
コード例 #23
0
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])
コード例 #24
0
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)