|
2 | 2 | ==================================
|
3 | 3 | Comparing various online solvers
|
4 | 4 | ==================================
|
5 |
| -
|
6 | 5 | An example showing how different online solvers perform
|
7 | 6 | on the hand-written digits dataset.
|
8 |
| -
|
9 | 7 | """
|
10 | 8 |
|
11 | 9 | # Author: Rob Zinkov <rob at zinkov dot com>
|
|
21 | 19 | from sklearn.linear_model import LogisticRegression
|
22 | 20 |
|
23 | 21 | heldout = [0.95, 0.90, 0.75, 0.50, 0.01]
|
24 |
| -rounds = 20 |
| 22 | +# Number of rounds to fit and evaluate an estimator. |
| 23 | +rounds = 10 |
25 | 24 | X, y = datasets.load_digits(return_X_y=True)
|
26 | 25 |
|
27 | 26 | classifiers = [
|
28 |
| - ("SGD", SGDClassifier(max_iter=100)), |
29 |
| - ("ASGD", SGDClassifier(average=True)), |
30 |
| - ("Perceptron", Perceptron()), |
| 27 | + ("SGD", SGDClassifier(max_iter=110)), |
| 28 | + ("ASGD", SGDClassifier(max_iter=110, average=True)), |
| 29 | + ("Perceptron", Perceptron(max_iter=110)), |
31 | 30 | (
|
32 | 31 | "Passive-Aggressive I",
|
33 |
| - PassiveAggressiveClassifier(loss="hinge", C=1.0, tol=1e-4), |
| 32 | + PassiveAggressiveClassifier(max_iter=110, loss="hinge", C=1.0, tol=1e-4), |
34 | 33 | ),
|
35 | 34 | (
|
36 | 35 | "Passive-Aggressive II",
|
37 |
| - PassiveAggressiveClassifier(loss="squared_hinge", C=1.0, tol=1e-4), |
| 36 | + PassiveAggressiveClassifier( |
| 37 | + max_iter=110, loss="squared_hinge", C=1.0, tol=1e-4 |
| 38 | + ), |
| 39 | + ), |
| 40 | + ( |
| 41 | + "SAG", |
| 42 | + LogisticRegression(max_iter=110, solver="sag", tol=1e-1, C=1.0e4 / X.shape[0]), |
38 | 43 | ),
|
39 |
| - ("SAG", LogisticRegression(solver="sag", tol=1e-1, C=1.0e4 / X.shape[0])), |
40 | 44 | ]
|
41 | 45 |
|
42 | 46 | xx = 1.0 - np.array(heldout)
|
|
0 commit comments