Version 1.0#
Für eine kurze Beschreibung der wichtigsten Highlights des Releases verweisen wir auf Release Highlights für scikit-learn 1.0.
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.0.2#
Dezember 2021
Korrektur cluster.Birch, feature_selection.RFECV, ensemble.RandomForestRegressor, ensemble.RandomForestClassifier, ensemble.GradientBoostingRegressor und ensemble.GradientBoostingClassifier lösen keine Warnung mehr aus, wenn sie auf einem pandas DataFrame trainiert werden. #21578 von Thomas Fan.
Änderungsprotokoll#
sklearn.cluster#
Korrektur Eine Endlosschleife in cluster.SpectralClustering wurde behoben, indem ein Iterationszähler von try nach except verschoben wurde. #21271 von Tyler Martin.
sklearn.datasets#
Korrektur datasets.fetch_openml ist nun threadsicher. Daten werden zuerst in einen temporären Unterordner heruntergeladen und dann umbenannt. #21833 von Siavash Rezazadeh.
sklearn.decomposition#
Korrektur Die Einschränkung für die Zielfunktion von decomposition.DictionaryLearning, decomposition.MiniBatchDictionaryLearning, decomposition.SparsePCA und decomposition.MiniBatchSparsePCA wurde korrigiert, um konvex zu sein und dem zitierten Artikel zu entsprechen. #19210 von Jérémie du Boisberranger.
sklearn.ensemble#
Korrektur ensemble.RandomForestClassifier, ensemble.RandomForestRegressor, ensemble.ExtraTreesClassifier, ensemble.ExtraTreesRegressor und ensemble.RandomTreesEmbedding lösen nun einen ValueError aus, wenn bootstrap=False ist und max_samples nicht None ist. #21295 Haoyin Xu.
Korrektur Ein Fehler in ensemble.GradientBoostingClassifier wurde behoben, bei dem die exponentielle Verlustfunktion den positiven Gradienten anstelle des negativen berechnete. #22050 von Guillaume Lemaitre.
sklearn.feature_selection#
Korrektur feature_selection.SelectFromModel wurde durch Verbesserung der Unterstützung für Basis-Schätzer, die feature_names_in_ nicht setzen, korrigiert. #21991 von Thomas Fan.
sklearn.impute#
Korrektur Ein Fehler in linear_model.RidgeClassifierCV wurde behoben, bei dem die Methode predict einen argmax auf den Scores der decision_function durchführte, anstatt die multilabel-Indikatormatrix zurückzugeben. #19869 von Guillaume Lemaitre.
sklearn.linear_model#
Korrektur linear_model.LassoLarsIC berechnet nun korrekt AIC und BIC. Es wird nun ein Fehler ausgelöst, wenn n_features > n_samples ist und die Rauschvarianz nicht angegeben ist. #21481 von Guillaume Lemaitre und Andrés Babino.
sklearn.manifold#
Korrektur Ein unnötiger Fehler beim Trainieren von manifold.Isomap mit einer vordefinierten dichten Distanzmatrix, bei der der Nachbarknoten mehrere getrennte Komponenten hat, wurde behoben. #21915 von Tom Dupre la Tour.
sklearn.metrics#
Korrektur Alle Unterklassen von sklearn.metrics.DistanceMetric unterstützen nun korrekt schreibgeschützte Pufferattribute. Dies behebt eine Regression, die in Version 1.0.0 im Vergleich zu 0.24.2 eingeführt wurde. #21694 von Julien Jerphanion.
Korrektur Alle sklearn.metrics.MinkowskiDistance akzeptieren nun einen Gewichtsparameter, der es ermöglicht, Code zu schreiben, der sowohl mit SciPy 1.8 als auch mit früheren Versionen konsistent funktioniert. Dies bedeutet wiederum, dass alle nachbarschaftsbasierten Schätzer (außer denen, die algorithm="kd_tree" verwenden) nun einen Gewichtsparameter mit metric="minkowski" akzeptieren, um Ergebnisse zu liefern, die immer konsistent mit scipy.spatial.distance.cdist sind. #21741 von Olivier Grisel.
sklearn.multiclass#
Korrektur multiclass.OneVsRestClassifier.predict_proba gibt keinen Fehler mehr aus, wenn auf konstanten ganzzahligen Zielen trainiert wird. #21871 von Thomas Fan.
sklearn.neighbors#
Korrektur neighbors.KDTree und neighbors.BallTree unterstützen nun korrekt schreibgeschützte Pufferattribute. #21845 von Thomas Fan.
sklearn.preprocessing#
Korrektur Behebt einen Kompatibilitätsfehler mit NumPy 1.22 in preprocessing.OneHotEncoder. #21517 von Thomas Fan.
sklearn.tree#
Korrektur Verhindert, dass tree.plot_tree außerhalb der Grenzen der Abbildung zeichnet. #21917 von Thomas Fan.
Korrektur Unterstützung für das Laden von Pickles von Entscheidungsbaummodellen, wenn das Pickle auf einer Plattform mit anderer Bitbreite erstellt wurde. Ein typisches Beispiel ist das Trainieren und Pickeln des Modells auf einer 64-Bit-Maschine und das Laden des Modells auf einer 32-Bit-Maschine zur Vorhersage. #21552 von Loïc Estève.
sklearn.utils#
Korrektur utils.estimator_html_repr maskiert nun alle Schätzerbeschreibungen in der generierten HTML-Datei. #21493 von Aurélien Geron.
Version 1.0.1#
Oktober 2021
Behobene Modelle#
Korrektur Nicht-Fit-Methoden in den folgenden Klassen lösen keine UserWarning aus, wenn sie auf DataFrames mit gültigen Feature-Namen trainiert werden: covariance.EllipticEnvelope, ensemble.IsolationForest, ensemble.AdaBoostClassifier, neighbors.KNeighborsClassifier, neighbors.KNeighborsRegressor, neighbors.RadiusNeighborsClassifier, neighbors.RadiusNeighborsRegressor. #21199 von Thomas Fan.
sklearn.calibration#
Korrektur calibration.CalibratedClassifierCV wurde korrigiert, um sample_weight bei der Berechnung der Basis-Schätzer-Vorhersage zu berücksichtigen, wenn ensemble=False. #20638 von Julien Bohné.
Korrektur Ein Fehler in calibration.CalibratedClassifierCV mit method="sigmoid" wurde behoben, der sample_weight bei der Berechnung der bayesschen Prioren ignorierte. #21179 von Guillaume Lemaitre.
sklearn.cluster#
Korrektur Ein Fehler in cluster.KMeans wurde behoben, der Reproduzierbarkeit und Äquivalenz zwischen dünnbesetzten und dichten Eingaben sicherstellt. #21195 von Jérémie du Boisberranger.
sklearn.ensemble#
Korrektur Ein Fehler, der in seltenen Fällen zu einem Segfault bei ensemble.HistGradientBoostingClassifier und ensemble.HistGradientBoostingRegressor führen konnte, wurde behoben. #21130 Christian Lorentzen.
sklearn.gaussian_process#
Korrektur y_std wird mit Multi-Target in sklearn.gaussian_process.GaussianProcessRegressor ordnungsgemäß berechnet, was eine ordnungsgemäße Normalisierung im Multi-Target-Szenario ermöglicht. #20761 von Patrick de C. T. R. Ferreira.
sklearn.feature_extraction#
Effizienz Eine Effizienzregression, die in Version 1.0.0 in der transform-Methode von feature_extraction.text.CountVectorizer eingeführt wurde, wurde behoben, die nicht mehr auf Großbuchstaben im bereitgestellten Vokabular prüft. #21251 von Jérémie du Boisberranger.
Korrektur Ein Fehler in feature_extraction.text.CountVectorizer und feature_extraction.text.TfidfVectorizer wurde behoben, indem ein Fehler ausgelöst wird, wenn 'min_idf' oder 'max_idf' Gleitkommazahlen größer als 1 sind. #20752 von Alek Lefebvre.
sklearn.linear_model#
Korrektur Verbessert die Stabilität von linear_model.LassoLars für verschiedene Versionen von openblas. #21340 von Thomas Fan.
Korrektur linear_model.LogisticRegression löst nun eine bessere Fehlermeldung aus, wenn der Solver keine dünnbesetzten Matrizen mit int64-Indizes unterstützt. #21093 von Tom Dupre la Tour.
sklearn.neighbors#
Korrektur neighbors.KNeighborsClassifier, neighbors.KNeighborsRegressor, neighbors.RadiusNeighborsClassifier, neighbors.RadiusNeighborsRegressor mit metric="precomputed" lösen einen Fehler für bsr- und dok-dünnbesetzte Matrizen in den Methoden fit, kneighbors und radius_neighbors aus, aufgrund der Handhabung von expliziten Nullen in bsr- und dok-Formaten von dünnbesetzten Graphen. #21199 von Thomas Fan.
sklearn.pipeline#
Korrektur pipeline.Pipeline.get_feature_names_out gibt Feature-Namen von einer Pipeline-Stufe an die nächste korrekt weiter. #21351 von Thomas Fan.
sklearn.svm#
Korrektur svm.SVC und svm.SVR prüfen auf Inkonsistenzen in ihrer internen Darstellung und lösen einen Fehler aus, anstatt einen Segfault zu verursachen. Dieser Fix behebt auch CVE-2020-28975. #21336 von Thomas Fan.
sklearn.utils#
Verbesserung utils.validation._check_sample_weight kann eine Prüfung auf Nicht-Negativität der Stichprobengewichte durchführen. Sie kann mit dem Bool-Parameter only_non_negative aktiviert werden. Schätzer, die auf nicht-negative Gewichte prüfen, wurden aktualisiert: linear_model.LinearRegression (hier war die vorherige Fehlermeldung irreführend), ensemble.AdaBoostClassifier, ensemble.AdaBoostRegressor, neighbors.KernelDensity. #20880 von Guillaume Lemaitre und András Simon.
Korrektur Ein Fehler in sklearn.utils.metaestimators.if_delegate_has_method wurde behoben, bei dem die zugrunde liegende Prüfung auf ein Attribut mit NumPy-Arrays nicht funktionierte. #21145 von Zahlii.
Sonstiges#
Korrektur Beim Trainieren eines Schätzers auf einem Datensatz ohne Feature-Namen, der zuvor auf einem Datensatz mit Feature-Namen trainiert wurde, werden die alten Feature-Namen, die im Attribut feature_names_in_ gespeichert sind, nicht mehr beibehalten. #21389 von Jérémie du Boisberranger.
Version 1.0.0#
September 2021
Minimale Abhängigkeiten#
Version 1.0.0 von scikit-learn erfordert Python 3.7+, NumPy 1.14.6+ und SciPy 1.1.0+. Optionale minimale Abhängigkeit ist Matplotlib 2.2.2+.
Erzwingen von Keyword-only-Argumenten#
Um eine klare und eindeutige Verwendung der Bibliothek zu fördern, müssen die meisten Konstruktor- und Funktionsparameter nun als Schlüsselwortargumente (d. h. unter Verwendung der Syntax param=value) anstelle von Positionsargumenten übergeben werden. Wenn ein Keyword-only-Parameter als Positionsargument verwendet wird, wird nun ein TypeError ausgelöst. #15005 #20002 von Joel Nothman, Adrin Jalali, Thomas Fan, Nicolas Hug und Tom Dupre la Tour. Weitere Details finden Sie in SLEP009.
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.
Korrektur manifold.TSNE vermeidet nun numerische Unterlaufprobleme bei der Berechnung der Affinitätsmatrix.
Korrektur manifold.Isomap verbindet nun getrennte Komponenten des Nachbarknotens entlang einiger minimaler Distanzpaare, anstatt alle unendlichen Distanzen in Nullen umzuwandeln.
Korrektur Das Teilungskriterium von tree.DecisionTreeClassifier und tree.DecisionTreeRegressor kann durch eine Korrektur bei der Behandlung von Rundungsfehlern beeinflusst werden. Zuvor konnten einige zusätzliche irreführende Teilungen auftreten.
Korrektur model_selection.train_test_split mit einem stratify-Parameter und model_selection.StratifiedShuffleSplit können zu leicht unterschiedlichen Ergebnissen führen.
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.)
Änderungsprotokoll#
API-Änderung Die Option zur Verwendung des quadratischen Fehlers über die Parameter loss und criterion wurde konsistenter gestaltet. Der bevorzugte Weg ist, den Wert auf "squared_error" zu setzen. Alte Optionsnamen sind weiterhin gültig, erzeugen die gleichen Modelle, sind aber veraltet und werden in Version 1.2 entfernt. #19310 von Christian Lorentzen.
Für ensemble.ExtraTreesRegressor ist criterion="mse" veraltet, verwenden Sie stattdessen "squared_error", was nun der Standard ist.
Für ensemble.GradientBoostingRegressor ist loss="ls" veraltet, verwenden Sie stattdessen "squared_error", was nun der Standard ist.
Für ensemble.RandomForestRegressor ist criterion="mse" veraltet, verwenden Sie stattdessen "squared_error", was nun der Standard ist.
Für ensemble.HistGradientBoostingRegressor ist loss="least_squares" veraltet, verwenden Sie stattdessen "squared_error", was nun der Standard ist.
Für linear_model.RANSACRegressor ist loss="squared_loss" veraltet, verwenden Sie stattdessen "squared_error".
Für linear_model.SGDRegressor ist loss="squared_loss" veraltet, verwenden Sie stattdessen "squared_error", was nun der Standard ist.
Für tree.DecisionTreeRegressor ist criterion="mse" veraltet, verwenden Sie stattdessen "squared_error", was nun der Standard ist.
Für tree.ExtraTreeRegressor ist criterion="mse" veraltet, verwenden Sie stattdessen "squared_error", was nun der Standard ist.
API-Änderung Die Option zur Verwendung des absoluten Fehlers über die Parameter loss und criterion wurde konsistenter gestaltet. Der bevorzugte Weg ist, den Wert auf "absolute_error" zu setzen. Alte Optionsnamen sind weiterhin gültig, erzeugen die gleichen Modelle, sind aber veraltet und werden in Version 1.2 entfernt. #19733 von Christian Lorentzen.
Für ensemble.ExtraTreesRegressor ist criterion="mae" veraltet, verwenden Sie stattdessen "absolute_error".
Für ensemble.GradientBoostingRegressor ist loss="lad" veraltet, verwenden Sie stattdessen "absolute_error".
Für
ensemble.RandomForestRegressoristcriterion="mae"veraltet, verwenden Sie stattdessen"absolute_error".Für
ensemble.HistGradientBoostingRegressoristloss="least_absolute_deviation"veraltet, verwenden Sie stattdessen"absolute_error".Für
linear_model.RANSACRegressoristloss="absolute_loss"veraltet, verwenden Sie stattdessen"absolute_error", was nun der Standard ist.Für
tree.DecisionTreeRegressoristcriterion="mae"veraltet, verwenden Sie stattdessen"absolute_error".Für
tree.ExtraTreeRegressoristcriterion="mae"veraltet, verwenden Sie stattdessen"absolute_error".
API Change Die Verwendung von
np.matrixist in Version 1.0 veraltet und löst in Version 1.2 einenTypeErroraus. #20165 von Thomas Fan.API Change get_feature_names_out wurde zur Transformer-API hinzugefügt, um die Namen der Ausgabemerkmale zu erhalten.
get_feature_namesist im Gegenzug veraltet. #18444 von Thomas Fan.API Change Alle Estimators speichern
feature_names_in_, wenn sie auf Pandas DataFrames trainiert werden. Diese Merkmalnamen werden mit den Namen verglichen, die in Nicht-fitMethoden, z. B.transform, gesehen werden, und lösen eineFutureWarningaus, wenn sie nicht konsistent sind, siehe auch Release Highlights für scikit-learn 1.0. DieseFutureWarnings werden in Version 1.2 zuValueErrors. #18010 von Thomas Fan.
sklearn.base#
Fix
config_contextist jetzt threadsicher. #18736 von Thomas Fan.
sklearn.calibration#
Feature
calibration.CalibrationDisplaywurde hinzugefügt, um Kalibrierungskurven zu plotten. #17443 von Lucy Liu.Fix Die Methoden
predictundpredict_probavoncalibration.CalibratedClassifierCVkönnen jetzt ordnungsgemäß auf bereits trainierte Pipelines angewendet werden. #19641 von Alek Lefebvre.Fix Behoben wurde ein Fehler bei der Verwendung eines
ensemble.VotingClassifieralsbase_estimatorincalibration.CalibratedClassifierCV. #20087 von Clément Fauchereau.
sklearn.cluster#
Efficiency Die Initialisierung
"k-means++"voncluster.KMeansundcluster.MiniBatchKMeansist jetzt schneller, insbesondere in Multi-Core-Umgebungen. #19002 von Jon Crall und Jérémie du Boisberranger.Efficiency
cluster.KMeansmitalgorithm='elkan'ist jetzt in Multi-Core-Umgebungen schneller. #19052 von Yusuke Nagasaka.Efficiency
cluster.MiniBatchKMeansist jetzt in Multi-Core-Umgebungen schneller. #17622 von Jérémie du Boisberranger.Efficiency
cluster.OPTICSkann nun die Ausgabe der Baum-Berechnung cachen, indem der Parametermemoryverwendet wird. #19024 von Frankie Robertson.Enhancement Die Methoden
predictundfit_predictvoncluster.AffinityPropagationakzeptieren jetzt den Sparse-Datentyp für Eingabedaten. #20117 von Venkatachalam NatchiappanFix Ein Fehler in
cluster.MiniBatchKMeanswurde behoben, bei dem die Stichprobengewichte teilweise ignoriert wurden, wenn die Eingabe spärlich war. #17622 von Jérémie du Boisberranger.Fix Die Konvergenzerkennung basierend auf der Änderung des Zentrums in
cluster.MiniBatchKMeans, die fast nie erreichbar war, wurde verbessert. #17622 von Jérémie du Boisberranger.Fix
cluster.AgglomerativeClusteringunterstützt jetzt schreibgeschützte speicherabgebildete Datensätze. #19883 von Julien Jerphanion.Fix
cluster.AgglomerativeClusteringverbindet Komponenten nun korrekt, wenn Konnektivität und Affinität beide vorab berechnet sind und die Anzahl der verbundenen Komponenten größer als 1 ist. #20597 von Thomas Fan.Fix
cluster.FeatureAgglomerationakzeptiert kein**paramskwarg mehr in derfitFunktion, was zu einer prägnanteren Fehlermeldung führt. #20899 von Adam Li.Fix Ein Fehler in
cluster.KMeanswurde behoben, um Reproduzierbarkeit und Äquivalenz zwischen spärlicher und dichter Eingabe zu gewährleisten. #20200 von Jérémie du Boisberranger.API Change Die Attribute
fit_undpartial_fit_voncluster.Birchsind veraltet und werden in Version 1.2 entfernt. #19297 von Thomas Fan.API Change Der Standardwert für den Parameter
batch_sizevoncluster.MiniBatchKMeanswurde aus Effizienzgründen von 100 auf 1024 geändert. Das Attributn_iter_voncluster.MiniBatchKMeansmeldet nun die Anzahl der gestarteten Epochen und das Attributn_steps_meldet die Anzahl der verarbeiteten Mini-Batches. #17622 von Jérémie du Boisberranger.API Change
cluster.spectral_clusteringlöst eine verbesserte Fehlermeldung aus, wenn einnp.matrixübergeben wird. #20560 von Thomas Fan.
sklearn.compose#
Enhancement
compose.ColumnTransformerzeichnet nun die Ausgabe jedes Transformers inoutput_indices_auf. #18393 von Luca Bittarello.Enhancement
compose.ColumnTransformererlaubt nun, dass Spalten von DataFrame-Eingaben intransformin einer anderen Reihenfolge erscheinen. Weiterhin müssen Spalten, die gelöscht werden, in transform nicht vorhanden sein, und zusätzliche Spalten werden ignoriert, wennremainder='drop'gesetzt ist. #19263 von Thomas Fan.Enhancement Fügt das Schlüsselwortargument
**predict_paramszucompose.TransformedTargetRegressor.predicthinzu, das Schlüsselwortargumente an den Regressor weiterleitet. #19244 von Ricardo.Fix
compose.ColumnTransformer.get_feature_namesunterstützt nicht-Zeichenketten-Merkmalnamen, die von einem seiner Transformer zurückgegeben werden. Beachten Sie jedoch, dassget_feature_namesveraltet ist, verwenden Sie stattdessenget_feature_names_out. #18459 von Albert Villanova del Moral und Alonso Silva Allende.Fix
compose.TransformedTargetRegressornimmt jetzt nD-Ziele mit einem geeigneten Transformer entgegen. #18898 von Oras Phongpanagnam.API Change Fügt
verbose_feature_names_outzucompose.ColumnTransformerhinzu. Dieses Flag steuert das Präfixieren von Ausgabemerkmalsnamen in get_feature_names_out. #18444 und #21080 von Thomas Fan.
sklearn.covariance#
Fix Prüfungen auf Arrays wurden zu
covariance.ledoit_wolfundcovariance.ledoit_wolf_shrinkagehinzugefügt. #20416 von Hugo Defois.API Change Die folgenden Schlüssel in
cv_results_sind veraltet:'mean_score','std_score'und'split(k)_score'zugunsten von'mean_test_score''std_test_score'und'split(k)_test_score'. #20583 von Thomas Fan.
sklearn.datasets#
Enhancement
datasets.fetch_openmlunterstützt nun Kategorien mit fehlenden Werten, wenn ein Pandas-DataFrame zurückgegeben wird. #19365 von Thomas Fan und Amanda Dsouza und EL-ATEIF Sara.Enhancement
datasets.fetch_kddcup99löst eine bessere Nachricht aus, wenn die zwischengespeicherte Datei ungültig ist. #19669 Thomas Fan.Enhancement Verwendet
importlib.resourcesanstelle von__file__-bezogener E/A von Ressourcendateien, um die Annahme zu vermeiden, dass diese Ressourcendateien (z. B.iris.csv) bereits auf einem Dateisystem existieren, und um die Kompatibilität mit Tools wiePyOxidizerzu ermöglichen. #20297 von Jack Liu.Fix Dateinamen von Datensätzen in den OpenML-Tests wurden gekürzt, um die Installation unter Windows und die dort standardmäßig geltende Längenbegrenzung von 260 Zeichen für Dateinamen besser zu unterstützen. #20209 von Thomas Fan.
Fix
datasets.fetch_kddcup99gibt DataFrames zurück, wennreturn_X_y=Trueundas_frame=Truegesetzt sind. #19011 von Thomas Fan.API Change
datasets.load_bostonist in Version 1.0 veraltet und wird in Version 1.2 entfernt. Alternative Codebeispiele zum Laden ähnlicher Datensätze werden bereitgestellt. Details finden Sie in der Dokumentation der Funktion. #20729 von Guillaume Lemaitre.
sklearn.decomposition#
Enhancement Ein neuer approximativer Solver (randomisierte SVD, verfügbar mit
eigen_solver='randomized') wurde zudecomposition.KernelPCAhinzugefügt. Dies beschleunigt die Berechnung erheblich, wenn die Anzahl der Stichproben viel größer ist als die gewünschte Anzahl von Komponenten. #12069 von Sylvain Marié.Fix Behoben wurden inkorrekte Warnungen bei der Mehrfachkonvertierung von Daten beim Clustering von booleschen Daten. #19046 von Surya Prakash.
Fix
decomposition.dict_learning, das vondecomposition.DictionaryLearningverwendet wird, wurde korrigiert, um die Determinismus der Ausgabe zu gewährleisten. Dies wurde durch das Umdrehen der Vorzeichen der SVD-Ausgabe erreicht, die zur Initialisierung des Codes verwendet wird. #18433 von Bruno Charron.Fix Ein Fehler in
decomposition.MiniBatchDictionaryLearning,decomposition.MiniBatchSparsePCAunddecomposition.dict_learning_onlinewurde behoben, bei dem die Aktualisierung des Wörterbuchs fehlerhaft war. #19198 von Jérémie du Boisberranger.Fix Ein Fehler in
decomposition.DictionaryLearning,decomposition.SparsePCA,decomposition.MiniBatchDictionaryLearning,decomposition.MiniBatchSparsePCA,decomposition.dict_learningunddecomposition.dict_learning_onlinewurde behoben, bei dem das Neustarten ungenutzter Atome während der Wörterbuchaktualisierung nicht wie erwartet funktionierte. #19198 von Jérémie du Boisberranger.API Change In
decomposition.DictionaryLearning,decomposition.MiniBatchDictionaryLearning,decomposition.dict_learningunddecomposition.dict_learning_onlineisttransform_alphaab Version 1.2 standardmäßig gleichalphaanstelle von 1.0. #19159 von Benoît Malézieux.API Change Variablennamen in
decomposition.KernelPCAwurden zur Verbesserung der Lesbarkeit umbenannt.lambdas_undalphas_werden ineigenvalues_bzw.eigenvectors_umbenannt.lambdas_undalphas_sind veraltet und werden in Version 1.2 entfernt. #19908 von Kei Ishikawa.API Change Die Parameter
alphaundregularizationvondecomposition.NMFunddecomposition.non_negative_factorizationsind veraltet und werden in Version 1.2 entfernt. Verwenden Sie stattdessen die neuen Parameteralpha_Wundalpha_H. #20512 von Jérémie du Boisberranger.
sklearn.dummy#
API Change Das Attribut
n_features_in_indummy.DummyRegressorunddummy.DummyRegressorist veraltet und wird in Version 1.2 entfernt. #20960 von Thomas Fan.
sklearn.ensemble#
Enhancement
HistGradientBoostingClassifierundHistGradientBoostingRegressorberücksichtigen cgroup-Quoten bei der Entscheidung über die Anzahl der von OpenMP verwendeten Threads. Dies vermeidet Leistungsprobleme, die durch Überbelegung verursacht werden, wenn diese Klassen beispielsweise in einem Docker-Container verwendet werden. #20477 von Thomas Fan.Enhancement
HistGradientBoostingClassifierundHistGradientBoostingRegressorsind nicht mehr experimentell. Sie gelten jetzt als stabil und unterliegen denselben Deprecation-Zyklen wie alle anderen Estimators. #19799 von Nicolas Hug.Verbesserung Verbesserung des HTML-Renderings von
ensemble.StackingClassifierundensemble.StackingRegressor. #19564 von Thomas Fan.Verbesserung Poisson-Kriterium zu
ensemble.RandomForestRegressorhinzugefügt. #19836 von Brian Sun.Korrektur Nicht zulassen, dass Out-of-Bag (OOB) Score in
ensemble.RandomForestClassifierundensemble.ExtraTreesClassifiermit Multiklassen-Multioutput-Ziel berechnet wird, da scikit-learn keine Metrik bereitstellt, die diesen Zieltyp unterstützt. Zusätzliches privates Refactoring wurde durchgeführt. #19162 von Guillaume Lemaitre.Korrektur Verbesserung der numerischen Präzision für Gewichts-Boosting in
ensemble.AdaBoostClassifierundensemble.AdaBoostRegressorzur Vermeidung von Unterläufen. #10096 von Fenil Suchak.Korrektur Der Bereich des Arguments
max_sampleswurde inensemble.RandomForestClassifier,ensemble.RandomForestRegressorauf(0.0, 1.0]korrigiert, wobeimax_samples=1.0als Verwendung allern_samplesfür das Bootstrapping interpretiert wird. #20159 von @murata-yu.Korrektur Ein Fehler in
ensemble.AdaBoostClassifierundensemble.AdaBoostRegressorbehoben, bei dem der Parametersample_weightwährend desfitüberschrieben wurde. #20534 von Guillaume Lemaitre.API-Änderung Entfernt die Option
tol=Noneinensemble.HistGradientBoostingClassifierundensemble.HistGradientBoostingRegressor. Bitte verwenden Sietol=0für dasselbe Verhalten. #19296 von Thomas Fan.
sklearn.feature_extraction#
Korrektur Ein Fehler in
feature_extraction.text.HashingVectorizerbehoben, bei dem einige Eingabezeichenfolgen zu negativen Indizes in den transformierten Daten führten. #19035 von Liu Yu.Korrektur Ein Fehler in
feature_extraction.DictVectorizerbehoben, indem bei nicht unterstützten Werttypen ein Fehler ausgelöst wird. #19520 von Jeff Zhao.Korrektur Ein Fehler in
feature_extraction.image.img_to_graphundfeature_extraction.image.grid_to_graphbehoben, bei denen Einzelfeld-verbundene Komponenten nicht ordnungsgemäß behandelt wurden, was zu einer falschen Scheitelpunktindizierung führte. #18964 von Bertrand Thirion.Korrektur In
feature_extraction.text.CountVectorizermitlowercase=Truewird eine Warnung ausgegeben, wenn Vokabulareinträge mit Großbuchstaben vorhanden sind, um stillschweigende Fehler in den resultierenden Merkmalsvektoren zu vermeiden. #19401 von Zito Relova
sklearn.feature_selection#
Merkmal
feature_selection.r_regressionberechnet Pearson’s R-Korrelationskoeffizienten zwischen den Merkmalen und dem Ziel. #17169 von Dmytro Lituiev und Julien Jerphanion.Verbesserung
feature_selection.RFE.fitakzeptiert zusätzliche Schätzerparameter, die direkt an diefit-Methode des Schätzers übergeben werden. #20380 von Iván Pulido, Felipe Bidu, Gil Rutter und Adrin Jalali.Korrektur Behebung eines Fehlers in
isotonic.isotonic_regression, bei dem die vom Benutzer übergebenensample_weightwährendfitüberschrieben wurden. #20515 von Carsten Allefeld.Korrektur
feature_selection.SequentialFeatureSelectorwurde geändert, um unüberwachtes Modellieren zu ermöglichen, sodass diefit-Signatur keiney-Validierung durchführen muss undy=Nonezulässt. #19568 von Shyam Desai.API-Änderung Löst in
feature_selection.VarianceThresholdeine Warnung aus, wenn die Varianzschwelle negativ ist. #20207 von Tomohiro EndoAPI-Änderung
grid_scores_wird zugunsten von Split-Scores incv_results_infeature_selection.RFECVals veraltet markiert.grid_scores_wird in Version 1.2 entfernt. #20161 von Shuhei Kayawari und @arka204.
sklearn.inspection#
Verbesserung Parameter
max_samplesininspection.permutation_importancehinzugefügt. Er ermöglicht das Ziehen einer Teilmenge der Stichproben zur Berechnung der Permutationswichtigkeit. Dies ist nützlich, um die Methode bei der Auswertung der Merkmalswichtigkeit auf großen Datensätzen handhabbar zu halten. #20431 von Oliver Pfaffel.Verbesserung kwargs zum separaten Formatieren von ICE- und PD-Linien in Partial Dependence Plots
inspection.plot_partial_dependenceundinspection.PartialDependenceDisplay.plothinzugefügt. #19428 von Mehdi Hamoumi.Korrektur Ermöglicht die Eingabe mehrerer Scorer an
inspection.permutation_importance. #19411 von Simona Maggio.API-Änderung
inspection.PartialDependenceDisplaystellt eine Klassenmethode bereit:from_estimator.inspection.plot_partial_dependencewird zugunsten der Klassenmethode als veraltet markiert und in 1.2 entfernt. #20959 von Thomas Fan.
sklearn.kernel_approximation#
Korrektur Ein Fehler in
kernel_approximation.Nystroembehoben, bei dem das Attributcomponent_indices_nicht mit der Teilmenge der Stichprobenindizes übereinstimmte, die zur Generierung des approximierten Kernels verwendet wurde. #20554 von Xiangyin Kong.
sklearn.linear_model#
Hauptmerkmal
linear_model.QuantileRegressorhinzugefügt, der lineare Quantilregression mit L1-Strafe implementiert. #9978 von David Dale und Christian Lorentzen.Merkmal Die neue
linear_model.SGDOneClassSVMbietet eine SGD-Implementierung des linearen One-Class SVM. In Kombination mit Kernel-Approximationstechniken approximiert diese Implementierung die Lösung eines kernelisierten One-Class SVM, während sie von einer linearen Komplexität in Bezug auf die Anzahl der Stichproben profitiert. #10027 von Albert Thomas.Merkmal Parameter
sample_weightzulinear_model.LassoCVundlinear_model.ElasticNetCVhinzugefügt. #16449 von Christian Lorentzen.Merkmal Neuer Solver
lbfgs(verfügbar mitsolver="lbfgs") und Argumentpositivezulinear_model.Ridgehinzugefügt. WennpositiveaufTruegesetzt ist, werden die Koeffizienten gezwungen, positiv zu sein (nur unterstützt vonlbfgs). #20231 von Toshihiro Nakae.Effizienz Die Implementierung von
linear_model.LogisticRegressionwurde für dichte Matrizen optimiert, wennsolver='newton-cg'undmulti_class!='multinomial'verwendet werden. #19571 von Julien Jerphanion.Verbesserung Die Methode
fitbehält den dtype für numpy.float32 inlinear_model.Lars,linear_model.LassoLars,linear_model.LassoLars,linear_model.LarsCVundlinear_model.LassoLarsCVbei. #20155 von Takeshi Oura.Verbesserung Validierung der vom Benutzer bereitgestellten Gram-Matrix, die über das Argument
precomputean lineare Modelle übergeben wird. #19004 von Adam Midvidy.Korrektur
linear_model.ElasticNet.fitmodifiziertsample_weightnicht mehr in-place. #19055 von Thomas Fan.Korrektur
linear_model.Lassoundlinear_model.ElasticNethaben keinedual_gap_mehr, die nicht ihrem Ziel entspricht. #19172 von Mathurin MassiasKorrektur
sample_weightwird nun vollständig in linearen Modellen berücksichtigt, wennnormalize=Truefür sowohl die Zentrierung als auch die Skalierung der Merkmale verwendet wird. #19426 von Alexandre Gramfort und Maria Telenczuk.Korrektur Punkte mit Residuen, die gleich
residual_thresholdsind, werden nun fürlinear_model.RANSACRegressorals Inlier betrachtet. Dies ermöglicht die perfekte Anpassung eines Modells an einige Datensätze, wennresidual_threshold=0ist. #19499 von Gregory Strubel.Korrektur Die Invarianz des Stichprobengewichts für
linear_model.Ridgewurde in #19616 von Oliver Grisel und Christian Lorentzen korrigiert.Korrektur Das Wörterbuch
paramsinlinear_model.enet_pathundlinear_model.lasso_pathsollte nur Parameter des Coordinate-Descent-Solvers enthalten. Andernfalls wird ein Fehler ausgelöst. #19391 von Shao Yang Hong.API-Änderung Löst in
linear_model.RANSACRegressoreine Warnung aus, dass ab Version 1.2min_samplesfür andere Modelle alslinear_model.LinearRegressionexplizit gesetzt werden muss. #19390 von Shao Yang Hong.API-Änderung: Der Parameter
normalizevonlinear_model.LinearRegressionist veraltet und wird in 1.2 entfernt. Motivation für diese Veralterung: Der Parameternormalizehatte keine Auswirkung, wennfit_interceptauf False gesetzt war und war daher als verwirrend empfunden worden. Das Verhalten des veraltetenLinearModel(normalize=True)kann mit einerPipelinemitLinearModel(wobeiLinearModelLinearRegression,Ridge,RidgeClassifier,RidgeCVoderRidgeClassifierCVist) reproduziert werden, wie folgt:make_pipeline(StandardScaler(with_mean=False), LinearModel()). Der ParameternormalizeinLinearRegressionwurde in #17743 von Maria Telenczuk und Alexandre Gramfort als veraltet markiert. Dasselbe gilt fürRidge,RidgeClassifier,RidgeCVundRidgeClassifierCV, in: #17772 von Maria Telenczuk und Alexandre Gramfort. Dasselbe gilt fürBayesianRidge,ARDRegressionin: #17746 von Maria Telenczuk. Dasselbe gilt fürLasso,LassoCV,ElasticNet,ElasticNetCV,MultiTaskLasso,MultiTaskLassoCV,MultiTaskElasticNet,MultiTaskElasticNetCV, in: #17785 von Maria Telenczuk und Alexandre Gramfort.API-Änderung Der Parameter
normalizevonOrthogonalMatchingPursuitundOrthogonalMatchingPursuitCVwird in Version 1.2 auf False gesetzt und in Version 1.4 entfernt. #17750 von Maria Telenczuk und Alexandre Gramfort. Dasselbe gilt fürLarsLarsCVLassoLarsLassoLarsCVLassoLarsIC, in #17769 von Maria Telenczuk und Alexandre Gramfort.API-Änderung Die Schlüsselwortprüfung wurde von
__init__undset_paramsnachfitfür die folgenden Schätzer verschoben, die den Konventionen von scikit-learn entsprechen:SGDClassifier,SGDRegressor,SGDOneClassSVM,PassiveAggressiveClassifierundPassiveAggressiveRegressor. #20683 von Guillaume Lemaitre.
sklearn.manifold#
Verbesserung Implementierung der
'auto'Heuristik für dielearning_rateinmanifold.TSNE. Sie wird in Version 1.2 zum Standard. Die Standardinitialisierung wird in Version 1.2 aufpcageändert. Die PCA-Initialisierung wird in Version 1.2 auf eine Standardabweichung von 1e-4 skaliert. #19491 von Dmitry Kobak.Fix Numerische Präzision geändert, um Unterlaufprobleme bei der Berechnung der Affinitätsmatrix für
manifold.TSNEzu verhindern. #19472 von Dmitry Kobak.Fix
manifold.Isomapverwendet nunscipy.sparse.csgraph.shortest_pathzur Berechnung des kürzesten Pfades im Graphen. Außerdem werden getrennte Komponenten des Nachbargraphen über einige minimale Distanzpaare verbunden, anstatt alle unendlichen Distanzen auf Null zu setzen. #20531 von Roman Yurchak und Tom Dupre la Tour.Fix Die numerische Standardtoleranz im lobpcg-Aufruf in
manifold.spectral_embeddingwurde reduziert, um numerische Instabilität zu verhindern. #21194 von Andrew Knyazev.
sklearn.metrics#
Feature
metrics.mean_pinball_lossexponiert den Pinball-Verlust für die Quantilregression. #19415 von Xavier Dupré und Oliver Grisel.Feature
metrics.d2_tweedie_scoreberechnet den D^2-Regressionsscore für Tweedie-Devianzen mit dem Potenzparameterpower. Dies ist eine Verallgemeinerung desr2_scoreund kann als prozentual erklärter Tweedie-Devianz interpretiert werden. #17036 von Christian Lorentzen.Feature
metrics.mean_squared_log_errorunterstützt nunsquared=False. #20326 von Uttam Kumar.Effizienz Verbessertes Tempo von
metrics.confusion_matrix, wenn Labels ganzzahlig sind. #9843 von Jon Crall.Verbesserung Eine Korrektur zur Auslösung eines Fehlers in
metrics.hinge_loss, wennpred_decision1D ist, aber eine Multiklassenklassifizierung vorliegt, oder wenn der Parameterpred_decisionnicht mit dem Parameterlabelsübereinstimmt. #19643 von Pierre Attard.Fix
metrics.ConfusionMatrixDisplay.plotverwendet den korrekten Maximalwert für die Colormap. #19784 von Thomas Fan.Fix Stichproben mit Nullwerten für
sample_weightbeeinflussen die Ergebnisse vonmetrics.det_curve,metrics.precision_recall_curveundmetrics.roc_curvenicht. #18328 von Albert Villanova del Moral und Alonso Silva Allende.Fix Überlauf bei
metrics.adjusted_rand_scoremit großer Datenmenge vermieden. #20312 von Divyanshu Deoli.API-Änderung
metrics.ConfusionMatrixDisplayexponiert zwei Klassenmethodenfrom_estimatorundfrom_predictions, die die Erstellung eines Konfusionsmatrixdiagramms mit einem Schätzer oder den Vorhersagen ermöglichen.metrics.plot_confusion_matrixist zugunsten dieser beiden Klassenmethoden veraltet und wird in Version 1.2 entfernt. #18543 von Guillaume Lemaitre.API-Änderung
metrics.PrecisionRecallDisplayexponiert zwei Klassenmethodenfrom_estimatorundfrom_predictions, die die Erstellung einer Precision-Recall-Kurve mit einem Schätzer oder den Vorhersagen ermöglichen.metrics.plot_precision_recall_curveist zugunsten dieser beiden Klassenmethoden veraltet und wird in Version 1.2 entfernt. #20552 von Guillaume Lemaitre.API-Änderung
metrics.DetCurveDisplayexponiert zwei Klassenmethodenfrom_estimatorundfrom_predictions, die die Erstellung eines Konfusionsmatrixdiagramms mit einem Schätzer oder den Vorhersagen ermöglichen.metrics.plot_det_curveist zugunsten dieser beiden Klassenmethoden veraltet und wird in Version 1.2 entfernt. #19278 von Guillaume Lemaitre.
sklearn.mixture#
Fix Sicherstellung, dass die besten Parameter im Falle von Divergenz für
mixture.GaussianMixtureundmixture.BayesianGaussianMixturekorrekt gesetzt werden. #20030 von Tingshan Liu und Benjamin Pedigo.
sklearn.model_selection#
Feature Hinzugefügt wurde
model_selection.StratifiedGroupKFold, dasmodel_selection.StratifiedKFoldundmodel_selection.GroupKFoldkombiniert und die Möglichkeit bietet, Daten so aufzuteilen, dass die Verteilung der Klassen in jeder Aufteilung erhalten bleibt, während jede Gruppe innerhalb einer einzigen Aufteilung bleibt. #18649 von Leandro Hermida und Rodion Martynov.Verbesserung Warnung nur einmal im Hauptprozess für fehlgeschlagene Splittrainings in der Kreuzvalidierung. #20619 von Loïc Estève
Verbesserung Die Basisklasse
model_selection.BaseShuffleSplitist nun öffentlich. #20056 von @pabloduque0.Fix Vermeidung von vorzeitigem Überlauf in
model_selection.train_test_split. #20904 von Tomasz Jakubek.
sklearn.naive_bayes#
Fix Die Methoden
fitundpartial_fitder diskreten Naive-Bayes-Klassifikatoren (naive_bayes.BernoulliNB,naive_bayes.CategoricalNB,naive_bayes.ComplementNBundnaive_bayes.MultinomialNB) behandeln nun korrekt den degenerierten Fall einer einzelnen Klasse im Trainingsdatensatz. #18925 von David Poznik.API-Änderung Das Attribut
sigma_ist nun innaive_bayes.GaussianNBveraltet und wird in Version 1.2 entfernt. Verwenden Sie stattdessenvar_. #18842 von Hong Shao Yang.
sklearn.neighbors#
Verbesserung Die Erstellung von
neighbors.KDTreeundneighbors.BallTreewurde hinsichtlich ihrer Worst-Case-Zeitkomplexität von \(\mathcal{O}(n^2)\) auf \(\mathcal{O}(n)\) verbessert. #19473 von jiefangxuanyan und Julien Jerphanion.Fix Unterklassen von
neighbors.DistanceMetricunterstützen nun schreibgeschützte Memory-Mapped-Datensätze. #19883 von Julien Jerphanion.Fix
neighbors.NearestNeighbors,neighbors.KNeighborsClassifier,neighbors.RadiusNeighborsClassifier,neighbors.KNeighborsRegressorundneighbors.RadiusNeighborsRegressorvalidierenweightsnicht in__init__und validierenweightsstattdessen infit. #20072 von Juan Carlos Alfaro Jiménez.API-Änderung Der Parameter
kwargsvonneighbors.RadiusNeighborsClassifierist veraltet und wird in Version 1.2 entfernt. #20842 von Juan Martín Loyola.
sklearn.neural_network#
Fix
neural_network.MLPClassifierundneural_network.MLPRegressorunterstützen nun korrekt das fortgesetzte Training beim Laden aus einer gepickten Datei. #19631 von Thomas Fan.
sklearn.pipeline#
API-Änderung Die Methoden
predict_probaundpredict_log_probader Klassepipeline.Pipelineunterstützen nun die Übergabe von Vorhersage-kwargs an den finalen Schätzer. #19790 von Christopher Flynn.
sklearn.preprocessing#
Feature Das neue
preprocessing.SplineTransformerist ein Werkzeug zur Vorverarbeitung von Merkmalen zur Generierung von B-Splines, parametrisiert durch den Polynomgraddegreeder Splines, die Anzahl der Knotenn_knotsund die Strategie zur Positionierung der Knotenknots. #18368 von Christian Lorentzen.preprocessing.SplineTransformerunterstützt auch periodische Splines über das Argumentextrapolation. #19483 von Malte Londschien.preprocessing.SplineTransformerunterstützt Stichprobengewichte für die Strategie zur Positionierung der Knoten"quantile". #20526 von Malte Londschien.Feature
preprocessing.OrdinalEncoderunterstützt standardmäßig das Durchreichen fehlender Werte. #19069 von Thomas Fan.Feature
preprocessing.OneHotEncoderunterstützt nunhandle_unknown='ignore'und das Weglassen von Kategorien. #19041 von Thomas Fan.Feature
preprocessing.PolynomialFeaturesunterstützt nun die Übergabe eines Tupels andegree, d. h.degree=(min_degree, max_degree). #20250 von Christian Lorentzen.Effizienz
preprocessing.StandardScalerist schneller und speichereffizienter. #20652 von Thomas Fan.Effizienz Das Argument
algorithmfürcluster.KMeansinpreprocessing.KBinsDiscretizerwurde vonautoauffullgeändert. #19934 von Hleb Levitski.Effizienz Die Implementierung von
fitfür den Transformerpreprocessing.PolynomialFeaturesist nun schneller. Dies ist besonders bei großen dünn besetzten Eingaben bemerkbar. #19734 von Fred Robinson.Fix Die Methode
preprocessing.StandardScaler.inverse_transformlöst nun einen Fehler aus, wenn die Eingabedaten 1D sind. #19752 von Zhehao Liu.Fix
preprocessing.scale,preprocessing.StandardScalerund ähnliche Skalierer erkennen fast konstante Merkmale, um zu vermeiden, dass diese auf sehr große Werte skaliert werden. Dieses Problem tritt insbesondere auf, wenn ein Skalierer auf dünn besetzten Daten mit einer konstanten Spalte und Stichprobengewichten verwendet wird, wobei die Zentrierung typischerweise deaktiviert ist. #19527 von Oliver Grisel und Maria Telenczuk und #19788 von Jérémie du Boisberranger.Fix
preprocessing.StandardScaler.inverse_transformbehandelt nun ganzzahlige Datentypen korrekt. #19356 von @makoeppel.Fix
preprocessing.OrdinalEncoder.inverse_transformunterstützt keine dünn besetzten Matrizen und gibt die entsprechende Fehlermeldung aus. #19879 von Guillaume Lemaitre.Fix Die Methode
fitvonpreprocessing.OrdinalEncoderlöst keinen Fehler aus, wennhandle_unknown='ignore'und unbekannte Kategorien anfitübergeben werden. #19906 von Zhehao Liu.Fix Behebung eines Rückschritts in
preprocessing.OrdinalEncoder, bei dem große Python-Zahlen aufgrund von Überlauf einen Fehler auslösten, wenn sie in einen C-Typ (np.float64odernp.int64) umgewandelt wurden. #20727 von Guillaume Lemaitre.Fix
preprocessing.FunctionTransformersetztn_features_in_nicht basierend auf der Eingabe fürinverse_transform. #20961 von Thomas Fan.API-Änderung Das Attribut
n_input_features_vonpreprocessing.PolynomialFeaturesist zugunsten vonn_features_in_veraltet und wird in Version 1.2 entfernt. #20240 von Jérémie du Boisberranger.
sklearn.svm#
API-Änderung Der Parameter
**paramsvonsvm.OneClassSVM.fitist veraltet und wird in Version 1.2 entfernt. #20843 von Juan Martín Loyola.
sklearn.tree#
Verbesserung Fügt das Argument
fontnamezutree.export_graphvizfür Nicht-Englisch-Zeichen hinzu. #18959 von Zero und wstates.Fehlerbehebung Verbessert die Kompatibilität von
tree.plot_treemit hochauflösenden Bildschirmen. #20023 von Thomas Fan.Fehlerbehebung Behebt einen Fehler in
tree.DecisionTreeClassifierundtree.DecisionTreeRegressor, bei dem ein Knoten aufgeteilt werden konnte, obwohl dies aufgrund falscher Behandlung von Rundungsfehlern nicht hätte geschehen dürfen. #19336 von Jérémie du Boisberranger.API-Änderung Das Attribut
n_features_vontree.DecisionTreeClassifier,tree.DecisionTreeRegressor,tree.ExtraTreeClassifierundtree.ExtraTreeRegressorist veraltet zugunsten vonn_features_in_und wird in 1.2 entfernt. #20272 von Jérémie du Boisberranger.
sklearn.utils#
Verbesserung Der Standardwert
random_state=0inrandomized_svdwurde als veraltet markiert. Ab 1.2 wird der Standardwert vonrandom_stateaufNonegesetzt. #19459 von Cindy Bezuidenhout und Clifford Akai-Nettey.Verbesserung Der Hilfsdecorator
utils.metaestimators.available_ifwurde hinzugefügt, um Metaestimatoren mehr Flexibilität zu verleihen, Methoden auf Basis ihres Zustands auf lesbarere Weise verfügbar oder nicht verfügbar zu machen. #19948 von Joel Nothman.Verbesserung
utils.validation.check_is_fittedverwendet nun__sklearn_is_fitted__, falls verfügbar, anstatt nach Attributen zu suchen, die mit einem Unterstrich enden. Dies bewirkt auch, dasspipeline.Pipelineundpreprocessing.FunctionTransformercheck_is_fitted(estimator)passieren. #20657 von Adrin Jalali.Fehlerbehebung Behebt einen Fehler in
utils.sparsefuncs.mean_variance_axis, bei dem die Präzision der berechneten Varianz sehr schlecht war, wenn die tatsächliche Varianz exakt Null war. #19766 von Jérémie du Boisberranger.Fehlerbehebung Die Docstrings von Eigenschaften, die mit
utils.deprecateddekoriert sind, werden jetzt ordnungsgemäß umschlossen. #20385 von Thomas Fan.Fehlerbehebung
utils.stats._weighted_percentileignoriert nun korrekt Null-gewichtete Beobachtungen, die kleiner sind als die kleinste Beobachtung mit positivem Gewicht fürpercentile=0. Betroffene Klassen sinddummy.DummyRegressorfürquantile=0undensemble.HuberLossFunctionundensemble.HuberLossFunctionfüralpha=0. #20528 von Malte Londschien.Fehlerbehebung
utils._safe_indexingnimmt explizit eine Kopie des DataFrames vor, wenn ganzzahlige Indizes bereitgestellt werden, um eine Warnung von Pandas zu vermeiden. Diese Warnung wurde zuvor in Wiederholungs-Dienstprogrammen und Funktionen, die diese verwenden (z. B.model_selection.train_test_split,model_selection.cross_validate,model_selection.cross_val_score,model_selection.cross_val_predict) ausgelöst. #20673 von Joris Van den Bossche.Fehlerbehebung Behebt eine Regression in
utils.is_scalar_nan, bei der große Python-Zahlen aufgrund eines Überlaufs bei C-Typen (np.float64odernp.int64) einen Fehler verursachten. #20727 von Guillaume Lemaitre.Fehlerbehebung Die Unterstützung für
np.matrixist in Version 1.0 incheck_arrayals veraltet markiert und wird in Version 1.2 einenTypeErrorauslösen. #20165 von Thomas Fan.API-Änderung
utils._testing.assert_warnsundutils._testing.assert_warns_messagesind in Version 1.0 als veraltet markiert und werden in Version 1.2 entfernt. Verwenden Sie stattdessen den Kontextmanagerpytest.warns. Beachten Sie, dass diese Funktionen nicht dokumentiert waren und nicht Teil der öffentlichen API waren. #20521 von Olivier Grisel.API-Änderung Mehrere Fehler in
utils.graph.graph_shortest_pathwurden behoben. Diese Funktion ist nun veraltet. Verwenden Sie stattdessenscipy.sparse.csgraph.shortest_path. #20531 von Tom Dupre la Tour.
Code- und Dokumentationsbeitragende
Vielen Dank an alle, die seit Version 0.24 zur Wartung und Verbesserung des Projekts beigetragen haben, darunter
Abdulelah S. Al Mesfer, Abhinav Gupta, Adam J. Stewart, Adam Li, Adam Midvidy, Adrian Garcia Badaracco, Adrian Sadłocha, Adrin Jalali, Agamemnon Krasoulis, Alberto Rubiales, Albert Thomas, Albert Villanova del Moral, Alek Lefebvre, Alessia Marcolini, Alexandr Fonari, Alihan Zihna, Aline Ribeiro de Almeida, Amanda, Amanda Dsouza, Amol Deshmukh, Ana Pessoa, Anavelyz, Andreas Mueller, Andrew Delong, Ashish, Ashvith Shetty, Atsushi Nukariya, Aurélien Geron, Avi Gupta, Ayush Singh, baam, BaptBillard, Benjamin Pedigo, Bertrand Thirion, Bharat Raghunathan, bmalezieux, Brian Rice, Brian Sun, Bruno Charron, Bryan Chen, bumblebee, caherrera-meli, Carsten Allefeld, CeeThinwa, Chiara Marmo, chrissobel, Christian Lorentzen, Christopher Yeh, Chuliang Xiao, Clément Fauchereau, cliffordEmmanuel, Conner Shen, Connor Tann, David Dale, David Katz, David Poznik, Dimitri Papadopoulos Orfanos, Divyanshu Deoli, dmallia17, Dmitry Kobak, DS_anas, Eduardo Jardim, EdwinWenink, EL-ATEIF Sara, Eleni Markou, EricEllwanger, Eric Fiegel, Erich Schubert, Ezri-Mudde, Fatos Morina, Felipe Rodrigues, Felix Hafner, Fenil Suchak, flyingdutchman23, Flynn, Fortune Uwha, Francois Berenger, Frankie Robertson, Frans Larsson, Frederick Robinson, frellwan, Gabriel S Vicente, Gael Varoquaux, genvalen, Geoffrey Thomas, geroldcsendes, Hleb Levitski, Glen, Glòria Macià Muñoz, gregorystrubel, groceryheist, Guillaume Lemaitre, guiweber, Haidar Almubarak, Hans Moritz Günther, Haoyin Xu, Harris Mirza, Harry Wei, Harutaka Kawari, Hassan Alsawadi, Helder Geovane Gomes de Lima, Hugo DEFOIS, Igor Ilic, Ikko Ashimine, Isaack Mungui, Ishaan Bhat, Ishan Mishra, Iván Pulido, iwhalvic, J Alexander, Jack Liu, James Alan Preiss, James Budarz, James Lamb, Jannik, Jeff Zhao, Jennifer Maldonado, Jérémie du Boisberranger, Jesse Lima, Jianzhu Guo, jnboehm, Joel Nothman, JohanWork, John Paton, Jonathan Schneider, Jon Crall, Jon Haitz Legarreta Gorroño, Joris Van den Bossche, José Manuel Nápoles Duarte, Juan Carlos Alfaro Jiménez, Juan Martin Loyola, Julien Jerphanion, Julio Batista Silva, julyrashchenko, JVM, Kadatatlu Kishore, Karen Palacio, Kei Ishikawa, kmatt10, kobaski, Kot271828, Kunj, KurumeYuta, kxytim, lacrosse91, LalliAcqua, Laveen Bagai, Leonardo Rocco, Leonardo Uieda, Leopoldo Corona, Loic Esteve, LSturtew, Luca Bittarello, Luccas Quadros, Lucy Jiménez, Lucy Liu, ly648499246, Mabu Manaileng, Manimaran, makoeppel, Marco Gorelli, Maren Westermann, Mariangela, Maria Telenczuk, marielaraj, Martin Hirzel, Mateo Noreña, Mathieu Blondel, Mathis Batoul, mathurinm, Matthew Calcote, Maxime Prieur, Maxwell, Mehdi Hamoumi, Mehmet Ali Özer, Miao Cai, Michal Karbownik, michalkrawczyk, Mitzi, mlondschien, Mohamed Haseeb, Mohamed Khoualed, Muhammad Jarir Kanji, murata-yu, Nadim Kawwa, Nanshan Li, naozin555, Nate Parsons, Neal Fultz, Nic Annau, Nicolas Hug, Nicolas Miller, Nico Stefani, Nigel Bosch, Nikita Titov, Nodar Okroshiashvili, Norbert Preining, novaya, Ogbonna Chibuike Stephen, OGordon100, Oliver Pfaffel, Olivier Grisel, Oras Phongpanangam, Pablo Duque, Pablo Ibieta-Jimenez, Patric Lacouth, Paulo S. Costa, Paweł Olszewski, Peter Dye, PierreAttard, Pierre-Yves Le Borgne, PranayAnchuri, Prince Canuma, putschblos, qdeffense, RamyaNP, ranjanikrishnan, Ray Bell, Rene Jean Corneille, Reshama Shaikh, ricardojnf, RichardScottOZ, Rodion Martynov, Rohan Paul, Roman Lutz, Roman Yurchak, Samuel Brice, Sandy Khosasi, Sean Benhur J, Sebastian Flores, Sebastian Pölsterl, Shao Yang Hong, shinehide, shinnar, shivamgargsya, Shooter23, Shuhei Kayawari, Shyam Desai, simonamaggio, Sina Tootoonian, solosilence, Steven Kolawole, Steve Stagg, Surya Prakash, swpease, Sylvain Marié, Takeshi Oura, Terence Honles, TFiFiE, Thomas A Caswell, Thomas J. Fan, Tim Gates, TimotheeMathieu, Timothy Wolodzko, Tim Vink, t-jakubek, t-kusanagi, tliu68, Tobias Uhmann, tom1092, Tomás Moreyra, Tomás Ronald Hughes, Tom Dupré la Tour, Tommaso Di Noto, Tomohiro Endo, TONY GEORGE, Toshihiro NAKAE, tsuga, Uttam kumar, vadim-ushtanit, Vangelis Gkiastas, Venkatachalam N, Vilém Zouhar, Vinicius Rios Fuck, Vlasovets, waijean, Whidou, xavier dupré, xiaoyuchai, Yasmeen Alsaedy, yoch, Yosuke KOBAYASHI, Yu Feng, YusukeNagasaka, yzhenman, Zero, ZeyuSun, ZhaoweiWang, Zito, Zito Relova