def test_digits_corr_lazy_init():
	model = FacilityLocationSelection(100, 'corr', optimizer='lazy', 
		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)
	assert_array_almost_equal(model.subset, X_digits[model.ranking])
def test_digits_cosine_two_stage_init():
	model = FacilityLocationSelection(100, 'cosine', optimizer='two-stage', 
		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_euclidean_naive_init():
	model = FacilityLocationSelection(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)
	assert_array_almost_equal(model.subset, X_digits[model.ranking])
def test_digits_sqrt_modular_sparse():
	model = FacilityLocationSelection(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)
	
Ejemplo n.º 5
0
def test_digits_corr_small_pq_bool_initialized():
    mask = numpy.zeros(X_digits.shape[0], dtype=bool)
    mask[digits_corr_ranking[:5]] = True
    model = FacilityLocationSelection(10, 'corr', 1, initial_subset=mask)
    model.fit(X_digits)
    assert_array_equal(model.ranking, digits_corr_ranking[5:15])
    assert_array_almost_equal(model.gains, digits_corr_gains[5:15], 4)
Ejemplo n.º 6
0
def test_digits_cosine_approximate_object():
    model = FacilityLocationSelection(100,
                                      'cosine',
                                      optimizer=ApproximateLazyGreedy())
    model.fit(X_digits)
    assert_array_equal(model.ranking, digits_cosine_approx_ranking)
    assert_array_almost_equal(model.gains, digits_cosine_approx_gains, 4)
Ejemplo n.º 7
0
def test_digits_cosine_approximate_sparse():
    model = FacilityLocationSelection(100,
                                      'precomputed',
                                      optimizer='approximate-lazy')
    model.fit(X_digits_cosine_sparse)
    assert_array_equal(model.ranking, digits_cosine_approx_ranking)
    assert_array_almost_equal(model.gains, digits_cosine_approx_gains, 4)
Ejemplo n.º 8
0
def test_digits_sqrt_modular_object():
    model = FacilityLocationSelection(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)
Ejemplo n.º 9
0
def test_digits_cosine_two_stage_sparse():
    model = FacilityLocationSelection(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)
Ejemplo n.º 10
0
def test_digits_cosine_greedi_nl_sparse():
	model = FacilityLocationSelection(100, 'precomputed', optimizer='greedi',
		optimizer_kwds={'optimizer1': 'naive', 'optimizer2': 'lazy'}, 
		random_state=0)
	model.fit(X_digits_cosine_sparse)
	assert_array_equal(model.ranking[:30], digits_cosine_greedi_ranking[:30])
	assert_array_almost_equal(model.gains[:30], digits_cosine_greedi_gains[:30], 4)
Ejemplo n.º 11
0
def test_digits_euclidean_naive():
	model = FacilityLocationSelection(100, 'euclidean', optimizer='naive')
	model.fit(X_digits)
	assert_array_equal(model.ranking[:30], digits_euclidean_ranking[:30])
	assert_array_equal(model.ranking[-30:], digits_euclidean_ranking[-30:])
	assert_array_almost_equal(model.gains, digits_euclidean_gains, 4)
	assert_array_almost_equal(model.subset, X_digits[model.ranking])
Ejemplo n.º 12
0
def test_digits_cosine_two_stage_object():
    model = FacilityLocationSelection(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)
Ejemplo n.º 13
0
def test_digits_cosine_sample_object():
	model = FacilityLocationSelection(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)
	assert_array_almost_equal(model.subset, X_digits[model.ranking])
Ejemplo n.º 14
0
def test_digits_cosine_greedi_nl_object():
	model = FacilityLocationSelection(100, 'cosine', optimizer=GreeDi(
		optimizer1='naive', optimizer2='lazy', random_state=0))
	model.fit(X_digits)
	assert_array_equal(model.ranking[:30], digits_cosine_greedi_ranking[:30])
	assert_array_almost_equal(model.gains[:30], digits_cosine_greedi_gains[:30], 4)
	assert_array_almost_equal(model.subset, X_digits[model.ranking])
Ejemplo n.º 15
0
def test_digits_cosine_modular():
	model = FacilityLocationSelection(100, 'cosine', optimizer='modular',
		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])
Ejemplo n.º 16
0
def test_digits_corr_small_pq_rank_initialized():
    model = FacilityLocationSelection(10,
                                      'corr',
                                      1,
                                      initial_subset=digits_corr_ranking[:5])
    model.fit(X_digits)
    assert_array_equal(model.ranking, digits_corr_ranking[5:15])
    assert_array_almost_equal(model.gains, digits_corr_gains[5:15], 4)
Ejemplo n.º 17
0
def test_digits_cosine_sample():
    model = FacilityLocationSelection(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)
