Skip to content

Commit 956f88a

Browse files
committed
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 Replace mutable default arguments in sklearn/feature_selection/rfe.py
1 parent b1b43c1 commit 956f88a

File tree

4 files changed

+12
-6
lines changed

4 files changed

+12
-6
lines changed

examples/applications/plot_species_distribution_modeling.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ def create_species_bunch(species_name, train, test, coverages, xgrid, ygrid):
8787
return bunch
8888

8989

90-
def plot_species_distribution(species=["bradypus_variegatus_0",
91-
"microryzomys_minutus_0"]):
90+
def plot_species_distribution(species=("bradypus_variegatus_0",
91+
"microryzomys_minutus_0")):
9292
"""
9393
Plot the species distribution.
9494
"""

sklearn/feature_selection/rfe.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ class RFE(BaseEstimator, MetaEstimatorMixin, SelectorMixin):
102102
Mach. Learn., 46(1-3), 389--422, 2002.
103103
"""
104104
def __init__(self, estimator, n_features_to_select=None, step=1,
105-
estimator_params={}, verbose=0):
105+
estimator_params=None, verbose=0):
106106
self.estimator = estimator
107107
self.n_features_to_select = n_features_to_select
108108
self.step = step
@@ -316,7 +316,7 @@ class RFECV(RFE, MetaEstimatorMixin):
316316
Mach. Learn., 46(1-3), 389--422, 2002.
317317
"""
318318
def __init__(self, estimator, step=1, cv=None, scoring=None,
319-
estimator_params={}, verbose=0):
319+
estimator_params=None, verbose=0):
320320
self.estimator = estimator
321321
self.step = step
322322
self.cv = cv

sklearn/manifold/t_sne.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ def _kl_divergence(params, P, alpha, n_samples, n_components):
114114
def _gradient_descent(objective, p0, it, n_iter, n_iter_without_progress=30,
115115
momentum=0.5, learning_rate=1000.0, min_gain=0.01,
116116
min_grad_norm=1e-7, min_error_diff=1e-7, verbose=0,
117-
args=[]):
117+
args=None):
118118
"""Batch gradient descent with momentum and individual gains.
119119
120120
Parameters
@@ -173,6 +173,9 @@ def _gradient_descent(objective, p0, it, n_iter, n_iter_without_progress=30,
173173
i : int
174174
Last iteration.
175175
"""
176+
if args is None:
177+
args = []
178+
176179
p = p0.copy().ravel()
177180
update = np.zeros_like(p)
178181
gains = np.ones_like(p)

sklearn/metrics/pairwise.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ def pairwise_distances_argmin_min(X, Y, axis=1, metric="euclidean",
346346

347347

348348
def pairwise_distances_argmin(X, Y, axis=1, metric="euclidean",
349-
batch_size=500, metric_kwargs={}):
349+
batch_size=500, metric_kwargs=None):
350350
"""Compute minimum distances between one point and a set of points.
351351
352352
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",
419419
sklearn.metrics.pairwise_distances
420420
sklearn.metrics.pairwise_distances_argmin_min
421421
"""
422+
if metric_kwargs is None:
423+
metric_kwargs = {}
424+
422425
return pairwise_distances_argmin_min(X, Y, axis, metric, batch_size,
423426
metric_kwargs)[0]
424427

0 commit comments

Comments
 (0)