Issue 1:
We recently added a Glossary to our documentation, which describes common parameters among other things. We should now replace descriptions of random_state parameters to make them more concise and informative (see #10415). For example, instead of

random_state : int, RandomState instance or None, optional, default: None
If int, random_state is the seed used by the random number generator;
If RandomState instance, random_state is the random number generator;
If None, the random number generator is the RandomState instance used
by `np.random`.

in both KMeans and MiniBatchKMeans, we might have:

KMeans:
random_state : int, RandomState instance, default=None
Determines random number generation for centroid initialization.
Pass an int for reproducible results across multiple function calls.
See :term:`Glossary <random_state>`.

MiniBatchKMeans:
random_state : int, RandomState instance, default=None
Determines random number generation for centroid initialization and
random reassignment.
Pass an int for reproducible results across multiple function calls.
See :term:`Glossary <random_state>`.

Therefore, the description should focus on what is the impact of random_state on the algorithm.

Contributors interested in contributing this change should take on one module at a time, initially.

The list of estimators to be modified is the following:

List of files to modify using kwinata script

sklearn/dummy.py - 59

sklearn/multioutput.py - 578, 738

sklearn/kernel_approximation.py - 41, 143, 470

sklearn/multiclass.py - 687

sklearn/random_projection.py - 178, 245, 464, 586

sklearn/feature_extraction/image.py - 368, 502

sklearn/utils/random.py - 39 open PR

sklearn/utils/extmath.py - 185, 297

sklearn/ensemble/_hist_gradient_boosting/gradient_boosting.py - 736, 918

sklearn/ensemble/_hist_gradient_boosting/binning.py - 37, 112

sklearn/ensemble/_bagging.py - 503, 902

sklearn/ensemble/_gb.py - 887, 1360

sklearn/ensemble/_forest.py - 965, 1282, 1559, 1868, 2103

sklearn/ensemble/_iforest.py - 109

sklearn/ensemble/_base.py - 52

sklearn/ensemble/_weight_boosting.py - 188, 324, 479, 900, 1022

sklearn/decomposition/_truncated_svd.py - 59 Open PR

sklearn/decomposition/_kernel_pca.py - 79 Open PR

sklearn/decomposition/_dict_learning.py - 364, 485, 692, 1135, 1325 Open PR

sklearn/decomposition/_fastica.py - 205, 344 Open PR

sklearn/decomposition/_nmf.py - 290, 475, 966, 1159 Open PR

sklearn/decomposition/_pca.py - 192 Open PR

sklearn/decomposition/_sparse_pca.py - 82, 285 Open PR

sklearn/decomposition/_lda.py - 60, 79, 225 Open PR

sklearn/decomposition/_factor_analysis.py - 92 Open PR

sklearn/cluster/_kmeans.py - 56, 241, 380, 583, 700, 1150, 1370

sklearn/cluster/_spectral.py - 41, 197, 313

sklearn/cluster/_bicluster.py - 236, 383

sklearn/cluster/_mean_shift.py - 48

sklearn/preprocessing/_data.py - 2178, 2607

sklearn/impute/_iterative.py - 125

sklearn/linear_model/_ransac.py - 152 Open PR

sklearn/linear_model/_coordinate_descent.py - 580, 860, 1313, 1487, 1665, 1851, 2016, 2192 Open PR

sklearn/linear_model/_sag.py - 154 Open PR

sklearn/linear_model/_perceptron.py - 55 Open PR

sklearn/linear_model/_passive_aggressive.py - 76, 322 Open PR

sklearn/linear_model/_logistic.py - 587, 924, 1100, 1658 Open PR

sklearn/linear_model/_base.py - 65

sklearn/linear_model/_stochastic_gradient.py - 369, 811, 1419 Open PR

sklearn/linear_model/_theil_sen.py - 243 Open PR

sklearn/linear_model/_ridge.py - 325, 693, 853 Open PR

sklearn/tree/_classes.py - 653, 1033, 1322, 1552

sklearn/feature_selection/_mutual_info.py - 226, 335, 414

sklearn/metrics/cluster/_unsupervised.py - 80

sklearn/svm/_classes.py - 90, 312, 546, 752 Open PR

sklearn/svm/_base.py - 853 Open PR

sklearn/inspection/_permutation_importance.py - 81

sklearn/gaussian_process/_gpr.py - 109, 382

sklearn/gaussian_process/_gpc.py - 110, 537

sklearn/manifold/_spectral_embedding.py - 171, 387

sklearn/manifold/_locally_linear.py - 146, 252, 584

sklearn/manifold/_t_sne.py - 558

sklearn/manifold/_mds.py - 51, 198, 314

sklearn/utils/_testing.py - 521

sklearn/utils/init.py - 478, 623

sklearn/datasets/_kddcup99.py - 79

sklearn/datasets/_covtype.py - 69

sklearn/datasets/_rcv1.py - 114

sklearn/datasets/_samples_generator.py - 127, 323, 440, 531, 618, 688, 767, 904, 965, 1030, 1106, 1159, 1218, 1258, 1307, 1368, 1420, 1483, 1571, 1662

sklearn/datasets/_olivetti_faces.py - 64

sklearn/datasets/_base.py - 157

sklearn/datasets/_twenty_newsgroups.py - 187

sklearn/mixture/_bayesian_mixture.py - 166

sklearn/mixture/_base.py - 139

sklearn/mixture/_gaussian_mixture.py - 504

sklearn/model_selection/_validation.py - 1006, 1176

sklearn/model_selection/_split.py - 382, 588, 1091, 1196, 1250, 1390, 1492, 1605, 2049 Open PR

sklearn/model_selection/_search.py - 207, 1299

sklearn/neural_network/_multilayer_perceptron.py - 782, 1174

sklearn/neural_network/_rbm.py - 59

sklearn/neighbors/_kde.py - 233

sklearn/neighbors/_nca.py - 112

sklearn/covariance/_robust_covariance.py - 63, 233, 328, 545

sklearn/covariance/_elliptic_envelope.py - 40

Issue 2:
Description

With TSNE from sklearn v0.19.2 python 3.6 with mahalanobis metric I am getting following error

ValueError: Must provide either V or VI for Mahalanobis distance

How to provide an method_parameters for the Mahalanobis distance?

Steps/Code to Reproduce

from sklearn.manifold import TSNE

tsne = TSNE( verbose=1, perplexity=40, n_iter=250,learning_rate=50, random_state=0,metric='mahalanobis')

pt=data.sample(frac=0.1).values

tsne_results = tsne.fit_transform(pt)

Expected Results

no error and metricless calculation:)