Ejemplo n.º 18
0
def test_digits_precomputed_lazy_init():
    model = FacilityLocationSelection(100,
                                      'precomputed',
                                      optimizer='lazy',
                                      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)
Ejemplo n.º 19
0
def test_digits_cosine_greedi_ln():
	model = FacilityLocationSelection(100, 'cosine', optimizer='greedi',
		optimizer_kwds={'optimizer1': 'lazy', 'optimizer2': 'naive'}, 
		random_state=0)
	model.fit(X_digits)
	assert_array_equal(model.ranking[:50], digits_cosine_greedi_ranking[:50])
	assert_array_almost_equal(model.gains[:50], digits_cosine_greedi_gains[:50], 4)
	assert_array_almost_equal(model.subset, X_digits[model.ranking])
Ejemplo n.º 20
0
def test_digits_cosine_greedi_nn_object():
    model = FacilityLocationSelection(100,
                                      'cosine',
                                      optimizer=GreeDi(optimizer1='naive',
                                                       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)
Ejemplo n.º 21
0
def test_digits_euclidean_large_greedy():
    model = FacilityLocationSelection(100, 'euclidean', 100)
    model.fit(X_digits)

    assert_array_almost_equal(model.gains, digits_euclidean_gains, 4)

    # There is one swap in the resulting ranking because two points have
    # the same distance. Thus, the gains are the same but this swap means
    # that the ranking aren't the same.
    assert_array_equal(model.ranking[:25], digits_euclidean_ranking[:25])
    assert_array_equal(model.ranking[-25:], digits_euclidean_ranking[-25:])
def f_analysis():
    num_subsets = 10
    obj = FacilityLocationSelection(num_subsets,
                                    metric='euclidean',
                                    optimizer='lazy')
    obj = obj.fit(data)
    subsets = obj.transform(data)
Ejemplo n.º 23
0
def test_digits_cosine_large_precomputed_greedy():
    model = FacilityLocationSelection(100, 'precomputed', 100)
    model.fit(X_digits_cosine_cupy)
    assert_array_equal(model.ranking, digits_cosine_ranking)
    assert_array_almost_equal(model.gains, digits_cosine_gains, 4)
Ejemplo n.º 24
0
def test_digits_cosine_large_precomputed_truncated_pivot():
    model = FacilityLocationSelection(150, 'precomputed', 50)
    model.fit(X_digits_sparse)
    assert_array_equal(model.ranking[:100], digits_cosine_ranking)
    assert_array_almost_equal(model.gains[:100], digits_cosine_gains, 4)
Ejemplo n.º 25
0
def test_digits_corr_small_precomputed_greedy():
    model = FacilityLocationSelection(10, 'precomputed', 10)
    model.fit(X_digits_corr_cupy)
    assert_array_equal(model.ranking, digits_corr_ranking[:10])
    assert_array_almost_equal(model.gains, digits_corr_gains[:10], 4)
Ejemplo n.º 26
0
def test_digits_cosine_small_precomputed_truncated():
    model = FacilityLocationSelection(15, 'precomputed', 1)
    model.fit(X_digits_sparse)
    assert_array_equal(model.ranking[:10], digits_cosine_ranking[:10])
    assert_array_almost_equal(model.gains[:10], digits_cosine_gains[:10], 4)
Ejemplo n.º 27
0
def test_digits_cosine_large_truncated():
    model = FacilityLocationSelection(150, 'cosine', 1)
    model.fit(X_digits)
    assert_array_equal(model.ranking[:100], digits_cosine_ranking)
    assert_array_almost_equal(model.gains[:100], digits_cosine_gains, 4)
Ejemplo n.º 28
0
def test_digits_cosine_large_pivot():
    model = FacilityLocationSelection(100, 'cosine', 50)
    model.fit(X_digits)
    assert_array_equal(model.ranking, digits_cosine_ranking)
    assert_array_almost_equal(model.gains, digits_cosine_gains, 4)
Ejemplo n.º 29
0
def test_digits_cosine_small_truncated_pivot():
    model = FacilityLocationSelection(15, 'cosine', 5)
    model.fit(X_digits)
    assert_array_equal(model.ranking[:10], digits_cosine_ranking[:10])
    assert_array_almost_equal(model.gains[:10], digits_cosine_gains[:10], 4)
Ejemplo n.º 30
0
def test_digits_cosine_small_pq():
    model = FacilityLocationSelection(10, 'cosine', 1)
    model.fit(X_digits)
    assert_array_equal(model.ranking, digits_cosine_ranking[:10])
    assert_array_almost_equal(model.gains, digits_cosine_gains[:10], 4)