예제 #1
0
def test_solve_svc_as_bcqp_with_active_set():
    X, y = load_iris(return_X_y=True)
    X_scaled = MinMaxScaler().fit_transform(X)
    X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, train_size=0.75, random_state=1)
    svc = OneVsRestClassifier(DualSVC(kernel=gaussian, optimizer=ActiveSet))
    svc = svc.fit(X_train, y_train)
    assert svc.score(X_test, y_test) >= 0.97
예제 #2
0
def test_solve_svc_as_qp_lagrangian_relaxation_with_proximal_bundle():
    X, y = load_iris(return_X_y=True)
    X_scaled = MinMaxScaler().fit_transform(X)
    X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, train_size=0.75, random_state=1)

    svc = OneVsRestClassifier(DualSVC(kernel=gaussian, optimizer=ProximalBundle, max_iter=150, fit_intercept=True))
    svc = svc.fit(X_train, y_train)
    assert svc.score(X_test, y_test) >= 0.84
예제 #3
0
def test_solve_svc_as_qp_lagrangian_relaxation_with_stochastic_optimizers():
    X, y = load_iris(return_X_y=True)
    X_scaled = MinMaxScaler().fit_transform(X)
    X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, train_size=0.75, random_state=1)

    svc = OneVsRestClassifier(DualSVC(kernel=gaussian, optimizer=StochasticGradientDescent, fit_intercept=True))
    svc = svc.fit(X_train, y_train)
    assert svc.score(X_test, y_test) >= 0.94

    svc = OneVsRestClassifier(DualSVC(kernel=gaussian, optimizer=AdaGrad, fit_intercept=True))
    svc = svc.fit(X_train, y_train)
    assert svc.score(X_test, y_test) >= 0.94

    svc = OneVsRestClassifier(DualSVC(kernel=gaussian, optimizer=AdaDelta, fit_intercept=True))
    svc = svc.fit(X_train, y_train)
    assert svc.score(X_test, y_test) >= 0.94

    svc = OneVsRestClassifier(DualSVC(kernel=gaussian, optimizer=RProp, fit_intercept=True))
    svc = svc.fit(X_train, y_train)
    assert svc.score(X_test, y_test) >= 0.94
예제 #4
0
def test_solve_svc_as_qp_lagrangian_relaxation_with_line_search_optimizers():
    X, y = load_iris(return_X_y=True)
    X_scaled = MinMaxScaler().fit_transform(X)
    X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, train_size=0.75, random_state=1)

    svc = OneVsRestClassifier(DualSVC(kernel=gaussian, optimizer=Subgradient, fit_intercept=True))
    svc = svc.fit(X_train, y_train)
    assert svc.score(X_test, y_test) >= 0.94

    svc = OneVsRestClassifier(DualSVC(kernel=gaussian, optimizer=SteepestGradientDescent, fit_intercept=True))
    svc = svc.fit(X_train, y_train)
    assert svc.score(X_test, y_test) >= 0.94

    svc = OneVsRestClassifier(DualSVC(kernel=gaussian, optimizer=ConjugateGradient, fit_intercept=True))
    svc = svc.fit(X_train, y_train)
    assert svc.score(X_test, y_test) >= 0.94

    svc = OneVsRestClassifier(DualSVC(kernel=gaussian, optimizer=HeavyBallGradient, fit_intercept=True))
    svc = svc.fit(X_train, y_train)
    assert svc.score(X_test, y_test) >= 0.94