|
12 | 12 |
|
13 | 13 | """
|
14 | 14 |
|
15 |
| -print __doc__ |
| 15 | +print(__doc__) |
16 | 16 |
|
17 | 17 | # Author: Gael Varoquaux <gael dot varoquaux at normalesup dot org>
|
18 | 18 | # Modified By: Felix Maximilian Möller
|
|
51 | 51 | test__idx = range(n_samples / 2, n_samples)
|
52 | 52 |
|
53 | 53 | # map data into featurespace
|
54 |
| -rbf_transform = Fastfood(sigma=sigma, n_components=number_of_features_to_generate) |
| 54 | +rbf_transform = Fastfood( |
| 55 | + sigma=sigma, n_components=number_of_features_to_generate) |
55 | 56 | data_transformed_train = rbf_transform.fit_transform(data[train__idx])
|
56 | 57 | data_transformed_test = rbf_transform.transform(data[test__idx])
|
57 | 58 |
|
|
65 | 66 | linear_classifier.fit(data[train__idx], digits.target[train__idx])
|
66 | 67 |
|
67 | 68 | # Run the linear classifier on the mapped data.
|
68 |
| -linear_classifier_transformation.fit(data_transformed_train, digits.target[train__idx]) |
| 69 | +linear_classifier_transformation.fit( |
| 70 | + data_transformed_train, digits.target[train__idx]) |
69 | 71 |
|
70 | 72 | # Now predict the value of the digit on the second half:
|
71 | 73 | expected = digits.target[test__idx]
|
72 | 74 | predicted = classifier.predict(data[test__idx])
|
73 | 75 | predicted_linear = linear_classifier.predict(data[test__idx])
|
74 |
| -predicted_linear_transformed = linear_classifier_transformation.predict(data_transformed_test) |
75 |
| - |
76 |
| -print "Classification report for dual classifier %s:\n%s\n" % ( |
77 |
| - classifier, metrics.classification_report(expected, predicted)) |
78 |
| -print "Classification report for primal linear classifier %s:\n%s\n" % ( |
79 |
| - linear_classifier, metrics.classification_report(expected, predicted_linear)) |
80 |
| -print "Classification report for primal transformation classifier %s:\n%s\n" % ( |
81 |
| - linear_classifier_transformation, metrics.classification_report(expected, predicted_linear_transformed)) |
82 |
| - |
83 |
| -print "Confusion matrix for dual classifier:\n%s" % metrics.confusion_matrix(expected, predicted) |
84 |
| -print "Confusion matrix for primal linear classifier:\n%s" % metrics.confusion_matrix(expected, predicted_linear) |
85 |
| -print "Confusion matrix for for primal transformation classifier:\n%s" % metrics.confusion_matrix(expected, predicted_linear_transformed) |
86 |
| - |
87 |
| -# assert_almost_equal(metrics.classification_report(expected, predicted), |
88 |
| -# metrics.classification_report(expected, predicted_linear_transformed), |
89 |
| -# decimal=1) |
90 |
| - |
91 |
| -for index, (image, prediction) in enumerate(zip(digits.images[test__idx], predicted)[:4]): |
| 76 | +predicted_linear_transformed = linear_classifier_transformation.predict( |
| 77 | + data_transformed_test) |
| 78 | + |
| 79 | +print("Classification report for dual classifier %s:\n%s\n" |
| 80 | + % (classifier, metrics.classification_report(expected, predicted))) |
| 81 | +print("Classification report for primal linear classifier %s:\n%s\n" |
| 82 | + % (linear_classifier, |
| 83 | + metrics.classification_report(expected, predicted_linear))) |
| 84 | +print( |
| 85 | + "Classification report for primal transformation classifier %s:\n%s\n" |
| 86 | + % (linear_classifier_transformation, |
| 87 | + metrics.classification_report(expected, predicted_linear_transformed))) |
| 88 | + |
| 89 | +print("Confusion matrix for dual classifier:\n%s" |
| 90 | + % metrics.confusion_matrix(expected, predicted)) |
| 91 | +print("Confusion matrix for primal linear classifier:\n%s" |
| 92 | + % metrics.confusion_matrix(expected, predicted_linear)) |
| 93 | +print("Confusion matrix for for primal transformation classifier:\n%s" |
| 94 | + % metrics.confusion_matrix(expected, predicted_linear_transformed)) |
| 95 | + |
| 96 | +for index, (image, prediction) in enumerate( |
| 97 | + zip(digits.images[test__idx], predicted)[:4]): |
92 | 98 | pl.subplot(2, 4, index + 5)
|
93 | 99 | pl.axis('off')
|
94 | 100 | pl.imshow(image, cmap=pl.cm.gray_r, interpolation='nearest')
|
|
0 commit comments