Version 0.22#
Eine kurze Beschreibung der wichtigsten Highlights dieser Version finden Sie unter Release Highlights für scikit-learn 0.22.
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 0.22.2.post1#
3. März 2020
Das Release 0.22.2.post1 enthält eine Korrektur der Paketierung für die Quellverteilung, aber der Inhalt der Pakete ist ansonsten identisch mit dem Inhalt der Wheels der Version 0.22.2 (ohne den Suffix .post1). Beide enthalten die folgenden Änderungen.
Änderungsprotokoll#
sklearn.impute#
Effizienz Reduzierung des asymptotischen Speicherverbrauchs von
impute.KNNImputerdurch Aufteilung der paarweisen Distanzberechnung in Chunks. #16397 von Joel Nothman.
sklearn.metrics#
Korrektur Ein Fehler in
metrics.plot_roc_curvewurde behoben, bei dem der Name des Schätzers immetrics.RocCurveDisplayanstelle des Parametersnameübergeben wurde. Dies führte zu einer anderen Darstellung, wennmetrics.RocCurveDisplay.plotbei nachfolgenden Aufrufen aufgerufen wurde. #16500 von Guillaume Lemaitre.Korrektur Ein Fehler in
metrics.plot_precision_recall_curvewurde behoben, bei dem der Name des Schätzers immetrics.PrecisionRecallDisplayanstelle des Parametersnameübergeben wurde. Dies führte zu einer anderen Darstellung, wennmetrics.PrecisionRecallDisplay.plotbei nachfolgenden Aufrufen aufgerufen wurde. #16505 von Guillaume Lemaitre.
sklearn.neighbors#
Korrektur Ein Fehler wurde behoben, der eine Liste von Arrays in ein 2D-Objekt-Array statt in ein 1D-Array mit NumPy-Arrays umwandelte. Dieser Fehler beeinträchtigte
neighbors.NearestNeighbors.radius_neighbors. #16076 von Guillaume Lemaitre und Alex Shacked.
Version 0.22.1#
2. Januar 2020
Dies ist ein Bugfix-Release, um hauptsächlich einige Paketierungsprobleme in Version 0.22.0 zu beheben. Es enthält auch kleinere Dokumentationsverbesserungen und einige Fehlerbehebungen.
Änderungsprotokoll#
sklearn.cluster#
Korrektur
cluster.KMeansmitalgorithm="elkan"verwendet nun das gleiche Abbruchkriterium wie mit dem Standard-Algorithmusalgorithm="full". #15930 von @inder128.
sklearn.inspection#
Korrektur
inspection.permutation_importancegibt dieselbenimportanceszurück, wenn einrandom_statefürn_jobs=1odern_jobs>1angegeben wird, sowohl mit Shared-Memory-Backends (Thread-Sicherheit) als auch mit isolierten Memory-, Prozess-basierten Backends. Vermeidet auch das Umwandeln der Daten in den Objekt-Datentyp und vermeidet Lesefehler bei großen DataFrames mitn_jobs>1, wie in #15810 berichtet. Follow-up von #15898 von Shivam Gargsya. #15933 von Guillaume Lemaitre und Olivier Grisel.Korrektur
inspection.plot_partial_dependenceundinspection.PartialDependenceDisplay.plotprüfen nun konsistent die Anzahl der übergebenen Achsen. #15760 von Thomas Fan.
sklearn.metrics#
Korrektur
metrics.plot_confusion_matrixlöst nun einen Fehler aus, wennnormalizeungültig ist. Zuvor lief es ohne Normalisierung problemlos durch. #15888 von Hanmin Qin.Korrektur
metrics.plot_confusion_matrixfärbt nun die Beschriftungsfarbe korrekt, um den Kontrast zu ihrem Hintergrund zu maximieren. #15936 von Thomas Fan und @DizietAsahi.Korrektur
metrics.classification_reportignoriert nicht mehr den Wert des Schlüsselwortargumentszero_division. #15879 von Bibhash Chandra Mitra.Korrektur Ein Fehler in
metrics.plot_confusion_matrixwurde behoben, um den Parametervalues_formatkorrekt an denmetrics.ConfusionMatrixDisplayplot()-Aufruf zu übergeben. #15937 von Stephen Blystone.
sklearn.model_selection#
Korrektur
model_selection.GridSearchCVundmodel_selection.RandomizedSearchCVakzeptieren skalare Werte, die infit_paramsübergeben werden. Die Änderung in 0.22 brach die Abwärtskompatibilität. #15863 von Adrin Jalali und Guillaume Lemaitre.
sklearn.naive_bayes#
Korrektur Der Dekorator
abstractmethodfür die Methode_check_Xinnaive_bayes.BaseNBwurde entfernt, da er nachfolgende Projekte, die von dieser veralteten öffentlichen Basisklasse erben, brechen konnte. #15996 von Brigitta Sipőcz.
sklearn.preprocessing#
Korrektur
preprocessing.QuantileTransformergarantiert nun, dass das Attributquantiles_vollständig in nicht abnehmender Reihenfolge sortiert ist. #15751 von Tirth Patel.
sklearn.semi_supervised#
Korrektur
semi_supervised.LabelPropagationundsemi_supervised.LabelSpreadingerlauben nun eine aufrufbare Kernel-Funktion, um eine spärliche Gewichtungsmatrix zurückzugeben. #15868 von Niklas Smedemark-Margulies.
sklearn.utils#
Korrektur
utils.check_arraykonvertiert nun korrekt Pandas DataFrames mit booleschen Spalten in Floats. #15797 von Thomas Fan.Korrektur
utils.validation.check_is_fittedakzeptiert nun wieder ein explizites Argumentattributes, um spezifische Attribute als explizite Marker eines gefitteten Schätzers zu prüfen. Wenn keine explizitenattributesangegeben werden, werden nur die Attribute, die mit einem Unterstrich enden und nicht mit doppelten Unterstrichen beginnen, als "fitted"-Marker verwendet. Das Argumentall_or_anyist ebenfalls nicht mehr veraltet. Diese Änderung wurde vorgenommen, um einige Abwärtskompatibilitäten mit dem Verhalten dieses Dienstprogramms in Version 0.21 wiederherzustellen. #15947 von Thomas Fan.
Version 0.22.0#
3. Dezember 2019
Website-Aktualisierung#
Unsere Website wurde überarbeitet und erhielt ein frisches neues Aussehen. #14849 von Thomas Fan.
Klare Definition der öffentlichen API#
Scikit-learn hat eine öffentliche API und eine private API.
Wir tun unser Bestes, um die öffentliche API nicht zu brechen und nur abwärtskompatible Änderungen einzuführen, die keine Benutzeraktion erfordern. Wenn dies jedoch nicht möglich ist, unterliegt jede Änderung an der öffentlichen API einem Deprecationszyklus von zwei Minor-Versionen. Die private API ist nicht öffentlich dokumentiert und unterliegt keinem Deprecationszyklus, daher sollten sich Benutzer nicht auf ihre Stabilität verlassen.
Eine Funktion oder ein Objekt ist öffentlich, wenn es in der API-Referenz dokumentiert ist und wenn es mit einem Importpfad ohne führende Unterstriche importiert werden kann. Zum Beispiel ist sklearn.pipeline.make_pipeline öffentlich, während sklearn.pipeline._name_estimators privat ist. sklearn.ensemble._gb.BaseEnsemble ist ebenfalls privat, da das gesamte Modul _gb privat ist.
Bis Version 0.22 waren einige Tools de facto öffentlich (kein führender Unterstrich), obwohl sie von Anfang an privat hätten sein sollen. In Version 0.22 wurden diese Tools korrekt privat gemacht und der öffentliche API-Bereich wurde bereinigt. Außerdem ist der Import aus den meisten Untermodulen nun veraltet: Sie sollten z. B. from sklearn.cluster import Birch verwenden, anstatt from sklearn.cluster.birch import Birch (in der Praxis wurde birch.py nach _birch.py verschoben).
Hinweis
Alle Werkzeuge in der öffentlichen API sollten in der API-Referenz dokumentiert sein. Wenn Sie ein öffentliches Werkzeug (ohne führenden Unterstrich) finden, das nicht in der API-Referenz enthalten ist, bedeutet dies, dass es entweder privat oder dokumentiert sein sollte. Bitte lassen Sie es uns wissen, indem Sie ein Issue eröffnen!
Diese Arbeit wurde in Issue 9250 und Issue 12927 verfolgt.
Deprecations: ab sofort FutureWarning verwenden#
Beim Deprecaten eines Features löste scikit-learn in früheren Versionen eine DeprecationWarning aus. Da DeprecationWarnings von Python standardmäßig nicht angezeigt werden, musste scikit-learn auf einen benutzerdefinierten Warnfilter zurückgreifen, um die Warnungen immer anzuzeigen. Dieser Filter konnte manchmal mit benutzerdefinierten Warnfiltern der Benutzer in Konflikt geraten.
Ab Version 0.22 zeigt scikit-learn FutureWarnings für Deprecations an, wie von der Python-Dokumentation empfohlen. FutureWarnings werden von Python standardmäßig immer angezeigt, sodass der benutzerdefinierte Filter entfernt wurde und scikit-learn die Benutzerfilter nicht mehr beeinträchtigt. #15080 von Nicolas Hug.
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.
cluster.KMeansmitn_jobs=1. Korrekturdecomposition.SparseCoder,decomposition.DictionaryLearningunddecomposition.MiniBatchDictionaryLearningKorrekturdecomposition.SparseCodermitalgorithm='lasso_lars'Korrekturdecomposition.SparsePCA, bei dernormalize_componentsaufgrund von Deprecation keine Wirkung hatte.ensemble.HistGradientBoostingClassifierundensemble.HistGradientBoostingRegressorKorrektur , Feature , Verbesserung .impute.IterativeImputer, wennXMerkmale ohne fehlende Werte hat. Featurelinear_model.Ridge, wennXspärlich ist. Korrekturmodel_selection.StratifiedKFoldund jede Verwendung voncv=intmit einem Klassifikator. Korrekturcross_decomposition.CCAbei Verwendung von scipy >= 1.3 Korrektur
Details sind in der folgenden Changelog aufgeführt.
(Obwohl wir uns bemühen, Benutzer durch die Bereitstellung dieser Informationen besser zu informieren, können wir keine Vollständigkeit dieser Liste garantieren.)
Changelog#
sklearn.base#
API-Änderung Ab Version 0.24 löst
base.BaseEstimator.get_paramseinen AttributeError aus, anstatt None für Parameter zurückzugeben, die im Konstruktor des Schätzers vorhanden sind, aber nicht als Attribute der Instanz gespeichert sind. #14464 von Joel Nothman.
sklearn.calibration#
Korrektur Ein Fehler wurde behoben, der dazu führte, dass
calibration.CalibratedClassifierCVfehlschlug, wenn einsample_weightParameter vom Typlistübergeben wurde (fallssample_weightsvom umschlossenen Schätzer nicht unterstützt wurden). #13575 von William de Vazelhes.
sklearn.cluster#
Feature
cluster.SpectralClusteringakzeptiert nun einen vordefinierten spärlichen Nachbarschaftsgraphen als Eingabe. #10482 von Tom Dupre la Tour und Kumar Ashutosh.Verbesserung
cluster.SpectralClusteringakzeptiert nun einen Parametern_components. Dieser Parameter erweitert die Funktionalität der KlasseSpectralClustering, um mitcluster.spectral_clusteringübereinzustimmen. #13726 von Shuzhe Xiao.Korrektur Ein Fehler wurde behoben, bei dem
cluster.KMeansinkonsistente Ergebnisse zwischenn_jobs=1undn_jobs>1aufgrund der Behandlung des Zufallszustands lieferte. #9288 von Bryan Yang.Korrektur Ein Fehler wurde behoben, bei dem der Algorithmus
elkanincluster.KMeansaufgrund von Integer-Index-Überläufen einen Segmentation Fault bei großen Arrays verursachte. #15057 von Vladimir Korolev.Korrektur
MeanShiftakzeptiert nun einen max_iter mit einem Standardwert von 300, anstatt immer den Standardwert 300 zu verwenden. Außerdem wird nun einn_iter_exponiert, das die maximale Anzahl von Iterationen angibt, die für jeden Seed durchgeführt wurden. #15120 von Adrin Jalali.Korrektur
cluster.AgglomerativeClusteringundcluster.FeatureAgglomerationlösen nun einen Fehler aus, wennaffinity='cosine'undXStichproben enthält, die alle Null sind. #7943 von @mthorrell.
sklearn.compose#
Feature Fügt
compose.make_column_selectorhinzu, das mitcompose.ColumnTransformerverwendet wird, um DataFrame-Spalten basierend auf Name und Datentyp auszuwählen. #12303 von Thomas Fan.Korrektur Ein Fehler in
compose.ColumnTransformerwurde behoben, der die richtigen Spalten nicht auswählte, wenn eine boolesche Liste verwendet wurde, mit NumPy älter als 1.12. #14510 von Guillaume Lemaitre.Korrektur Ein Fehler in
compose.TransformedTargetRegressorwurde behoben, der**fit_paramsnicht an den zugrunde liegenden Regressor weitergab. #14890 von Miguel Cabrera.Korrektur Der
compose.ColumnTransformererfordert nun, dass die Anzahl der Merkmale zwischenfitundtransformkonsistent ist. EineFutureWarningwird nun ausgelöst, und dies wird in 0.24 einen Fehler verursachen. Wenn die Anzahl der Merkmale nicht konsistent ist und negative Indizierung verwendet wird, wird ein Fehler ausgelöst. #14544 von Adrin Jalali.
sklearn.cross_decomposition#
Feature
cross_decomposition.PLSCanonicalundcross_decomposition.PLSRegressionverfügen über eine neue Funktioninverse_transform, um Daten in den ursprünglichen Raum zu transformieren. #15304 von Jaime Ferrando Huertas.Verbesserung
decomposition.KernelPCAprüft nun ordnungsgemäß die vom Solver gefundenen Eigenwerte auf numerische Probleme oder Konditionierungsprobleme. Dies gewährleistet die Konsistenz der Ergebnisse über Solver hinweg (unterschiedliche Optionen füreigen_solver), einschließlich approximativer Solver wie'randomized'und'lobpcg'(siehe #12068). #12145 von Sylvain MariéKorrektur Ein Fehler wurde behoben, bei dem
cross_decomposition.PLSCanonicalundcross_decomposition.PLSRegressioneinen Fehler auslösten, wenn sie mit einer ZielmatrixYgefittet wurden, in der die erste Spalte konstant war. #13609 von Camila Williamson.Korrektur
cross_decomposition.CCAliefert nun die gleichen Ergebnisse mit scipy 1.3 und früheren scipy-Versionen. #15661 von Thomas Fan.
sklearn.datasets#
Feature
datasets.fetch_openmlunterstützt nun heterogene Daten mit Pandas, indemas_frame=Truegesetzt wird. #13902 von Thomas Fan.Feature
datasets.fetch_openmlenthält nun dietarget_namesin der zurückgegebenen Bunch. #15160 von Thomas Fan.Verbesserung Der Parameter
return_X_ywurde zudatasets.fetch_20newsgroupsunddatasets.fetch_olivetti_faceshinzugefügt. #14259 von Sourav Singh.Verbesserung Der Parameter
weightswurde zudatasets.make_classificationhinzugefügt, sodass nun array-artige Werte (d. h. Listen oder NumPy-Arrays) anstelle von nur Listen akzeptiert werden. #14764 von Cat Chenal.- Verbesserung Der Parameter
normalizewurde hinzugefügt zu datasets.fetch_20newsgroups_vectorized. #14740 von Stéphan Tulkens
- Verbesserung Der Parameter
Korrektur Ein Fehler wurde behoben, bei dem
datasets.fetch_openmlein OpenML-Datenset, das ein ignoriertes Merkmal enthielt, nicht laden konnte. #14623 von Sarra Habchi.
sklearn.decomposition#
Effizienz
decomposition.NMFmitsolver="mu", das auf spärliche Eingabematrizen gefittet wurde, verwendet nun Batching, um die kurzzeitige Zuweisung eines Arrays der Größe (#Nicht-Null-Elemente, n_components) zu vermeiden. #15257 von Mart Willocx.Enhancement
decomposition.dict_learningunddecomposition.dict_learning_onlineakzeptieren nunmethod_max_iterund leiten es andecomposition.sparse_encodeweiter. #12650 von Adrin Jalali.Enhancement
decomposition.SparseCoder,decomposition.DictionaryLearningunddecomposition.MiniBatchDictionaryLearningnehmen nun einen Parametertransform_max_iterentgegen und leiten ihn entweder andecomposition.dict_learningoderdecomposition.sparse_encodeweiter. #12650 von Adrin Jalali.Enhancement
decomposition.IncrementalPCAakzeptiert nun dünne Matrizen als Eingabe und wandelt sie in Stapeln in dichte um, wodurch die Notwendigkeit entfällt, die gesamte dichte Matrix auf einmal zu speichern. #13960 von Scott Gigante.Fix
decomposition.sparse_encodeleitet nunmax_iteran den zugrundeliegendenlinear_model.LassoLarsweiter, wennalgorithm='lasso_lars'ist. #12650 von Adrin Jalali.
sklearn.dummy#
Fix
dummy.DummyClassifierbehandelt nun die Überprüfung der Existenz der bereitgestellten Konstanten in Multi-Output-Fällen. #14908 von Martina G. Vilas.API Change Der Standardwert des Parameters
strategyindummy.DummyClassifierändert sich von'stratified'in Version 0.22 zu'prior'in 0.24. Ein FutureWarning wird ausgegeben, wenn der Standardwert verwendet wird. #15382 von Thomas Fan.API Change Das Attribut
outputs_2d_ist indummy.DummyClassifierunddummy.DummyRegressorveraltet. Es entsprichtn_outputs > 1. #14933 von Nicolas Hug
sklearn.ensemble#
Major Feature
ensemble.StackingClassifierundensemble.StackingRegressorwurden hinzugefügt, um Prädiktoren mithilfe eines finalen Klassifikators oder Regressors zu stapeln. #11047 von Guillaume Lemaitre und Caio Oliveira und #15138 von Jon Cusick..Major Feature Es gab viele Verbesserungen an
ensemble.HistGradientBoostingClassifierundensemble.HistGradientBoostingRegressorFeature Schätzer unterstützen nun nativ dichte Daten mit fehlenden Werten sowohl für das Training als auch für die Vorhersage. Sie unterstützen auch unendliche Werte. #13911 und #14406 von Nicolas Hug, Adrin Jalali und Olivier Grisel.
Feature Schätzer haben nun einen zusätzlichen Parameter
warm_start, der das Warm-Starten ermöglicht. #14012 von Johann Faouzi.Feature
inspection.partial_dependenceundinspection.plot_partial_dependenceunterstützen nun die schnelle 'recursion'-Methode für beide Schätzer. #13769 von Nicolas Hug.Enhancement Für
ensemble.HistGradientBoostingClassifierwird nun der Trainings-Loss oder Score auf einem klassenweisen stratifizierten Teilsample überwacht, um die Klassenbalance des ursprünglichen Trainingsdatensatzes zu erhalten. #14194 von Johann Faouzi.Enhancement
ensemble.HistGradientBoostingRegressorunterstützt nun den 'least_absolute_deviation'-Loss. #13896 von Nicolas Hug.Fix Schätzer binne nun die Trainings- und Validierungsdaten separat, um jegliche Datenlecks zu vermeiden. #13933 von Nicolas Hug.
Fix Ein Fehler wurde behoben, bei dem das vorzeitige Stoppen mit String-Zielen fehlschlug. #14710 von Guillaume Lemaitre.
Fix
ensemble.HistGradientBoostingClassifierlöst nun einen Fehler aus, wenn dercategorical_crossentropy-Loss für ein binäres Klassifikationsproblem angegeben wird. #14869 von Adrin Jalali.
Beachten Sie, dass Pickles aus 0.21 in 0.22 nicht funktionieren werden.
Enhancement Die Hinzufügung des Arguments
max_samplesermöglicht die Begrenzung der Größe von Bootstrap-Samples auf weniger als die Größe des Datensatzes. Hinzugefügt zuensemble.RandomForestClassifier,ensemble.RandomForestRegressor,ensemble.ExtraTreesClassifier,ensemble.ExtraTreesRegressor. #14682 von Matt Hancock und #5963 von Pablo Duboue.Fix
ensemble.VotingClassifier.predict_probawird nicht mehr vorhanden sein, wennvoting='hard'ist. #14287 von Thomas Fan.Fix Das Attribut
named_estimators_inensemble.VotingClassifierundensemble.VotingRegressorordnet nun korrekt zu fallen gelassenen Schätzern. Zuvor war die Zuordnung vonnamed_estimators_falsch, wenn einer der Schätzer fallen gelassen wurde. #15375 von Thomas Fan.Fix
utils.estimator_checks.check_estimatorwird nun standardmäßig fürensemble.VotingClassifierundensemble.VotingRegressorausgeführt. Dies führt zur Behebung von Problemen bezüglich der Formkonsistenz währendpredict, die fehlschlugen, wenn die zugrundeliegenden Schätzer keine konsistenten Array-Dimensionen ausgaben. Beachten Sie, dass dies zukünftig durch Refactoring der gemeinsamen Tests ersetzt werden sollte. #14305 von Guillaume Lemaitre.Fix
ensemble.AdaBoostClassifierberechnet Wahrscheinlichkeiten basierend auf der Entscheidungskennlinie, wie in der Literatur. Daher ergebenpredictundpredict_probakonsistente Ergebnisse. #14114 von Guillaume Lemaitre.Fix Stacking- und Voting-Schätzer stellen nun sicher, dass ihre zugrundeliegenden Schätzer entweder alle Klassifikatoren oder alle Regressoren sind.
ensemble.StackingClassifier,ensemble.StackingRegressor, undensemble.VotingClassifierundensemble.VotingRegressorgeben nun konsistente Fehlermeldungen aus. #15084 von Guillaume Lemaitre.Fix
ensemble.AdaBoostRegressor, bei dem der Loss durch das Maximum der Samples mit nicht-null Gewichten normalisiert werden sollte. #14294 von Guillaume Lemaitre.API Change
presortist nun inensemble.GradientBoostingClassifierundensemble.GradientBoostingRegressorveraltet und der Parameter hat keine Auswirkung mehr. Benutzern wird empfohlen, stattdessenensemble.HistGradientBoostingClassifierundensemble.HistGradientBoostingRegressorzu verwenden. #14907 von Adrin Jalali.
sklearn.feature_extraction#
Enhancement Eine Warnung wird nun ausgegeben, wenn eine Parameterwahl dazu führt, dass ein anderer Parameter bei Aufruf der fit()-Methode für
feature_extraction.text.HashingVectorizer,feature_extraction.text.CountVectorizerundfeature_extraction.text.TfidfVectorizerungenutzt bleibt. #14602 von Gaurav Chawla.Fix Funktionen, die von
build_preprocessorundbuild_analyzervonfeature_extraction.text.VectorizerMixinerstellt wurden, können nun gepickelt werden. #14430 von Dillon Niederhut.Fix
feature_extraction.text.strip_accents_unicodeentfernt nun korrekt Akzente aus Strings, die in NFKD-normalisierter Form vorliegen. #15100 von Daniel Grady.Fix Ein Fehler wurde behoben, der dazu führte, dass
feature_extraction.DictVectorizerwährend dertransform-Operation eineOverflowErrorauslöste, wenn einescipy.sparse-Matrix bei großen Eingabedaten erzeugt wurde. #15463 von Norvan Sahiner.API Change Der ungenutzte Parameter
copyfürfeature_extraction.text.TfidfVectorizer.transformist veraltet und wird in v0.24 entfernt. #14520 von Guillem G. Subies.
sklearn.feature_selection#
Enhancement Die folgenden
sklearn.feature_selection-Schätzer wurden aktualisiert, um NaN/Inf-Werte intransformundfitzuzulassen:feature_selection.RFE,feature_selection.RFECV,feature_selection.SelectFromModelundfeature_selection.VarianceThreshold. Beachten Sie, dass dies zu einem Fehler führt, wenn der zugrundeliegende Schätzer des Merkmalsselektors NaN/Inf nicht zulässt, aber die Merkmalsselektoren selbst erzwingen diese Einschränkung nicht mehr unnötigerweise. #11635 von Alec Peters.Fix Ein Fehler wurde behoben, bei dem
feature_selection.VarianceThresholdmitthreshold=0aufgrund numerischer Instabilität keine konstanten Features entfernte, indem in diesem Fall der Bereich anstelle der Varianz verwendet wurde. #13704 von Roddy MacSween.
sklearn.gaussian_process#
Feature Gaußsche Prozessmodelle auf strukturierten Daten:
gaussian_process.GaussianProcessRegressorundgaussian_process.GaussianProcessClassifierkönnen nun eine Liste generischer Objekte (z. B. Zeichenketten, Bäume, Graphen usw.) als ArgumentXfür ihre Trainings-/Vorhersagemethoden akzeptieren. Eine benutzerdefinierte Kernel sollte zur Berechnung der Kernel-Matrix zwischen den generischen Objekten bereitgestellt werden und vongaussian_process.kernels.GenericKernelMixinerben, um dem GPR/GPC-Modell mitzuteilen, dass es nicht-vektorielle Samples verarbeitet. #15557 von Yu-Hang Tang.Efficiency
gaussian_process.GaussianProcessClassifier.log_marginal_likelihoodundgaussian_process.GaussianProcessRegressor.log_marginal_likelihoodakzeptieren nun ein Schlüsselwortargumentclone_kernel=True. Wenn dies aufFalsegesetzt wird, wird das Kernel-Attribut modifiziert, kann aber zu einer Leistungsverbesserung führen. #14378 von Masashi Shibata.API Change Ab Version 0.24 wird
gaussian_process.kernels.Kernel.get_paramseinenAttributeErrorauslösen, anstattNonefür Parameter zurückzugeben, die im Konstruktor des Schätzers vorhanden, aber nicht als Attribute der Instanz gespeichert sind. #14464 von Joel Nothman.
sklearn.impute#
Major Feature
impute.KNNImputerwurde hinzugefügt, um fehlende Werte mittels k-Nearest Neighbors zu imputieren. #12852 von Ashim Bhattarai und Thomas Fan und #15010 von Guillaume Lemaitre.Feature
impute.IterativeImputerhat ein neues Flagskip_compute, das standardmäßig aufFalsegesetzt ist. Wenn es aufTruegesetzt wird, überspringt es die Berechnung für Features, die während der Fit-Phase keine fehlenden Werte aufweisen. #13773 von Sergey Feldman.Efficiency
impute.MissingIndicator.fit_transformvermeidet wiederholte Berechnungen der maskierten Matrix. #14356 von Harsh Soni.Fix
impute.IterativeImputerfunktioniert nun, wenn nur ein Feature vorhanden ist. Von Sergey Feldman.Fix Ein Fehler wurde in
impute.IterativeImputerbehoben, bei dem Features in der umgekehrten gewünschten Reihenfolge mitimputation_orderentweder"ascending"oder"descending"imputiert wurden. #15393 von Venkatachalam N.
sklearn.inspection#
Major Feature
inspection.permutation_importancewurde hinzugefügt, um die Bedeutung jedes Features in einem beliebigen trainierten Modell in Bezug auf eine gegebene Scoring-Funktion zu messen. #13146 von Thomas Fan.Feature
inspection.partial_dependenceundinspection.plot_partial_dependenceunterstützen nun die schnelle 'recursion'-Methode fürensemble.HistGradientBoostingClassifierundensemble.HistGradientBoostingRegressor. #13769 von Nicolas Hug.Enhancement
inspection.plot_partial_dependencewurde erweitert, um die neue Visualisierungs-API zu unterstützen, die im Benutzerhandbuch beschrieben ist. #14646 von Thomas Fan.Enhancement
inspection.partial_dependenceakzeptiert nun Pandas DataFrames undpipeline.Pipeline, diecompose.ColumnTransformerenthalten. Zusätzlich verwendetinspection.plot_partial_dependencestandardmäßig die Spaltennamen, wenn ein DataFrame übergeben wird. #14028 und #15429 von Guillaume Lemaitre.
sklearn.kernel_approximation#
Fix Ein Fehler wurde behoben, bei dem
kernel_approximation.NystroemeinenKeyErrorauslöste, wennkernel="precomputed"verwendet wurde. #14706 von Venkatachalam N.
sklearn.linear_model#
Efficiency Der Solver für die logistische Regression 'liblinear' ist jetzt schneller und benötigt weniger Speicher. #14108, #14170, #14296 von Alex Henrie.
Enhancement
linear_model.BayesianRidgeakzeptiert nun die Hyperparameteralpha_initundlambda_init, die verwendet werden können, um den Anfangswert des Maximierungsverfahrens in fit festzulegen. #13618 von Yoshihiro Uchida.Fix
linear_model.Ridgepasst nun korrekt einen Intercept an, wennXdünnbesetzt (sparse) ist,solver="auto"undfit_intercept=True. Dies liegt daran, dass der Standard-Solver in dieser Konfiguration aufsparse_cggeändert wurde, der einen Intercept mit dünnbesetzten Daten anpassen kann. #13995 von Jérôme Dockès.Fix
linear_model.Ridgemitsolver='sag'akzeptiert nun F-orientierte und nicht-kontinuierliche Arrays und konvertiert sie anstatt fehlzuschlagen. #14458 von Guillaume Lemaitre.Fix
linear_model.LassoCVerzwingt nicht mehrprecompute=Falsebeim Anpassen des endgültigen Modells. #14591 von Andreas Müller.Fix
linear_model.RidgeCVundlinear_model.RidgeClassifierCVbewerten nun korrekt, wenncv=Noneist. #14864 von Venkatachalam N.Fix Ein Fehler in
linear_model.LogisticRegressionCVwurde behoben, bei dem das Attributscores_,n_iter_undcoefs_paths_beipenalty='elastic-net'eine falsche Reihenfolge aufwies. #15044 von Nicolas Hug.Fix
linear_model.MultiTaskLassoCVundlinear_model.MultiTaskElasticNetCVmit X vom Datentyp int undfit_intercept=True. #15086 von Alex Gramfort.Fix Der liblinear-Solver unterstützt nun
sample_weight. #15038 von Guillaume Lemaitre.
sklearn.manifold#
Feature
manifold.Isomap,manifold.TSNEundmanifold.SpectralEmbeddingakzeptieren nun einen vorberechneten, dünnbesetzten Nachbarschaftsgraphen als Eingabe. #10482 von Tom Dupre la Tour und Kumar Ashutosh.Feature Der Parameter
n_jobsinmanifold.TSNEwurde für die Mehrkernberechnung des Nachbarschaftsgraphen freigegeben. Dieser Parameter hat keinen Einfluss, wennmetric="precomputed"oder (metric="euclidean"undmethod="exact") gilt. #15082 von Roman Yurchak.Efficiency Effizienzverbesserungen für
manifold.TSNEbeimethod="barnes-hut"durch parallele Berechnung des Gradienten. #13213 von Thomas MoreauFix Ein Fehler wurde behoben, bei dem
manifold.spectral_embedding(und damitmanifold.SpectralEmbeddingundcluster.SpectralClustering) falsche Eigenwerte miteigen_solver='amg'berechnete, wennn_samples < 5 * n_components. #14647 von Andreas Müller.Fix Ein Fehler in
manifold.spectral_embedding, das inmanifold.SpectralEmbeddingundcluster.SpectralClusteringverwendet wird, wurde behoben, bei demeigen_solver="amg"manchmal zu einemLinAlgErrorführte. #13393 von Andrew Knyazev #13707 von Scott WhiteAPI Change Das ungenutzte Attribut
training_data_inmanifold.Isomapwurde als veraltet markiert. #10482 von Tom Dupre la Tour.
sklearn.metrics#
Major Feature
metrics.plot_roc_curvewurde hinzugefügt, um ROC-Kurven zu plotten. Diese Funktion führt die im Benutzerhandbuch beschriebene Visualisierungs-API ein. #14357 von Thomas Fan.Feature Ein neuer Parameter
zero_divisionwurde zu mehreren Klassifikationsmetriken hinzugefügt:metrics.precision_score,metrics.recall_score,metrics.f1_score,metrics.fbeta_score,metrics.precision_recall_fscore_support,metrics.classification_report. Dies ermöglicht die Festlegung des zurückgegebenen Werts für schlecht definierte Metriken. #14900 von Marc Torrellas Socastro.Feature Die Metrik
metrics.pairwise.nan_euclidean_distanceswurde hinzugefügt, die Euklidische Distanzen in Anwesenheit fehlender Werte berechnet. #12852 von Ashim Bhattarai und Thomas Fan.Feature Neue Ranking-Metriken
metrics.ndcg_scoreundmetrics.dcg_scorewurden hinzugefügt, um Discounted Cumulative Gain und Normalized Discounted Cumulative Gain zu berechnen. #9951 von Jérôme Dockès.Feature
metrics.plot_precision_recall_curvewurde hinzugefügt, um Präzisions-Recall-Kurven zu plotten. #14936 von Thomas Fan.Feature
metrics.plot_confusion_matrixwurde hinzugefügt, um Konfusionsmatrizen zu plotten. #15083 von Thomas Fan.Feature Multiklassen-Unterstützung wurde zu
metrics.roc_auc_scoremit den entsprechenden Scorer-Namen'roc_auc_ovr','roc_auc_ovo','roc_auc_ovr_weighted'und'roc_auc_ovo_weighted'hinzugefügt. #12789 und #15274 von Kathy Chen, Mohamed Maskani und Thomas Fan.Feature Fügt
metrics.mean_tweedie_deviancehinzu, die die Tweedie-Devianz für einen gegebenenpower-Parameter misst. Ebenfalls hinzugefügt werden die mittlere Poisson-Devianzmetrics.mean_poisson_devianceund die mittlere Gamma-Devianzmetrics.mean_gamma_deviance, die Spezialfälle der Tweedie-Devianz fürpower=1bzw.power=2sind. #13938 von Christian Lorentzen und Roman Yurchak.Efficiency Leistung verbessert für
metrics.pairwise.manhattan_distancesim Fall von dünnbesetzten Matrizen. #15049 vonPaolo Toccaceli <ptocca>.Enhancement Der Parameter
betainmetrics.fbeta_scorewurde aktualisiert, um die Werte Null undfloat('+inf')zu akzeptieren. #13231 von Dong-hee Na.Enhancement Parameter
squaredwurde inmetrics.mean_squared_errorhinzugefügt, um den mittleren quadratischen Fehler (Root Mean Squared Error) zurückzugeben. #13467 von Urvang Patel.Enhancement Ermöglicht die Berechnung von gemittelten Metriken im Falle keiner wahren Positiven. #14595 von Andreas Müller.
Enhancement Multilabel-Metriken unterstützen nun Listen von Listen als Eingabe. #14865 Srivatsan Ramesh, Herilalaina Rakotoarison, Léonard Binet.
Enhancement
metrics.median_absolute_errorunterstützt nun den Parametermultioutput. #14732 von Agamemnon Krasoulis.Enhancement 'roc_auc_ovr_weighted' und 'roc_auc_ovo_weighted' können nun als scoring-Parameter von Werkzeugen zur Modellauswahl verwendet werden. #14417 von Thomas Fan.
Enhancement
metrics.confusion_matrixakzeptiert einen Parameternormalize, der es ermöglicht, die Konfusionsmatrix nach Spalten, Zeilen oder insgesamt zu normalisieren. #15625 vonGuillaume Lemaitre <glemaitre>.Fix Löst einen
ValueErrorinmetrics.silhouette_scoreaus, wenn eine vorberechnete Distanzmatrix nicht-null Diagonaleinträge enthält. #12258 von Stephen Tierney.API Change
scoring="neg_brier_score"sollte anstelle vonscoring="brier_score_loss"verwendet werden, was nun veraltet ist. #14898 von Stefan Matcovici.
sklearn.model_selection#
Efficiency Leistung bei multimetrischen Scorings in
model_selection.cross_validate,model_selection.GridSearchCVundmodel_selection.RandomizedSearchCVverbessert. #14593 von Thomas Fan.Enhancement
model_selection.learning_curveakzeptiert nun den Parameterreturn_times, der verwendet werden kann, um Berechnungszeiten abzurufen und die Skalierbarkeit des Modells zu plotten (siehe learning_curve Beispiel). #13938 von Hadrien Reboul.Enhancement
model_selection.RandomizedSearchCVakzeptiert nun Listen von Parameterverteilungen. #14549 von Andreas Müller.Fix
model_selection.StratifiedKFoldwurde neu implementiert, um ein Problem zu beheben, bei dem ein Testdatensatzn_classesgrößer sein konnte als ein anderer. Die Testdatensätze sollten nun nahezu gleich groß sein. #14704 von Joel Nothman.Fix Das Attribut
cv_results_vonmodel_selection.GridSearchCVundmodel_selection.RandomizedSearchCVenthält nun nur noch ungefittete Schätzer. Dies spart potenziell viel Speicher, da der Zustand der Schätzer nicht gespeichert wird. ##15096 von Andreas Müller.API Change
model_selection.KFoldundmodel_selection.StratifiedKFoldgeben nun eine Warnung aus, wennrandom_stategesetzt ist, abershuffleauf False steht. Dies wird in Version 0.24 einen Fehler verursachen.
sklearn.multioutput#
Fix
multioutput.MultiOutputClassifierhat nun das Attributclasses_. #14629 von Agamemnon Krasoulis.Fix
multioutput.MultiOutputClassifierhat nunpredict_probaals Eigenschaft und kann mithasattrüberprüft werden. #15488 #15490 von Rebekah Kim
sklearn.naive_bayes#
Major Feature
naive_bayes.CategoricalNBwurde hinzugefügt, der den kategorialen Naive Bayes-Klassifikator implementiert. #12569 von Tim Bicker und Florian Wilhelm.
sklearn.neighbors#
Major Feature
neighbors.KNeighborsTransformerundneighbors.RadiusNeighborsTransformerwurden hinzugefügt, die einen Eingabedatensatz in einen dünnbesetzten Nachbarschaftsgraphen transformieren. Sie bieten feinere Kontrolle über die Berechnung von nächsten Nachbarn und ermöglichen ein einfaches Caching von Pipelines für mehrere Verwendungen. #10482 von Tom Dupre la Tour.Feature
neighbors.KNeighborsClassifier,neighbors.KNeighborsRegressor,neighbors.RadiusNeighborsClassifier,neighbors.RadiusNeighborsRegressorundneighbors.LocalOutlierFactorakzeptieren nun einen vorberechneten, dünnbesetzten Nachbarschaftsgraphen als Eingabe. #10482 von Tom Dupre la Tour und Kumar Ashutosh.Feature
neighbors.RadiusNeighborsClassifierunterstützt nun die Vorhersage von Wahrscheinlichkeiten durch die Verwendung vonpredict_probaund unterstützt weitere Outlier-Label-Optionen: 'most_frequent' oder verschiedene Outlier-Labels für Multi-Outputs. #9597 von Wenbo Zhao.Efficiency Effizienzverbesserungen für
neighbors.RadiusNeighborsClassifier.predict. #9597 von Wenbo Zhao.Fix
neighbors.KNeighborsRegressorlöst jetzt einen Fehler aus, wennmetric='precomputed'und auf nicht-quadratische Daten trainiert wird. #14336 von Gregory Dexter.
sklearn.neural_network#
Feature Fügt den Parameter
max_funinneural_network.BaseMultilayerPerceptron,neural_network.MLPRegressorundneural_network.MLPClassifierhinzu, um die Kontrolle über die maximale Anzahl von Funktionsauswertungen zu geben, um keine Verbesserung dertolzu erzielen. #9274 von Daniel Perry.
sklearn.pipeline#
Enhancement
pipeline.Pipelineunterstützt jetzt score_samples, wenn der finale Schätzer dies tut. #13806 von Anaël Beaugnon.Fix Die Methode
fitinFeatureUnionakzeptiert jetztfit_params, um sie an die zugrunde liegenden Transformer weiterzugeben. #15119 von Adrin Jalali.API Change
Noneals Transformer ist nun inpipeline.FeatureUnionveraltet. Bitte verwenden Sie stattdessen'drop'. #15053 von Thomas Fan.
sklearn.preprocessing#
Efficiency
preprocessing.PolynomialFeaturesist nun schneller, wenn die Eingabedaten dicht sind. #13290 von Xavier Dupré.Enhancement Vermeidet unnötige Datenkopien beim Trainieren von Präprozessoren
preprocessing.StandardScaler,preprocessing.MinMaxScaler,preprocessing.MaxAbsScaler,preprocessing.RobustScalerundpreprocessing.QuantileTransformer, was zu einer leichten Leistungsverbesserung führt. #13987 von Roman Yurchak.Fix KernelCenterer löst nun einen Fehler aus, wenn auf nicht-quadratische Daten trainiert wird
preprocessing.KernelCenterer#14336 von Gregory Dexter.
sklearn.model_selection#
Fix
model_selection.GridSearchCVundmodel_selection.RandomizedSearchCVunterstützen nun die_pairwise-Eigenschaft, was einen Fehler während der Kreuzvalidierung für Schätzer mit paarweisen Eingaben (wieneighbors.KNeighborsClassifier, wenn metric auf „precomputed“ gesetzt ist) verhindert. #13925 von Isaac S. Robson und #15524 von Xun Tang.
sklearn.svm#
Enhancement
svm.SVCundsvm.NuSVCakzeptieren nun einen Parameterbreak_ties. Dieser Parameter führt dazu, dass predict die Unentschieden anhand der Konfidenzwerte von decision_function auflöst, wenndecision_function_shape='ovr'und die Anzahl der Zielklassen > 2 ist. #12557 von Adrin Jalali.Enhancement SVM-Schätzer lösen nun einen spezifischeren Fehler aus, wenn
kernel='precomputed'und auf nicht-quadratische Daten trainiert wird. #14336 von Gregory Dexter.Fix
svm.SVC,svm.SVR,svm.NuSVRundsvm.OneClassSVMgenerierten ein ungültiges Modell, wenn sie negative oder Nullwerte für den Parametersample_weightin der Methodefit()erhielten. Dieses Verhalten trat nur in einigen Grenzfallszenarien auf. Jetzt wird in diesen Fällenfit()mit einer Ausnahme fehlschlagen. #14286 von Alex Shacked.Fix Das Attribut
n_support_vonsvm.SVRundsvm.OneClassSVMwar zuvor nicht initialisiert und hatte die Größe 2. Es hat nun die Größe 1 mit dem korrekten Wert. #15099 von Nicolas Hug.Fix Ein Fehler in
BaseLibSVM._sparse_fitwurde behoben, bei dem n_SV=0 einenZeroDivisionErrorauslöste. #14894 von Danna Naser.Fix Der liblinear-Solver unterstützt nun
sample_weight. #15038 von Guillaume Lemaitre.
sklearn.tree#
Feature Fügt minimale Kostenkomplexitätsbeschneidung, gesteuert durch
ccp_alpha, zutree.DecisionTreeClassifier,tree.DecisionTreeRegressor,tree.ExtraTreeClassifier,tree.ExtraTreeRegressor,ensemble.RandomForestClassifier,ensemble.RandomForestRegressor,ensemble.ExtraTreesClassifier,ensemble.ExtraTreesRegressor,ensemble.GradientBoostingClassifierundensemble.GradientBoostingRegressorhinzu. #12887 von Thomas Fan.API Change
presortist nun intree.DecisionTreeClassifierundtree.DecisionTreeRegressorveraltet und hat keine Auswirkung mehr. #14907 von Adrin Jalali.API Change Die Attribute
classes_undn_classes_vontree.DecisionTreeRegressorsind nun veraltet. #15028 von Mei Guan, Nicolas Hug und Adrin Jalali.
sklearn.utils#
Feature
check_estimatorkann nun Prüfungen generieren, indemgenerate_only=Truegesetzt wird. Zuvor wurde die Ausführung voncheck_estimatorgestoppt, sobald die erste Prüfung fehlschlug. Mitgenerate_only=Truekönnen alle Prüfungen unabhängig voneinander ausgeführt werden und die fehlerhaften gemeldet werden. Lesen Sie mehr in Eigene Schätzer erstellen. #14381 von Thomas Fan.Feature Fügt einen pytest-spezifischen Decorator,
parametrize_with_checks, hinzu, um Schätzerprüfungen für eine Liste von Schätzern zu parametrisieren. #14381 von Thomas Fan.Feature Eine neue Zufallsvariable,
utils.fixes.loguniform, implementiert eine log-uniforme Zufallsvariable (z.B. zur Verwendung in RandomizedSearchCV). Zum Beispiel sind die Ergebnisse1,10und100alle gleich wahrscheinlich fürloguniform(1, 100). Siehe #11232 von Scott Sievert und Nathaniel Saul, und SciPy PR 10815.Enhancement
utils.safe_indexing(jetzt veraltet) akzeptiert einen Parameteraxis, um Array-ähnliche Strukturen über Zeilen und Spalten zu indizieren. Die Spaltenindizierung kann auf NumPy-Arrays, SciPy-Sparse-Matrizen und Pandas DataFrames angewendet werden. Eine weitere Refaktorierung wurde durchgeführt. #14035 und #14475 von Guillaume Lemaitre.Enhancement
utils.extmath.safe_sparse_dotfunktioniert zwischen 3D+ ndarrays und Sparse-Matrizen. #14538 von Jérémie du Boisberranger.Fix
utils.check_arraylöst nun einen Fehler aus, anstatt NaN in Integer umzuwandeln. #14872 von Roman Yurchak.Fix
utils.check_arrayerkennt nun numerische dtypes in Pandas DataFrames korrekt, was einen Fehler behebt, bei demfloat32unnötigerweise zufloat64hochgestuft wurde. #15094 von Andreas Müller.API Change Die folgenden Hilfsmittel sind veraltet und nun privat
choose_check_classifiers_labelsenforce_estimator_tags_ymocking.MockDataFramemocking.CheckingClassifieroptimize.newton_cgrandom.random_choice_cscutils.choose_check_classifiers_labelsutils.enforce_estimator_tags_yutils.optimize.newton_cgutils.random.random_choice_cscutils.safe_indexingutils.mockingutils.fast_dictutils.seq_datasetutils.weight_vectorutils.fixes.parallel_helper(entfernt)Alle aus
utils.testingaußerall_estimators, das sich nun inutilsbefindet.
sklearn.isotonic#
Fix Behob einen Fehler, bei dem
isotonic.IsotonicRegression.fiteinen Fehler auslöste, wennX.dtype == 'float32'undX.dtype != y.dtype. #14902 von Lucas.
Sonstiges#
Fix Portiert
lobpcgaus SciPy, was einige Fehlerbehebungen implementiert, aber nur in Version 1.3+ verfügbar ist. #13609 und #14971 von Guillaume Lemaitre.API Change Scikit-learn konvertiert nun jede Eingabedatenstruktur, die ein Duck Array implementiert, in ein NumPy-Array (mittels
__array__), um ein konsistentes Verhalten sicherzustellen, anstatt sich auf__array_function__zu verlassen (siehe NEP 18). #14702 von Andreas Müller.API Change Ersetzt manuelle Prüfungen durch
check_is_fitted. Fehler, die beim Verwenden eines nicht trainierten Schätzers auftreten, sind nun einheitlicher. #13013 von Agamemnon Krasoulis.
Änderungen an Schätzerprüfungen#
Diese Änderungen betreffen hauptsächlich Bibliotheksentwickler.
Schätzer werden nun aufgefordert, einen
NotFittedErrorauszulösen, wennpredictodertransformvorfitaufgerufen wird; zuvor war einAttributeErroroderValueErrorakzeptabel. #13013 von Agamemnon Krasoulis.Binär-only Klassifizierer werden nun in den Schätzerprüfungen unterstützt. Solche Klassifizierer müssen das Estimator-Tag
binary_only=Truehaben. #13875 von Trevor Stephens.Schätzer werden aufgefordert, Eingabedaten (
X,y,sample_weights) in einnumpy.ndarrayzu konvertieren und niemals__array_function__auf dem ursprünglichen Datentyp aufzurufen, der übergeben wird (siehe NEP 18). #14702 von Andreas Müller.Das Estimator-Tag
requires_positive_X(für Modelle, die X als nicht-negativ erfordern) wird nun vonutils.estimator_checks.check_estimatorverwendet, um sicherzustellen, dass eine ordnungsgemäße Fehlermeldung ausgegeben wird, wenn X negative Einträge enthält. #14680 von Alex Gramfort.Prüfung hinzugefügt, dass paarweise Schätzer auf nicht-quadratische Daten Fehler auslösen #14336 von Gregory Dexter.
Zwei gängige Multioutput-Schätzertests
utils.estimator_checks.check_classifier_multioutputundutils.estimator_checks.check_regressor_multioutputhinzugefügt. #13392 von Rok Mihevc.Fix
check_transformer_data_not_an_arrayzu Prüfungen hinzugefügt, die fehltenFix Die Auflösung von Estimator-Tags folgt nun dem regulären MRO. Sie waren früher nur einmal überschreibbar. #14884 von Andreas Müller.
Code- und Dokumentationsbeitragende
Danke an alle, die seit Version 0.21 zur Wartung und Verbesserung des Projekts beigetragen haben, darunter
Aaron Alphonsus, Abbie Popa, Abdur-Rahmaan Janhangeer, abenbihi, Abhinav Sagar, Abhishek Jana, Abraham K. Lagat, Adam J. Stewart, Aditya Vyas, Adrin Jalali, Agamemnon Krasoulis, Alec Peters, Alessandro Surace, Alexandre de Siqueira, Alexandre Gramfort, alexgoryainov, Alex Henrie, Alex Itkes, alexshacked, Allen Akinkunle, Anaël Beaugnon, Anders Kaseorg, Andrea Maldonado, Andrea Navarrete, Andreas Mueller, Andreas Schuderer, Andrew Nystrom, Angela Ambroz, Anisha Keshavan, Ankit Jha, Antonio Gutierrez, Anuja Kelkar, Archana Alva, arnaudstiegler, arpanchowdhry, ashimb9, Ayomide Bamidele, Baran Buluttekin, barrycg, Bharat Raghunathan, Bill Mill, Biswadip Mandal, blackd0t, Brian G. Barkley, Brian Wignall, Bryan Yang, c56pony, camilaagw, cartman_nabana, catajara, Cat Chenal, Cathy, cgsavard, Charles Vesteghem, Chiara Marmo, Chris Gregory, Christian Lorentzen, Christos Aridas, Dakota Grusak, Daniel Grady, Daniel Perry, Danna Naser, DatenBergwerk, David Dormagen, deeplook, Dillon Niederhut, Dong-hee Na, Dougal J. Sutherland, DrGFreeman, Dylan Cashman, edvardlindelof, Eric Larson, Eric Ndirangu, Eunseop Jeong, Fanny, federicopisanu, Felix Divo, flaviomorelli, FranciDona, Franco M. Luque, Frank Hoang, Frederic Haase, g0g0gadget, Gabriel Altay, Gabriel do Vale Rios, Gael Varoquaux, ganevgv, gdex1, getgaurav2, Gideon Sonoiya, Gordon Chen, gpapadok, Greg Mogavero, Grzegorz Szpak, Guillaume Lemaitre, Guillem García Subies, H4dr1en, hadshirt, Hailey Nguyen, Hanmin Qin, Hannah Bruce Macdonald, Harsh Mahajan, Harsh Soni, Honglu Zhang, Hossein Pourbozorg, Ian Sanders, Ingrid Spielman, J-A16, jaehong park, Jaime Ferrando Huertas, James Hill, James Myatt, Jay, jeremiedbb, Jérémie du Boisberranger, jeromedockes, Jesper Dramsch, Joan Massich, Joanna Zhang, Joel Nothman, Johann Faouzi, Jonathan Rahn, Jon Cusick, Jose Ortiz, Kanika Sabharwal, Katarina Slama, kellycarmody, Kennedy Kang’ethe, Kensuke Arai, Kesshi Jordan, Kevad, Kevin Loftis, Kevin Winata, Kevin Yu-Sheng Li, Kirill Dolmatov, Kirthi Shankar Sivamani, krishna katyal, Lakshmi Krishnan, Lakshya KD, LalliAcqua, lbfin, Leland McInnes, Léonard Binet, Loic Esteve, loopyme, lostcoaster, Louis Huynh, lrjball, Luca Ionescu, Lutz Roeder, MaggieChege, Maithreyi Venkatesh, Maltimore, Maocx, Marc Torrellas, Marie Douriez, Markus, Markus Frey, Martina G. Vilas, Martin Oywa, Martin Thoma, Masashi SHIBATA, Maxwell Aladago, mbillingr, m-clare, Meghann Agarwal, m.fab, Micah Smith, miguelbarao, Miguel Cabrera, Mina Naghshhnejad, Ming Li, motmoti, mschaffenroth, mthorrell, Natasha Borders, nezar-a, Nicolas Hug, Nidhin Pattaniyi, Nikita Titov, Nishan Singh Mann, Nitya Mandyam, norvan, notmatthancock, novaya, nxorable, Oleg Stikhin, Oleksandr Pavlyk, Olivier Grisel, Omar Saleem, Owen Flanagan, panpiort8, Paolo, Paolo Toccaceli, Paresh Mathur, Paula, Peng Yu, Peter Marko, pierretallotte, poorna-kumar, pspachtholz, qdeffense, Rajat Garg, Raphaël Bournhonesque, Ray, Ray Bell, Rebekah Kim, Reza Gharibi, Richard Payne, Richard W, rlms, Robert Juergens, Rok Mihevc, Roman Feldbauer, Roman Yurchak, R Sanjabi, RuchitaGarde, Ruth Waithera, Sackey, Sam Dixon, Samesh Lakhotia, Samuel Taylor, Sarra Habchi, Scott Gigante, Scott Sievert, Scott White, Sebastian Pölsterl, Sergey Feldman, SeWook Oh, she-dares, Shreya V, Shubham Mehta, Shuzhe Xiao, SimonCW, smarie, smujjiga, Sönke Behrends, Soumirai, Sourav Singh, stefan-matcovici, steinfurt, Stéphane Couvreur, Stephan Tulkens, Stephen Cowley, Stephen Tierney, SylvainLan, th0rwas, theoptips, theotheo, Thierno Ibrahima DIOP, Thomas Edwards, Thomas J Fan, Thomas Moreau, Thomas Schmitt, Tilen Kusterle, Tim Bicker, Timsaur, Tim Staley, Tirth Patel, Tola A, Tom Augspurger, Tom Dupré la Tour, topisan, Trevor Stephens, ttang131, Urvang Patel, Vathsala Achar, veerlosar, Venkatachalam N, Victor Luzgin, Vincent Jeanselme, Vincent Lostanlen, Vladimir Korolev, vnherdeiro, Wenbo Zhao, Wendy Hu, willdarnell, William de Vazelhes, wolframalpha, xavier dupré, xcjason, x-martian, xsat, xun-tang, Yinglr, yokasre, Yu-Hang “Maxin” Tang, Yulia Zamriy, Zhao Feng