コード例 #1
0
def test_digits_sqrt_two_stage():
	model = FeatureBasedSelection(100, 'sqrt', optimizer='two-stage')
	model.fit(X_digits_cupy)
	assert_array_equal(model.ranking, digits_sqrt_ranking)
	assert_array_almost_equal(model.gains, digits_sqrt_gains, 4)
コード例 #2
0
def test_digits_log_naive_init():
	model = FeatureBasedSelection(100, 'log', optimizer='naive', 
		initial_subset=digits_log_ranking[:5])
	model.fit(X_digits_cupy)
	assert_array_equal(model.ranking[:20], digits_log_ranking[5:25])
	assert_array_almost_equal(model.gains[:20], digits_log_gains[5:25], 4)
コード例 #3
0
def test_digits_log_naive():
	model = FeatureBasedSelection(100, 'log', optimizer='naive')
	model.fit(X_digits_cupy)
	assert_array_equal(model.ranking[:30], digits_log_ranking[:30])
	assert_array_equal(model.ranking[-30:], digits_log_ranking[-30:])
	assert_array_almost_equal(model.gains, digits_log_gains, 4)
コード例 #4
0
def test_digits_sigmoid_lazy():
	model = FeatureBasedSelection(100, 'sigmoid', optimizer='lazy')
	model.fit(X_digits_cupy)
	assert_array_equal(model.ranking, digits_sigmoid_ranking)
	assert_array_almost_equal(model.gains, digits_sigmoid_gains, 4)
コード例 #5
0
def test_digits_inverse_large_greedy():
    model = FeatureBasedSelection(100, 'inverse', 100)
    model.fit(X_digits)
    assert_array_equal(model.ranking, digits_inverse_ranking)
    assert_array_almost_equal(model.gains, digits_inverse_gains, 4)
コード例 #6
0
def test_digits_approximate():
    model = FeatureBasedSelection(100, 'sqrt', optimizer='approximate-lazy')
    model.fit(X_digits, sample_cost=X_digits_costs)
    assert_array_equal(model.ranking, digits_approx_ranking)
    assert_array_almost_equal(model.gains, digits_approx_gains, 4)
    assert_less_equal(sum(X_digits_costs[model.ranking]), 100)
コード例 #7
0
def test_digits_sqrt_two_stage_sparse():
	model = FeatureBasedSelection(100, 'sqrt', optimizer='two-stage')
	model.fit(X_digits_sparse)
	assert_array_equal(model.ranking, digits_sqrt_ranking)
	assert_array_almost_equal(model.gains, digits_sqrt_gains, 4)
	assert_array_almost_equal(model.subset, X_digits_sparse[model.ranking].toarray())
コード例 #8
0
def test_digits_sqrt_approximate():
	model = FeatureBasedSelection(100, 'sqrt', optimizer='approximate-lazy')
	model.fit(X_digits_cupy)
	assert_array_equal(model.ranking, digits_sqrt_approx_ranking)
	assert_array_almost_equal(model.gains, digits_sqrt_approx_gains, 4)
コード例 #9
0
def test_digits_sqrt_sieve_batch_sparse():
	model = FeatureBasedSelection(100, 'sqrt', random_state=0)
	model.partial_fit(X_digits_sparse)
	assert_array_equal(model.ranking, digits_sqrt_sieve_ranking)
	assert_array_almost_equal(model.gains, digits_sqrt_sieve_gains, 4)
	assert_array_almost_equal(model.subset, X_digits[model.ranking])
コード例 #10
0
def test_digits_sqrt_two_stage_object():
	model = FeatureBasedSelection(100, 'sqrt', optimizer=TwoStageGreedy())
	model.fit(X_digits)
	assert_array_equal(model.ranking, digits_sqrt_ranking)
	assert_array_almost_equal(model.gains, digits_sqrt_gains, 4)
	assert_array_almost_equal(model.subset, X_digits[model.ranking])
コード例 #11
0
def test_digits_sqrt_lazy():
	model = FeatureBasedSelection(100, 'sqrt', optimizer='lazy')
	model.fit(X_digits)
	assert_array_equal(model.ranking, digits_sqrt_ranking)
	assert_array_almost_equal(model.gains, digits_sqrt_gains, 4)
	assert_array_almost_equal(model.subset, X_digits[model.ranking])
コード例 #12
0
def test_digits_sigmoid_two_stage():
	model = FeatureBasedSelection(100, 'sigmoid', optimizer='two-stage')
	model.fit(X_digits)
	assert_array_equal(model.ranking, digits_sigmoid_ranking)
	assert_array_almost_equal(model.gains, digits_sigmoid_gains, 4)
	assert_array_almost_equal(model.subset, X_digits[model.ranking])
コード例 #13
0
def test_digits_sqrt_select_biggest_first():
    model = FeatureBasedSelection(10, 'sqrt', 10)
    model.fit(X_digits)
    assert_equal(model.ranking[0], int(X_digits.sum(axis=1).argmax()))
コード例 #14
0
def test_digits_sigmoid_lazy_init():
	model = FeatureBasedSelection(100, 'sigmoid', optimizer='lazy', 
		initial_subset=digits_sigmoid_ranking[:5])
	model.fit(X_digits_cupy)
	assert_array_equal(model.ranking[:-5], digits_sigmoid_ranking[5:])
	assert_array_almost_equal(model.gains[:-5], digits_sigmoid_gains[5:], 4)
コード例 #15
0
def test_digits_sqrt_approximate_sparse():
	model = FeatureBasedSelection(100, 'sqrt', optimizer='approximate-lazy')
	model.fit(X_digits_sparse)
	assert_array_equal(model.ranking, digits_sqrt_approx_ranking)
	assert_array_almost_equal(model.gains, digits_sqrt_approx_gains, 4)
	assert_array_almost_equal(model.subset, X_digits_sparse[model.ranking].toarray())
コード例 #16
0
def test_digits_sqrt_two_stage_init():
	model = FeatureBasedSelection(100, 'sqrt', optimizer='two-stage', 
		initial_subset=digits_sqrt_ranking[:5])
	model.fit(X_digits_cupy)
	assert_array_equal(model.ranking[:-5], digits_sqrt_ranking[5:])
	assert_array_almost_equal(model.gains[:-5], digits_sqrt_gains[5:], 4)
コード例 #17
0
def test_digits_two_stage():
    model = FeatureBasedSelection(100, 'sqrt', optimizer='two-stage')
    model.fit(X_digits, sample_cost=X_digits_costs)
    assert_array_equal(model.ranking, digits_ranking)
    assert_array_almost_equal(model.gains, digits_gains, 4)
    assert_less_equal(sum(X_digits_costs[model.ranking]), 100)
コード例 #18
0
def test_digits_sqrt_sample():
	model = FeatureBasedSelection(100, 'sqrt', optimizer='sample',
		random_state=0)
	model.fit(X_digits_cupy)
	assert_array_equal(model.ranking, digits_sqrt_sample_ranking)
	assert_array_almost_equal(model.gains, digits_sqrt_sample_gains, 4)
コード例 #19
0
def test_digits_inverse_small_greedy():
    model = FeatureBasedSelection(10, 'inverse', 10)
    model.fit(X_digits)
    assert_array_equal(model.ranking, digits_inverse_ranking[:10])
    assert_array_almost_equal(model.gains, digits_inverse_gains[:10], 4)