Version 0.24.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 decomposition.KernelPCA behaviour is now more consistent between 32-bits and 64-bits data when the kernel has small positive eigenvalues.

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.covariance

  • API Change Deprecates cv_alphas_ in favor of cv_results_['alphas'] and grid_scores_ in favor of split scores in cv_results_ in covariance.GraphicalLassoCV. cv_alphas_ and grid_scores_ will be removed in version 0.26. #16392 by Thomas Fan.

sklearn.cross_decomposition

sklearn.datasets

sklearn.decomposition

  • Enhancement decomposition.FactorAnalysis now supports the optional argument rotation, which can take the value None, 'varimax' or 'quartimax'. #11064 by Jona Sassenhagen.

  • Enhancement decomposition.NMF now supports the optional parameter regularization, which can take the values None, ‘components’, ‘transformation’ or ‘both’, in accordance with decomposition.NMF.non_negative_factorization. #17414 by Bharat Raghunathan.

  • Fix decomposition.KernelPCA behaviour is now more consistent between 32-bits and 64-bits data input when the kernel has small positive eigenvalues. Small positive eigenvalues were not correctly discarded for 32-bits data. #18149 by Sylvain Marié.

  • Fix Fix decomposition.SparseCoder such that it follows scikit-learn API and support cloning. The attribute components_ is deprecated in 0.24 and will be removed in 0.26. This attribute was redundant with the dictionary attribute and constructor parameter. #17679 by Xavier Dupré.

  • Fix TruncatedSVD.fit_transform consistently returns the same as TruncatedSVD.fit followed by TruncatedSVD.transform. #18528 by Albert Villanova del Moral and Ruifeng Zheng.

sklearn.discriminant_analysis

sklearn.ensemble

sklearn.exceptions

  • API Change exceptions.ChangedBehaviorWarning and exceptions.NonBLASDotWarning are deprecated and will be removed in v0.26, #17804 by Adrin Jalali.

sklearn.feature_extraction

sklearn.feature_selection

sklearn.gaussian_process

  • Enhancement A new method gaussian_process.Kernel._check_bounds_params is called after fitting a Gaussian Process and raises a ConvergenceWarning if the bounds of the hyperparameters are too tight. #12638 by Sylvain Lannuzel.

sklearn.impute

sklearn.inspection

sklearn.isotonic

sklearn.kernel_approximation

sklearn.linear_model

sklearn.manifold

  • Efficiency Fixed #10493. Improve Local Linear Embedding (LLE) that raised MemoryError exception when used with large inputs. #17997 by Bertrand Maisonneuve.

  • Enhancement Add square_distances parameter to manifold.TSNE, which provides backward compatibility during deprecation of legacy squaring behavior. Distances will be squared by default in 0.26, and this parameter will be removed in 0.28. #17662 by Joshua Newton.

  • Fix manifold.MDS now correctly sets its _pairwise attribute. #18278 by Thomas Fan.

sklearn.metrics

sklearn.model_selection

sklearn.multiclass

sklearn.multioutput

sklearn.naive_bayes

sklearn.neighbors

sklearn.neural_network

sklearn.pipeline

sklearn.preprocessing

sklearn.svm

sklearn.tree

sklearn.utils

  • Enhancement Add check_methods_sample_order_invariance to check_estimator, which checks that estimator methods are invariant if applied to the same dataset with different sample order #17598 by Jason Ngo.

  • Fix Raise ValueError with clear error message in check_array for sparse DataFrames with mixed types. #17992 by Thomas J. Fan and Alex Shacked.

  • Fix Allow serialized tree based models to be unpickled on a machine with different endianness. #17644 by Qi Zhang.

Miscellaneous

  • Enhancement Calls to repr are now faster when print_changed_only=True, especially with meta-estimators. #18508 by Nathan C..

Code and Documentation Contributors

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