* add pprint for estimators
* strip color from length, add color option
* Minor cleaning, fixes, factoring and docs
* Added some basic tests
* Fixed line length issue
* fixed flake8 and added visual test for review
* Fixed test
* Fixed Python 2 issues (inspect.signature import)
* Trying to fix flake8 again
* Added special repr for functions
* Added some other visual tests
* Changed _format_function in to _format_callable
because callable() returns True also for class objects (which we want to
reprensent with their name as well anyway)
* Consistent output in Python 2 and 3
* WIP
* Now using the builtin pprint module
* pep8
* Added changed_only param
* Fixed printing when string would fit in less than line width
* Fixed printing of steps parameter
* Fixed changed_only param for short estimators
* fixed pep8
* Added some more description in docstring
* changed_only is now an option from set_config()
* Put _pprint.py into sklearn/utils, added tests
* Added doctest NORMALIZE_WHITESPACE where needed
* Fixed tests
* fix test-doc
* fixing test that passed before....
* Fixed tests
* Added test for changed_only and long lines
* typo
* Added authors names
* Added license file
* Added ellipsis based on number of elements in sequence + added increasinly aggressive repr strategies
* Updated whatsnew
* dont use increaingly aggressive strategy
* Fixed tests
* Removed LICENSE file and put license text in _pprint.py
* fixed test_base
* Sorted parameters dictionary for consistent output in 3.5
* Actually using OrderedDict...
* Addressed comments
* Added test for NaN changed parameter
* Update whatsnew
* Added example to set_config()
* Removed example
* Added example in gallery
* Spelling
Reasoning: when eg OneHotEncoder is used as part of ColumnTransformer it would cause the final result to be a sparse matrix. As this is a typical case when we have mixed dtype data, it means that many pipeline will have to deal with sparse data implicitly, even if you have only some categorical features with low cardinality.
Idea was first to change default of `OneHotEncoder` sparse to False, but based on gitter discussion (https://gitter.im/scikit-learn/dev?at=5b4e5a69a94c5255523bc9fc) we decided to let ColumnTransformer switch between both based on a threshold. The user still has full control if he/she wants always or never sparse.