Part of #11992.
These were all the things that seemed pretty straight-forward. It's actually a bit bulky but should still be easy to review, hopefully.
* resurrect quantile scaler
* move the code in the pre-processing module
* first draft
* Add tests.
* Fix bug in QuantileNormalizer.
* Add quantile_normalizer.
* Implement pickling
* create a specific function for dense transform
* Create a fit function for the dense case
* Create a toy examples
* First draft with sparse matrices
* remove useless functions and non-negative sparse compatibility
* fix slice call
* Fix tests of QuantileNormalizer.
* Fix estimator compatibility
* List of functions became tuple of functions
* Check X consistency at transform and inverse transform time
* fix doc
* Add negative ValueError tests for QuantileNormalizer.
* Fix cosmetics
* Fix compatibility numpy <= 1.8
* Add n_features tests and correct ValueError.
* PEP8
* fix fill_value for early scipy compatibility
* simplify sampling
* Fix tests.
* removing last pring
* Change choice for permutation
* cosmetics
* fix remove remaining choice
* DOC
* Fix inconsistencies
* pep8
* Add checker for init parameters.
* hack bounds and make a test
* FIX/TST bounds are provided by the fitting and not X at transform
* PEP8
* FIX/TST axis should be <= 1
* PEP8
* ENH Add parameter ignore_implicit_zeros
* ENH match output distribution
* ENH clip the data to avoid infinity due to output PDF
* FIX ENH restraint to uniform and norm
* [MRG] ENH Add example comparing the distribution of all scaling preprocessor (#2)
* ENH Add example comparing the distribution of all scaling preprocessor
* Remove Jupyter notebook convert
* FIX/ENH Select feat before not after; Plot interquantile data range for all
* Add heatmap legend
* Remove comment maybe?
* Move doc from robust_scaling to plot_all_scaling; Need to update doc
* Update the doc
* Better aesthetics; Better spacing and plot colormap only at end
* Shameless author re-ordering ;P
* Use env python for she-bang
* TST Validity of output_pdf
* EXA Use OrderedDict; Make it easier to add more transformations
* FIX PEP8 and replace scipy.stats by str in example
* FIX remove useless import
* COSMET change variable names
* FIX change output_pdf occurence to output_distribution
* FIX partial fixies from comments
* COMIT change class name and code structure
* COSMIT change direction to inverse
* FIX factorize transform in _transform_col
* PEP8
* FIX change the magic 10
* FIX add interp1d to fixes
* FIX/TST allow negative entries when ignore_implicit_zeros is True
* FIX use np.interp instead of sp.interpolate.interp1d
* FIX/TST fix tests
* DOC start checking doc
* TST add test to check the behaviour of interp numpy
* TST/EHN Add the possibility to add noise to compute quantile
* FIX factorize quantile computation
* FIX fixes issues
* PEP8
* FIX/DOC correct doc
* TST/DOC improve doc and add random state
* EXA add examples to illustrate the use of smoothing_noise
* FIX/DOC fix some grammar
* DOC fix example
* DOC/EXA make plot titles more succint
* EXA improve explanation
* EXA improve the docstring
* DOC add a bit more documentation
* FIX advance review
* TST add subsampling test
* DOC/TST better example for the docstring
* DOC add ellipsis to docstring
* FIX address olivier comments
* FIX remove random_state in sparse.rand
* FIX spelling doc
* FIX cite example in user guide and docstring
* FIX olivier comments
* EHN improve the example comparing all the pre-processing methods
* FIX/DOC remove title
* FIX change the scaling of the figure
* FIX plotting layout
* FIX ratio w/h
* Reorder and reword the plot_all_scaling example
* Fix aspect ratio and better explanations in the plot_all_scaling.py example
* Fix broken link and remove useless sentence
* FIX fix couples of spelling
* FIX comments joel
* FIX/DOC address documentation comments
* FIX address comments joel
* FIX inline sparse and dense transform
* PEP8
* TST/DOC temporary skipping test
* FIX raise an error if n_quantiles > subsample
* FIX wording in smoothing_noise example
* EXA Denis comments
* FIX rephrasing
* FIX make smoothing_noise to be a boolearn and change doc
* FIX address comments
* FIX verbose the doc slightly more
* PEP8/DOC
* ENH: 2-ways interpolation to avoid smoothing_noise
Simplifies also the code, examples, and documentation
* copyedit doc
* give the module an underscore (we should do this to all private modules...)
* use public import path in test
* change all logs to log1p to prevent warning in test and because it's
genuinely useful for frequency data
* what's new