Version 1.3#

Eine kurze Beschreibung der wichtigsten Highlights des Releases finden Sie unter Release Highlights für scikit-learn 1.3.

Legende für Changelogs

  • Hauptmerkmal etwas Großes, das Sie vorher nicht tun konnten.

  • Merkmal etwas, das Sie vorher nicht tun konnten.

  • Effizienz Ein bestehendes Merkmal erfordert nun möglicherweise weniger Rechenleistung oder Speicher.

  • Verbesserung eine sonstige kleinere Verbesserung.

  • Korrektur Etwas, das zuvor nicht wie dokumentiert – oder nach vernünftigen Erwartungen – funktionierte, sollte nun funktionieren.

  • API-Änderung Sie müssen Ihren Code ändern, um in Zukunft die gleiche Wirkung zu erzielen; oder ein Merkmal wird in Zukunft entfernt.

Version 1.3.2#

Oktober 2023

Änderungsprotokoll#

sklearn.datasets#

sklearn.decomposition#

sklearn.metrics#

sklearn.tree#

  • Fix Leckt keine Daten mehr über nicht initialisierten Speicher in Entscheidungsbaum-Pickle-Dateien und macht die Generierung dieser Dateien deterministisch. #27580 von Loïc Estève.

Version 1.3.1#

September 2023

Geänderte Modelle#

