From 2638fe59d5b6e1fe225c0a952bb4e6eed189a589 Mon Sep 17 00:00:00 2001 From: Boyuan Deng Date: Wed, 18 Mar 2015 20:26:24 +0100 Subject: [PATCH] Use immutable default arguments throughtout repo Replace mutable default arguments in examples Replace mutable default arguments in sklearn/manifold/t_sne.py Replace mutable default arguments in sklearn/metrics/pairwise.py --- examples/applications/plot_species_distribution_modeling.py | 4 ++-- sklearn/manifold/t_sne.py | 5 ++++- sklearn/metrics/pairwise.py | 5 ++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/examples/applications/plot_species_distribution_modeling.py b/examples/applications/plot_species_distribution_modeling.py index 9e589d0c39c0e..d327a086c6722 100644 --- a/examples/applications/plot_species_distribution_modeling.py +++ b/examples/applications/plot_species_distribution_modeling.py @@ -87,8 +87,8 @@ def create_species_bunch(species_name, train, test, coverages, xgrid, ygrid): return bunch -def plot_species_distribution(species=["bradypus_variegatus_0", - "microryzomys_minutus_0"]): +def plot_species_distribution(species=("bradypus_variegatus_0", + "microryzomys_minutus_0")): """ Plot the species distribution. """ diff --git a/sklearn/manifold/t_sne.py b/sklearn/manifold/t_sne.py index 60b3a1abe5b49..a080173de7691 100644 --- a/sklearn/manifold/t_sne.py +++ b/sklearn/manifold/t_sne.py @@ -114,7 +114,7 @@ def _kl_divergence(params, P, alpha, n_samples, n_components): def _gradient_descent(objective, p0, it, n_iter, n_iter_without_progress=30, momentum=0.5, learning_rate=1000.0, min_gain=0.01, min_grad_norm=1e-7, min_error_diff=1e-7, verbose=0, - args=[]): + args=None): """Batch gradient descent with momentum and individual gains. Parameters @@ -173,6 +173,9 @@ def _gradient_descent(objective, p0, it, n_iter, n_iter_without_progress=30, i : int Last iteration. """ + if args is None: + args = [] + p = p0.copy().ravel() update = np.zeros_like(p) gains = np.ones_like(p) diff --git a/sklearn/metrics/pairwise.py b/sklearn/metrics/pairwise.py index ed979183071a8..ac36498339250 100644 --- a/sklearn/metrics/pairwise.py +++ b/sklearn/metrics/pairwise.py @@ -346,7 +346,7 @@ def pairwise_distances_argmin_min(X, Y, axis=1, metric="euclidean", def pairwise_distances_argmin(X, Y, axis=1, metric="euclidean", - batch_size=500, metric_kwargs={}): + batch_size=500, metric_kwargs=None): """Compute minimum distances between one point and a set of points. This function computes for each row in X, the index of the row of Y which @@ -419,6 +419,9 @@ def pairwise_distances_argmin(X, Y, axis=1, metric="euclidean", sklearn.metrics.pairwise_distances sklearn.metrics.pairwise_distances_argmin_min """ + if metric_kwargs is None: + metric_kwargs = {} + return pairwise_distances_argmin_min(X, Y, axis, metric, batch_size, metric_kwargs)[0]