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)
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)
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)
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)
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)
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)
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())
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)
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])
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])
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])
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])
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()))
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)
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())
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)
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)
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)
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)