* 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
* Added ChangedBehaviorWarning in sgd models
if tol is None while max_iter is set
* Changed to FutureWarning and clarified None meaning
* Ignored warningin tests
* Ignore warnings in tests, round 2
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.
One of the vectors being passed to `np.dot` was being transposed.
However this is a no-op on a vector (though it may create a view). Given
this, drop the unneeded transpose.
In order to fix#11408, this swaps `joblib` and `_joblib`. It however, allows users to access joblib's `Memory` or `Parallel` functionality without accessing `sklearn.externals._joblib` by importing `Memory`, `Parallel`, etc. into `sklearn.utils`.
As the `dictionary` in `dict_learning_online` can be supplied by the user and we intend to write to it, ensure that it is writable before proceeding. This is needed as `dict_learning_online` will overwrite data in `dictionary` as it runs. Tweak an existing test to initialize `dict_learning_online` with a read-only `dictionary` and ensure it will reach code that tries to write to the read-only `dictionary` (unless we ensure it is writeable).
* ENH: Add positivity option for code and dictionary
Provides an option for dictionary learning to positively constrain the
dictionary and the sparse code. This is useful in applications of
dictionary learning where the data is know to be positive (e.g. images),
but the sparsity constraint that dictionary learning has is better
suited for factorizing the data in contrast to other positively
constrained factorization techniques like NMF, which may not be
similarly sparse.
* TST: Test positivity with code and dictionary
Ensure that when the positivity constraint is applied that the
dictionary and code end up having only positive values in the respective
results depending on whether dictionary and/or code are positively
constrained.
* DOC: Positivity constraints dictionary learning
Shows the various positivity constraints on dictionary learning and what
the results of these look like using a Red to Blue color map. These are
included in the examples and also in the docs below dictionary learning.
All of these use the Olivetti faces as a training set.