Version 0.24.1

January 2021

Packaging

The 0.24.0 scikit-learn wheels were not working with MacOS <1.15 due to libomp. The version of libomp used to build the wheels was too recent for older macOS versions. This issue has been fixed for 0.24.1 scikit-learn wheels. Scikit-learn wheels published on PyPI.org now officially support macOS 10.13 and later.

Changelog

sklearn.metrics

sklearn.semi_supervised

Version 0.24.0

December 2020

For a short description of the main highlights of the release, please refer to Release Highlights for scikit-learn 0.24.

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.

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

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 1.1 (renaming of 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 1.1 (renaming of 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 1.1 (renaming of 0.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 1.1 (renaming of 0.26), and this parameter will be removed in 1.3. #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.semi_supervised

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.

  • Enhancement Add support for weights in utils.sparse_func.incr_mean_variance_axis. By Maria Telenczuk and Alex Gramfort.

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

  • Fix Check that we raise proper error when axis=1 and the dimensions do not match in utils.sparse_func.incr_mean_variance_axis. By Alex Gramfort.

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:

Abo7atm, Adam Spannbauer, Adrin Jalali, adrinjalali, Agamemnon Krasoulis, Akshay Deodhar, Albert Villanova del Moral, Alessandro Gentile, Alex Henrie, Alex Itkes, Alex Liang, Alexander Lenail, alexandracraciun, Alexandre Gramfort, alexshacked, Allan D Butler, Amanda Dsouza, amy12xx, Anand Tiwari, Anderson Nelson, Andreas Mueller, Ankit Choraria, Archana Subramaniyan, Arthur Imbert, Ashutosh Hathidara, Ashutosh Kushwaha, Atsushi Nukariya, Aura Munoz, AutoViz and Auto_ViML, Avi Gupta, Avinash Anakal, Ayako YAGI, barankarakus, barberogaston, beatrizsmg, Ben Mainye, Benjamin Bossan, Benjamin Pedigo, Bharat Raghunathan, Bhavika Devnani, Biprateep Dey, bmaisonn, Bo Chang, Boris Villazón-Terrazas, brigi, Brigitta Sipőcz, Bruno Charron, Byron Smith, Cary Goltermann, Cat Chenal, CeeThinwa, chaitanyamogal, Charles Patel, Chiara Marmo, Christian Kastner, Christian Lorentzen, Christoph Deil, Christos Aridas, Clara Matos, clmbst, Coelhudo, crispinlogan, Cristina Mulas, Daniel López, Daniel Mohns, darioka, Darshan N, david-cortes, Declan O’Neill, Deeksha Madan, Elizabeth DuPre, Eric Fiegel, Eric Larson, Erich Schubert, Erin Khoo, Erin R Hoffman, eschibli, Felix Wick, fhaselbeck, Forrest Koch, Francesco Casalegno, Frans Larsson, Gael Varoquaux, Gaurav Desai, Gaurav Sheni, genvalen, Geoffrey Bolmier, George Armstrong, George Kiragu, Gesa Stupperich, Ghislain Antony Vaillant, Gim Seng, Gordon Walsh, Gregory R. Lee, Guillaume Chevalier, Guillaume Lemaitre, Haesun Park, Hannah Bohle, Hao Chun Chang, Harry Scholes, Harsh Soni, Henry, Hirofumi Suzuki, Hitesh Somani, Hoda1394, Hugo Le Moine, hugorichard, indecisiveuser, Isuru Fernando, Ivan Wiryadi, j0rd1smit, Jaehyun Ahn, Jake Tae, James Hoctor, Jan Vesely, Jeevan Anand Anne, JeroenPeterBos, JHayes, Jiaxiang, Jie Zheng, Jigna Panchal, jim0421, Jin Li, Joaquin Vanschoren, Joel Nothman, Jona Sassenhagen, Jonathan, Jorge Gorbe Moya, Joseph Lucas, Joshua Newton, Juan Carlos Alfaro Jiménez, Julien Jerphanion, Justin Huber, Jérémie du Boisberranger, Kartik Chugh, Katarina Slama, kaylani2, Kendrick Cetina, Kenny Huynh, Kevin Markham, Kevin Winata, Kiril Isakov, kishimoto, Koki Nishihara, Krum Arnaudov, Kyle Kosic, Lauren Oldja, Laurenz Reitsam, Lisa Schwetlick, Louis Douge, Louis Guitton, Lucy Liu, Madhura Jayaratne, maikia, Manimaran, Manuel López-Ibáñez, Maren Westermann, Maria Telenczuk, Mariam-ke, Marijn van Vliet, Markus Löning, Martin Scheubrein, Martina G. Vilas, Martina Megasari, Mateusz Górski, mathschy, mathurinm, Matthias Bussonnier, Max Del Giudice, Michael, Milan Straka, Muoki Caleb, N. Haiat, Nadia Tahiri, Ph. D, Naoki Hamada, Neil Botelho, Nicolas Hug, Nils Werner, noelano, Norbert Preining, oj_lappi, Oleh Kozynets, Olivier Grisel, Pankaj Jindal, Pardeep Singh, Parthiv Chigurupati, Patrice Becker, Pete Green, pgithubs, Poorna Kumar, Prabakaran Kumaresshan, Probinette4, pspachtholz, pwalchessen, Qi Zhang, rachel fischoff, Rachit Toshniwal, Rafey Iqbal Rahman, Rahul Jakhar, Ram Rachum, RamyaNP, rauwuckl, Ravi Kiran Boggavarapu, Ray Bell, Reshama Shaikh, Richard Decal, Rishi Advani, Rithvik Rao, Rob Romijnders, roei, Romain Tavenard, Roman Yurchak, Ruby Werman, Ryotaro Tsukada, sadak, Saket Khandelwal, Sam, Sam Ezebunandu, Sam Kimbinyi, Sarah Brown, Saurabh Jain, Sean O. Stalley, Sergio, Shail Shah, Shane Keller, Shao Yang Hong, Shashank Singh, Shooter23, Shubhanshu Mishra, simonamaggio, Soledad Galli, Srimukh Sripada, Stephan Steinfurt, subrat93, Sunitha Selvan, Swier, Sylvain Marié, SylvainLan, t-kusanagi2, Teon L Brooks, Terence Honles, Thijs van den Berg, Thomas J Fan, Thomas J. Fan, Thomas S Benjamin, Thomas9292, Thorben Jensen, tijanajovanovic, Timo Kaufmann, tnwei, Tom Dupré la Tour, Trevor Waite, ufmayer, Umberto Lupo, Venkatachalam N, Vikas Pandey, Vinicius Rios Fuck, Violeta, watchtheblur, Wenbo Zhao, willpeppo, xavier dupré, Xethan, Xue Qianming, xun-tang, yagi-3, Yakov Pchelintsev, Yashika Sharma, Yi-Yan Ge, Yue Wu, Yutaro Ikeda, Zaccharie Ramzi, zoj613, Zhao Feng.