def test_debiasing_warm_start(): clf = PrimalSVC(kernel="rbf", gamma=0.1, penalty="l1", max_iter=10) clf.C = 0.5 clf.fit(bin_dense, bin_target) assert_equal(clf.n_support_vectors(), 160) assert_almost_equal(clf.score(bin_dense, bin_target), 0.845) clf = PrimalSVC(kernel="rbf", gamma=0.1, penalty="l1", max_iter=10) clf.C = 0.500001 clf.fit(bin_dense, bin_target) assert_equal(clf.n_support_vectors(), 191) assert_almost_equal(clf.score(bin_dense, bin_target), 0.97) clf = PrimalSVC(kernel="rbf", gamma=0.1, penalty="l1", max_iter=10, warm_start=True) clf.C = 0.5 clf.fit(bin_dense, bin_target) assert_equal(clf.n_support_vectors(), 160) assert_almost_equal(clf.score(bin_dense, bin_target), 0.845) clf = PrimalSVC(kernel="rbf", gamma=0.1, penalty="l1", max_iter=10, warm_start=True) clf.C = 0.500001 clf.fit(bin_dense, bin_target) assert_equal(clf.n_support_vectors(), 191) assert_almost_equal(clf.score(bin_dense, bin_target), 0.97)
def test_empty_model(): clf = PrimalSVC(kernel="rbf", gamma=0.1, C=0.1, penalty="l1") clf.fit(bin_dense, bin_target) assert_equal(clf.n_support_vectors(), 0) acc = clf.score(bin_dense, bin_target) assert_equal(acc, 0.5) clf = PrimalSVC(kernel="rbf", gamma=0.1, C=0.1, penalty="l1l2") clf.fit(bin_dense, bin_target) assert_equal(clf.n_support_vectors(), 0) acc = clf.score(bin_dense, bin_target) assert_equal(acc, 0.5)
def test_upper_bound_rbf(): clf = PrimalSVC(random_state=0, penalty="l1", kernel="rbf", gamma=0.1) Cmin = C_lower_bound(bin_dense, bin_target, kernel="rbf", gamma=0.1) Cmax = C_upper_bound(bin_dense, bin_target, clf, Cmin, 5.0, 100, 10) clf.set_params(C=Cmax) clf.fit(bin_dense, bin_target) assert_true(clf.n_support_vectors() < 110)
def test_fit_rbf_binary_l2r_kernelized_upper_bound(): clf = PrimalSVC(C=1.0, random_state=0, penalty="l2", loss="squared_hinge", max_iter=20, kernel="rbf", kernel_regularizer=True, selection="loss", termination="n_components", n_components=30) clf.fit(bin_dense, bin_target) acc = clf.score(bin_dense, bin_target) assert_almost_equal(acc, 0.80) assert_equal(clf.n_support_vectors(), 30) clf = PrimalSVC(C=1.0, random_state=0, penalty="l2l2", loss="squared_hinge", max_iter=20, kernel="rbf", kernel_regularizer=True, selection="loss", termination="n_components", n_components=30, warm_debiasing=True) clf.fit(bin_dense, bin_target) acc = clf.score(bin_dense, bin_target) assert_almost_equal(acc, 0.80) assert_equal(clf.n_support_vectors(), 30)
def test_debiasing(): clf = PrimalSVC(kernel="rbf", gamma=0.1, penalty="l1l2", C=0.5, Cd=1.0, max_iter=10) clf.fit(bin_dense, bin_target) assert_equal(clf.n_support_vectors(), 160) assert_almost_equal(clf.score(bin_dense, bin_target), 0.845) pred = clf.decision_function(bin_dense) clf = PrimalSVC(kernel="rbf", gamma=0.1, penalty="l1", C=0.5) clf.fit(bin_dense, bin_target) assert_equal(clf.n_support_vectors(), 160) K = pairwise_kernels(bin_dense, clf.support_vectors_, metric="rbf", gamma=0.1) clf = PrimalLinearSVC(max_iter=10, C=1.0) clf.fit(K, bin_target) assert_almost_equal(clf.score(K, bin_target), 0.845) pred2 = clf.decision_function(K) assert_array_almost_equal(pred, pred2)
def test_components(): clf = PrimalSVC(random_state=0, penalty="l1", kernel="rbf", gamma=0.1, C=0.5) clf.fit(bin_dense, bin_target) acc = clf.score(bin_dense, bin_target) clf = PrimalSVC(random_state=0, penalty="l2", kernel="rbf", gamma=0.1, C=0.5, components=clf.support_vectors_) clf.fit(bin_dense, bin_target) assert_equal(clf.n_support_vectors(), 160) acc2 = clf.score(bin_dense, bin_target) assert_equal(acc, acc2)