Version 1.0.0

In Development

Legend for changelogs

  • Major Feature : something big that you couldn’t do before.

  • Feature : something that you couldn’t do before.

  • Efficiency : an existing feature now may not require as much computation or memory.

  • Enhancement : a miscellaneous minor improvement.

  • Fix : something that previously didn’t work as documentated – or according to reasonable expectations – should now work.

  • API Change : you will need to change your code to have the same effect in the future; or a feature will be removed in the future.

Put the changes in their relevant module.

Changed models

The following estimators and functions, when fit with the same data and parameters, may produce different models from the previous version. This often occurs due to changes in the modelling logic (bug fixes or enhancements), or in random sampling procedures.

  • Fix manifold.TSNE now avoids numerical underflow issues during affinity matrix computation.

Details are listed in the changelog below.

(While we are trying to better inform users by providing this information, we cannot assure that this list is complete.)

Changelog

sklearn.calibration

sklearn.cluster

sklearn.compose

sklearn.datasets

sklearn.decomposition

sklearn.decomposition

  • Fix Fixed dict_learning, used by DictionaryLearning, to ensure determinism of the output. Achieved by flipping signs of the SVD output which is used to initialize the code. #18433 by Bruno Charron.

  • Fix Fixed a bug in MiniBatchDictionaryLearning, MiniBatchSparsePCA and dict_learning_online where the update of the dictionary was incorrect. #19198 by Jérémie du Boisberranger.

  • Fix Fixed a bug in DictionaryLearning, SparsePCA, MiniBatchDictionaryLearning, MiniBatchSparsePCA, dict_learning and dict_learning_online where the restart of unused atoms during the dictionary update was not working as expected. #19198 by Jérémie du Boisberranger.

sklearn.ensemble

sklearn.feature_extraction

  • Fix Fixed a bug in class:feature_extraction.HashingVectorizer where some input strings would result in negative indices in the transformed data. #19035 by Liu Yu.

sklearn.inspection

sklearn.linear_model

  • Feature The new linear_model.SGDOneClassSVM provides an SGD implementation of the linear One-Class SVM. Combined with kernel approximation techniques, this implementation approximates the solution of a kernelized One Class SVM while benefitting from a linear complexity in the number of samples. #10027 by Albert Thomas.

  • Efficiency The implementation of linear_model.LogisticRegression has been optimised for dense matrices when using solver='newton-cg' and multi_class!='multinomial'. #19571 by Julien Jerphanion.

  • Enhancement Validate user-supplied gram matrix passed to linear models via the precompute argument. #19004 by Adam Midvidy.

  • Fix ElasticNet.fit no longer modifies sample_weight in place. #19055 by Thomas Fan.

  • Fix Lasso, ElasticNet no longer have a dual_gap_ not corresponding to their objective. #19172 by Mathurin Massias

  • API Change : The parameter normalize of linear_model.LinearRegression is deprecated and will be removed in 1.2. Motivation for this deprecation: normalize parameter did not take any effect if fit_intercept was set to False and therefore was deemed confusing. The behavior of the deprecated LinearModel(normalize=True) can be reproduced with Pipeline with LinearModel (where LinearModel is LinearRegression, Ridge, RidgeClassifier, RidgeCV or RidgeClassifierCV) as follows: make_pipeline(StandardScaler(with_mean=False), LinearModel()). LinearRegression was deprecated in: #17743 by Maria Telenczuk and Alexandre Gramfort. Ridge, RidgeClassifier, RidgeCV or RidgeClassifierCV were deprecated in: #17772 by Maria Telenczuk and Alexandre Gramfort.

  • Fix : sample_weight are now fully taken into account in linear models when normalize=True for both feature centering and feature scaling. #19426 by Alexandre Gramfort and Maria Telenczuk.

  • Efficiency The implementation of fit for PolynomialFeatures transformer is now faster. This is especially noticeable on large sparse input. #19734 by Fred Robinson.

sklearn.manifold

sklearn.metrics

sklearn.model_selection

sklearn.naive_bayes

sklearn.neighbors

sklearn.pipeline

  • API Change The predict_proba and predict_log_proba methods of the Pipeline class now support passing prediction kwargs to the final estimator. #19790 by Christopher Flynn.

sklearn.preprocessing

sklearn.tree

sklearn.utils

Code and Documentation Contributors

Thanks to everyone who has contributed to the maintenance and improvement of the project since version 0.24, including:

TODO: update at the time of the release.