@@ -156,54 +156,50 @@ def load_mnist(n_samples):
156
156
157
157
for dataset_name , (X , y ) in datasets :
158
158
159
- msg = "Benchmarking on %s:" % dataset_name
160
- print ("\n %s \n %s" % ( msg , "-" * len (msg )))
159
+ msg = f "Benchmarking on { dataset_name } :"
160
+ print (f "\n { msg } \n " + str ( "-" * len (msg )))
161
161
162
162
for transformer_name , transformer in transformers :
163
163
longest = np .max ([len (name ) for name , model in transformers ])
164
- whitespaces = " " * (longest - len (transformer_name ))
165
164
start = time .time ()
166
165
transformer .fit (X )
167
166
fit_duration = time .time () - start
168
- print ("%s: %s% .3f sec (fit)" % ( transformer_name , whitespaces , fit_duration ) )
167
+ print (f" { transformer_name :<{ longest } } { fit_duration : .3f} sec (fit)" )
169
168
start = time .time ()
170
169
Xt = transformer .transform (X )
171
170
transform_duration = time .time () - start
172
- print (
173
- "%s: %s%.3f sec (transform)"
174
- % (transformer_name , whitespaces , transform_duration )
175
- )
171
+ print (f"{ transformer_name :<{longest }} { transform_duration :.3f} sec (transform)" )
176
172
if transformer_name == "PyNNDescentTransformer" :
177
173
start = time .time ()
178
174
Xt = transformer .transform (X )
179
175
transform_duration = time .time () - start
180
176
print (
181
- "%s: %s% .3f sec (transform) "
182
- % ( transformer_name , whitespaces , transform_duration )
177
+ f" { transformer_name :<{ longest } } { transform_duration : .3f} sec"
178
+ " (transform)"
183
179
)
184
180
185
181
# %%
186
182
# Sample output::
187
183
#
188
184
# Benchmarking on MNIST_10000:
189
185
# ----------------------------
190
- # KNeighborsTransformer: 0.007 sec (fit)
191
- # KNeighborsTransformer: 1.139 sec (transform)
192
- # NMSlibTransformer: 0.208 sec (fit)
193
- # NMSlibTransformer: 0.315 sec (transform)
194
- # PyNNDescentTransformer: 4.823 sec (fit)
195
- # PyNNDescentTransformer: 4.884 sec (transform)
196
- # PyNNDescentTransformer: 0.744 sec (transform)
186
+ # KNeighborsTransformer 0.007 sec (fit)
187
+ # KNeighborsTransformer 1.139 sec (transform)
188
+ # NMSlibTransformer 0.208 sec (fit)
189
+ # NMSlibTransformer 0.315 sec (transform)
190
+ # PyNNDescentTransformer 4.823 sec (fit)
191
+ # PyNNDescentTransformer 4.884 sec (transform)
192
+ # PyNNDescentTransformer 0.744 sec (transform)
197
193
#
198
194
# Benchmarking on MNIST_20000:
199
195
# ----------------------------
200
- # KNeighborsTransformer: 0.011 sec (fit)
201
- # KNeighborsTransformer: 5.769 sec (transform)
202
- # NMSlibTransformer: 0.733 sec (fit)
203
- # NMSlibTransformer: 1.077 sec (transform)
204
- # PyNNDescentTransformer: 14.448 sec (fit)
205
- # PyNNDescentTransformer: 7.103 sec (transform)
206
- # PyNNDescentTransformer: 1.759 sec (transform)
196
+ # KNeighborsTransformer 0.011 sec (fit)
197
+ # KNeighborsTransformer 5.769 sec (transform)
198
+ # NMSlibTransformer 0.733 sec (fit)
199
+ # NMSlibTransformer 1.077 sec (transform)
200
+ # PyNNDescentTransformer 14.448 sec (fit)
201
+ # PyNNDescentTransformer 7.103 sec (transform)
202
+ # PyNNDescentTransformer 1.759 sec (transform)
207
203
#
208
204
# Notice that the `PyNNDescentTransformer` takes more time during the first
209
205
# `fit` and the first `transform` due to the overhead of the numba just in time
@@ -248,18 +244,17 @@ def load_mnist(n_samples):
248
244
249
245
for dataset_name , (X , y ) in datasets :
250
246
251
- msg = "Benchmarking on %s:" % dataset_name
252
- print ("\n %s \n %s" % ( msg , "-" * len (msg )))
247
+ msg = f "Benchmarking on { dataset_name } :"
248
+ print (f "\n { msg } \n " + str ( "-" * len (msg )))
253
249
254
250
for transformer_name , transformer in transformers :
255
251
longest = np .max ([len (name ) for name , model in transformers ])
256
- whitespaces = " " * (longest - len (transformer_name ))
257
252
start = time .time ()
258
253
Xt = transformer .fit_transform (X )
259
254
transform_duration = time .time () - start
260
255
print (
261
- "%s: %s% .3f sec (fit_transform) "
262
- % ( transformer_name , whitespaces , transform_duration )
256
+ f" { transformer_name :<{ longest } } { transform_duration : .3f} sec"
257
+ " (fit_transform)"
263
258
)
264
259
265
260
# plot TSNE embedding which should be very similar across methods
@@ -284,15 +279,15 @@ def load_mnist(n_samples):
284
279
#
285
280
# Benchmarking on MNIST_10000:
286
281
# ----------------------------
287
- # TSNE with internal NearestNeighbors: 24.828 sec (fit_transform)
288
- # TSNE with KNeighborsTransformer: 20.111 sec (fit_transform)
289
- # TSNE with NMSlibTransformer: 21.757 sec (fit_transform)
282
+ # TSNE with internal NearestNeighbors 24.828 sec (fit_transform)
283
+ # TSNE with KNeighborsTransformer 20.111 sec (fit_transform)
284
+ # TSNE with NMSlibTransformer 21.757 sec (fit_transform)
290
285
#
291
286
# Benchmarking on MNIST_20000:
292
287
# ----------------------------
293
- # TSNE with internal NearestNeighbors: 51.955 sec (fit_transform)
294
- # TSNE with KNeighborsTransformer: 50.994 sec (fit_transform)
295
- # TSNE with NMSlibTransformer: 43.536 sec (fit_transform)
288
+ # TSNE with internal NearestNeighbors 51.955 sec (fit_transform)
289
+ # TSNE with KNeighborsTransformer 50.994 sec (fit_transform)
290
+ # TSNE with NMSlibTransformer 43.536 sec (fit_transform)
296
291
#
297
292
# We can observe that the default :class:`~sklearn.manifold.TSNE` estimator with
298
293
# its internal :class:`~sklearn.neighbors.NearestNeighbors` implementation is
0 commit comments