Die folgenden Schätzer und Funktionen können, wenn sie mit denselben Daten und Parametern angepasst werden, andere Modelle als in der vorherigen Version ergeben. Dies geschieht häufig aufgrund von Änderungen in der Modellierungslogik (Fehlerbehebungen oder Verbesserungen) oder in zufälligen Stichprobenverfahren.

  • Fix Ridge-Modelle mit solver='sparse_cg' können leicht unterschiedliche Ergebnisse liefern als bei scipy>=1.12, da sich der zugrunde liegende scipy-Solver geändert hat (siehe scipy#18488 für weitere Details) #26814 von Loïc Estève

Änderungen, die alle Module betreffen#

  • Fix Die set_output API funktioniert korrekt mit Listen-Eingaben. #27044 von Thomas Fan.

Änderungsprotokoll#

sklearn.calibration#

sklearn.cluster#

sklearn.cross_decomposition#

sklearn.ensemble#

  • Fix Behebt einen Fehler in ensemble.AdaBoostClassifier mit algorithm="SAMME", bei dem die Entscheidungsfunktion jedes schwachen Lernenden symmetrisch sein sollte (d. h. die Summe der Scores sollte für eine Stichprobe Null ergeben). #26521 von Guillaume Lemaitre.

sklearn.feature_selection#

sklearn.impute#

  • Fix impute.KNNImputer fügt jetzt korrekt eine fehlende Indikatorspalte in transform hinzu, wenn add_indicator auf True gesetzt ist und fehlende Werte während fit beobachtet werden. #26600 von Shreesha Kumar Bhat.

sklearn.metrics#

sklearn.mixture#

  • Fix Die Initialisierung von mixture.GaussianMixture aus vom Benutzer bereitgestellten precisions_init für covariance_type von full oder tied war nicht korrekt und wurde behoben. #26416 von Yang Tao.

sklearn.neighbors#

sklearn.preprocessing#

sklearn.tree#

Version 1.3.0#

Juni 2023

Geänderte Modelle#

Die folgenden Schätzer und Funktionen können, wenn sie mit denselben Daten und Parametern angepasst werden, andere Modelle als in der vorherigen Version ergeben. Dies geschieht häufig aufgrund von Änderungen in der Modellierungslogik (Fehlerbehebungen oder Verbesserungen) oder in zufälligen Stichprobenverfahren.

  • Enhancement multiclass.OutputCodeClassifier.predict verwendet jetzt eine effizientere paarweise Distanzreduktion. Infolgedessen ist die Tie-Breaking-Strategie anders und die vorhergesagten Labels können daher unterschiedlich sein. #25196 von Guillaume Lemaitre.

  • Enhancement Die Methode fit_transform von decomposition.DictionaryLearning ist effizienter, kann aber im Vergleich zu früheren Versionen unterschiedliche Ergebnisse liefern, wenn transform_algorithm nicht mit fit_algorithm übereinstimmt und die Anzahl der Iterationen gering ist. #24871 von Omar Salman.

  • Enhancement Der Parameter sample_weight wird jetzt bei der Zentroideninitialisierung für cluster.KMeans, cluster.BisectingKMeans und cluster.MiniBatchKMeans verwendet. Diese Änderung bricht die Abwärtskompatibilität, da Zahlen, die aus denselben Zufallssamen generiert werden, unterschiedlich sein werden. #25752 von Hleb Levitski, Jérémie du Boisberranger, Guillaume Lemaitre.

  • Fix Kleine Werte in den Matrizen W und H während der fit- und transform-Schritte von decomposition.NMF und decomposition.MiniBatchNMF werden konsistenter behandelt, was zu unterschiedlichen Ergebnissen als in früheren Versionen führen kann. #25438 von Yotam Avidar-Constantini.

  • Fix decomposition.KernelPCA kann durch inverse_transform unterschiedliche Ergebnisse liefern, wenn gamma None ist. Jetzt wird es korrekt als 1/n_features der Daten gewählt, auf denen es angepasst wurde, während es zuvor fälschlicherweise als 1/n_features der Daten gewählt werden konnte, die an inverse_transform übergeben wurden. Ein neues Attribut gamma_ wird bereitgestellt, um den tatsächlichen Wert von gamma anzuzeigen, der jedes Mal verwendet wird, wenn der Kernel aufgerufen wird. #26337 von Yao Xiao.

Geänderte Anzeigen#

Änderungen, die alle Module betreffen#

Experimentell / In Entwicklung#

  • Major Feature Die mit Metadata Routing verbundenen Basis-Methoden sind in diesem Release enthalten. Dieses Feature ist nur über das Feature-Flag enable_metadata_routing verfügbar, das mit sklearn.set_config und sklearn.config_context aktiviert werden kann. Vorerst ist dieses Feature hauptsächlich für Drittentwickler nützlich, um ihre Codebasis für das Metadata-Routing vorzubereiten, und wir empfehlen dringend, dass sie es ebenfalls hinter demselben Feature-Flag verbergen, anstatt es standardmäßig zu aktivieren. #24027 von Adrin Jalali, Benjamin Bossan, und Omar Salman.

Änderungsprotokoll#

sklearn#

  • Feature Eine neue Option skip_parameter_validation wurde zur Funktion sklearn.set_config und zum Kontextmanager sklearn.config_context hinzugefügt, die es ermöglicht, die Validierung der an Schätzer und öffentliche Funktionen übergebenen Parameter zu überspringen. Dies kann nützlich sein, um den Code zu beschleunigen, sollte aber mit Vorsicht verwendet werden, da es zu unerwarteten Verhaltensweisen führen oder obskure Fehlermeldungen auslösen kann, wenn ungültige Parameter gesetzt werden. #25815 von Jérémie du Boisberranger.

sklearn.base#

sklearn.calibration#

sklearn.cluster#

sklearn.compose#

sklearn.covariance#

sklearn.datasets#

sklearn.decomposition#

sklearn.discriminant_analysis#

sklearn.ensemble#

sklearn.exceptions#

  • Feature Hinzugefügt wurde exceptions.InconsistentVersionWarning, die ausgelöst wird, wenn ein scikit-learn-Schätzer mit einer scikit-learn-Version entpickelt wird, die inkonsistent mit der scikit-learn-Version ist, mit der der Schätzer entpickelt wurde. #25297 von Thomas Fan.

sklearn.feature_extraction#

  • API Change feature_extraction.image.PatchExtractor folgt nun der Transformer-API von scikit-learn. Diese Klasse ist als zustandslose Transformation definiert, was bedeutet, dass fit vor dem Aufruf von transform nicht aufgerufen werden muss. Die Parameterprüfung erfolgt nur zum Zeitpunkt von fit. #24230 von Guillaume Lemaitre.

sklearn.feature_selection#

sklearn.impute#

sklearn.inspection#

sklearn.kernel_approximation#

sklearn.linear_model#

sklearn.manifold#

sklearn.metrics#

sklearn.gaussian_process#

sklearn.mixture#

sklearn.model_selection#

sklearn.multioutput#

sklearn.naive_bayes#

sklearn.neighbors#

sklearn.neural_network#

sklearn.pipeline#

sklearn.preprocessing#

sklearn.svm#

sklearn.tree#

sklearn.utils#

  • Korrektur Korrigiert utils.check_array, um Pandas Extension Arrays ordnungsgemäß zu konvertieren. #25813 und #26106 von Thomas Fan.

  • Korrektur utils.check_array unterstützt nun Pandas DataFrames mit Extension Arrays und Objekt-Datentypen, indem es ein ndarray mit Objekt-Datentyp zurückgibt. #25814 von Thomas Fan.

  • API-Änderung utils.estimator_checks.check_transformers_unfitted_stateless wurde eingeführt, um sicherzustellen, dass zustandslose Transformer bei transform ohne vorherigen Aufruf von fit oder fit_transform keine NotFittedError auslösen. #25190 von Vincent Maladière.

  • API-Änderung Eine FutureWarning wird nun ausgelöst, wenn eine Klasse instanziiert wird, die von einer veralteten Basisklasse erbt (d. h. dekoriert mit utils.deprecated) und die __init__ Methode überschreibt. #25733 von Brigitta Sipőcz und Jérémie du Boisberranger.

sklearn.semi_supervised#

Sonstiges#

Code- und Dokumentationsbeitragende

Vielen Dank an alle, die seit Version 1.2 zur Wartung und Verbesserung des Projekts beigetragen haben, einschließlich

2357juan, Abhishek Singh Kushwah, Adam Handke, Adam Kania, Adam Li, adienes, Admir Demiraj, adoublet, Adrin Jalali, A.H.Mansouri, Ahmedbgh, Ala-Na, Alex Buzenet, AlexL, Ali H. El-Kassas, amay, András Simon, André Pedersen, Andrew Wang, Ankur Singh, annegnx, Ansam Zedan, Anthony22-dev, Artur Hermano, Arturo Amor, as-90, ashah002, Ashish Dutt, Ashwin Mathur, AymericBasset, Azaria Gebremichael, Barata Tripramudya Onggo, Benedek Harsanyi, Benjamin Bossan, Bharat Raghunathan, Binesh Bannerjee, Boris Feld, Brendan Lu, Brevin Kunde, cache-missing, Camille Troillard, Carla J, carlo, Carlo Lemos, c-git, Changyao Chen, Chiara Marmo, Christian Lorentzen, Christian Veenhuis, Christine P. Chai, crispinlogan, Da-Lan, DanGonite57, Dave Berenbaum, davidblnc, david-cortes, Dayne, Dea María Léon, Denis, Dimitri Papadopoulos Orfanos, Dimitris Litsidis, Dmitry Nesterov, Dominic Fox, Dominik Prodinger, Edern, Ekaterina Butyugina, Elabonga Atuo, Emir, farhan khan, Felipe Siola, futurewarning, Gael Varoquaux, genvalen, Hleb Levitski, Guillaume Lemaitre, gunesbayir, Haesun Park, hujiahong726, i-aki-y, Ian Thompson, Ido M, Ily, Irene, Jack McIvor, jakirkham, James Dean, JanFidor, Jarrod Millman, JB Mountford, Jérémie du Boisberranger, Jessicakk0711, Jiawei Zhang, Joey Ortiz, JohnathanPi, John Pangas, Joshua Choo Yun Keat, Joshua Hedlund, JuliaSchoepp, Julien Jerphanion, jygerardy, ka00ri, Kaushik Amar Das, Kento Nozawa, Kian Eliasi, Kilian Kluge, Lene Preuss, Linus, Logan Thomas, Loic Esteve, Louis Fouquet, Lucy Liu, Madhura Jayaratne, Marc Torrellas Socastro, Maren Westermann, Mario Kostelac, Mark Harfouche, Marko Toplak, Marvin Krawutschke, Masanori Kanazu, mathurinm, Matt Haberland, Max Halford, maximeSaur, Maxwell Liu, m. bou, mdarii, Meekail Zain, Mikhail Iljin, murezzda, Nawazish Alam, Nicola Fanelli, Nightwalkx, Nikolay Petrov, Nishu Choudhary, NNLNR, npache, Olivier Grisel, Omar Salman, ouss1508, PAB, Pandata, partev, Peter Piontek, Phil, pnucci, Pooja M, Pooja Subramaniam, precondition, Quentin Barthélemy, Rafal Wojdyla, Raghuveer Bhat, Rahil Parikh, Ralf Gommers, ram vikram singh, Rushil Desai, Sadra Barikbin, SANJAI_3, Sashka Warner, Scott Gigante, Scott Gustafson, searchforpassion, Seoeun Hong, Shady el Gewily, Shiva chauhan, Shogo Hida, Shreesha Kumar Bhat, sonnivs, Sortofamudkip, Stanislav (Stanley) Modrak, Stefanie Senger, Steven Van Vaerenbergh, Tabea Kossen, Théophile Baranger, Thijs van Weezel, Thomas A Caswell, Thomas Germer, Thomas J. Fan, Tim Head, Tim P, Tom Dupré la Tour, tomiock, tspeng, Valentin Laurent, Veghit, VIGNESH D, Vijeth Moudgalya, Vinayak Mehta, Vincent M, Vincent-violet, Vyom Pathak, William M, windiana42, Xiao Yuan, Yao Xiao, Yaroslav Halchenko, Yotam Avidar-Constantini, Yuchen Zhou, Yusuf Raji, zeeshan lone