Version 0.14#
Version 0.14#
7. August 2013
Änderungsprotokoll#
Fehlende Werte mit spärlichen und dichten Matrizen können mit dem Transformator
preprocessing.Imputervon Nicolas Trésegnie imputiert werden.Die Kernimplementierung von Entscheidungsbäumen wurde von Grund auf neu geschrieben, was eine schnellere Bauminduktion und einen geringeren Speicherverbrauch in allen baumbasierten Schätzern ermöglicht. Von Gilles Louppe.
Hinzugefügt
ensemble.AdaBoostClassifierundensemble.AdaBoostRegressor, von Noel Dawe und Gilles Louppe. Details und Beispiele finden Sie im Abschnitt AdaBoost des Benutzerhandbuchs.Hinzugefügt
grid_search.RandomizedSearchCVundgrid_search.ParameterSamplerfür die zufällige Optimierung von Hyperparametern. Von Andreas Müller.Hinzugefügt Biclustering-Algorithmen (
sklearn.cluster.bicluster.SpectralCoclusteringundsklearn.cluster.bicluster.SpectralBiclustering), Datengenerierungsmethoden (sklearn.datasets.make_biclustersundsklearn.datasets.make_checkerboard) und Bewertungsmetriken (sklearn.metrics.consensus_score). Von Kemal Eren.Hinzugefügt Restricted Boltzmann Machines (
neural_network.BernoulliRBM). Von Yann Dauphin.Python 3 Unterstützung von Justin Vincent, Lars Buitinck, Subhodeep Moitra und Olivier Grisel. Alle Tests laufen nun unter Python 3.3.
Möglichkeit, eine Strafe (Alpha-Wert) pro Ziel in
linear_model.Ridgezu übergeben, von @eickenberg und Mathieu Blondel.Behobener Fehler bei der L2-Regularisierung in
sklearn.linear_model.stochastic_gradient.py(geringe praktische Bedeutung). Von Norbert Crombach und Mathieu Blondel.Eine interaktive Version von Andreas Müllers Machine Learning Cheat Sheet (für scikit-learn) wurde der Dokumentation hinzugefügt. Siehe Wahl des richtigen Schätzers. Von Jaques Grobler.
grid_search.GridSearchCVundcross_validation.cross_val_scoreunterstützen nun die Verwendung von fortgeschrittenen Bewertungsfunktionen wie Fläche unter der ROC-Kurve und f-Beta-Scores. Details finden Sie unter Der Scoring-Parameter: Definition von Modellbewertungsregeln. Von Andreas Müller und Lars Buitinck. Die Übergabe einer Funktion aussklearn.metricsalsscore_funcist veraltet.Multi-Label-Klassifizierungsausgabe wird nun von
metrics.accuracy_score,metrics.zero_one_loss,metrics.f1_score,metrics.fbeta_score,metrics.classification_report,metrics.precision_scoreundmetrics.recall_scorevon Arnaud Joly unterstützt.Zwei neue Metriken
metrics.hamming_lossundmetrics.jaccard_similarity_scorewerden mit Multi-Label-Unterstützung von Arnaud Joly hinzugefügt.Geschwindigkeits- und Speicherverbesserungen in
feature_extraction.text.CountVectorizerundfeature_extraction.text.TfidfVectorizer, von Jochen Wersdörfer und Roman Sinayev.Der Parameter
min_dfinfeature_extraction.text.CountVectorizerundfeature_extraction.text.TfidfVectorizer, der zuvor 2 war, wurde auf 1 zurückgesetzt, um unangenehme Überraschungen (leere Vokabulare) für unerfahrene Benutzer, die ihn auf winzigen Dokumentensammlungen ausprobieren, zu vermeiden. Ein Wert von mindestens 2 wird für den praktischen Gebrauch weiterhin empfohlen.svm.LinearSVC,linear_model.SGDClassifierundlinear_model.SGDRegressorverfügen nun über einesparsify-Methode, die ihrecoef_in eine spärliche Matrix umwandelt, was bedeutet, dass gespeicherte Modelle, die mit diesen Schätzern trainiert wurden, deutlich kompakter gemacht werden können.linear_model.SGDClassifierliefert nun Multiklassen-Wahrscheinlichkeitsschätzungen, wenn es unter Log-Loss oder modifiziertem Huber-Loss trainiert wird.Hyperlinks zur Dokumentation im Beispielcode auf der Website von Martin Luessi.
Fehler in
preprocessing.MinMaxScalerbehoben, der zu einer falschen Skalierung der Merkmale für Nicht-Standard-feature_range-Einstellungen führte. Von Andreas Müller.max_featuresintree.DecisionTreeClassifier,tree.DecisionTreeRegressorund allen abgeleiteten Ensemble-Schätzern unterstützt nun Prozentwerte. Von Gilles Louppe.Leistungsverbesserungen in
isotonic.IsotonicRegressionvon Nelle Varoquaux.metrics.accuracy_scorehat die Optionnormalize, um den Bruchteil oder die Anzahl der korrekt klassifizierten Stichproben zurückzugeben, von Arnaud Joly.Hinzugefügt
metrics.log_loss, das den Log Loss, auch bekannt als Kreuzentropie-Verlust, berechnet. Von Jochen Wersdörfer und Lars Buitinck.Ein Fehler, der dazu führte, dass
ensemble.AdaBoostClassifierfalsche Wahrscheinlichkeiten ausgab, wurde behoben.Feature-Selektoren teilen sich nun einen Mixin, der konsistente
transform-,inverse_transform- undget_support-Methoden bereitstellt. Von Joel Nothman.Ein trainiertes
grid_search.GridSearchCVodergrid_search.RandomizedSearchCVkann nun generell gepickelt werden. Von Joel Nothman.Refaktorierte und vektorisierte Implementierung von
metrics.roc_curveundmetrics.precision_recall_curve. Von Joel Nothman.Der neue Schätzer
sklearn.decomposition.TruncatedSVDführt eine Dimensionsreduktion mittels SVD auf spärlichen Matrizen durch und kann für die latente semantische Analyse (LSA) verwendet werden. Von Lars Buitinck.Hinzugefügtes in sich geschlossenes Beispiel für Out-of-Core-Lernen mit Textdaten Out-of-core Klassifizierung von Textdokumenten. Von Eustache Diemert.
Die Standardanzahl der Komponenten für
sklearn.decomposition.RandomizedPCAwird nun korrekt alsn_featuresdokumentiert. Dies war das Standardverhalten, sodass Programme, die es verwenden, weiterhin wie zuvor funktionieren.sklearn.cluster.KMeanspasst nun mehrere Größenordnungen schneller auf spärlichen Daten an (die Geschwindigkeitssteigerung hängt von der Spärlichkeit ab). Von Lars Buitinck.Reduzierter Speicherverbrauch von FastICA durch Denis Engemann und Alexandre Gramfort.
Die ausführliche Ausgabe in
sklearn.ensemble.gradient_boostingverwendet nun ein Spaltenformat und gibt den Fortschritt mit abnehmender Häufigkeit aus. Sie zeigt auch die verbleibende Zeit an. Von Peter Prettenhofer.sklearn.ensemble.gradient_boostingliefert eine Out-of-Bag-Verbesserungoob_improvement_anstelle des OOB-Scores für die Modellauswahl. Ein Beispiel, das zeigt, wie OOB-Schätzungen zur Auswahl der Anzahl von Bäumen verwendet werden, wurde hinzugefügt. Von Peter Prettenhofer.Die meisten Metriken unterstützen nun Zeichenketten-Labels für die Multiklassen-Klassifizierung von Arnaud Joly und Lars Buitinck.
Neue Klasse OrthogonalMatchingPursuitCV von Alexandre Gramfort und Vlad Niculae.
Fehler in
sklearn.covariance.GraphLassoCVbehoben: Der Parameter 'alphas' funktioniert nun wie erwartet, wenn eine Liste von Werten übergeben wird. Von Philippe Gervais.Wichtiger Fehler in
sklearn.covariance.GraphLassoCVbehoben, der verhinderte, dass alle vom CV-Objekt bereitgestellten Folds verwendet wurden (nur die ersten 3 wurden verwendet). Bei Angabe eines CV-Objekts kann die Ausführungszeit daher im Vergleich zur vorherigen Version deutlich steigen (die Ergebnisse des Fehlers sind nun korrekt). Von Philippe Gervais.cross_validation.cross_val_scoreund das Modulgrid_searchwerden nun mit Multi-Output-Daten getestet von Arnaud Joly.datasets.make_multilabel_classificationkann die Ausgabe nun im Label-Indikator-Multi-Label-Format zurückgeben, von Arnaud Joly.K-nächste Nachbarn,
neighbors.KNeighborsRegressorundneighbors.RadiusNeighborsRegressor, sowie Radius-Nachbarn,neighbors.RadiusNeighborsRegressorundneighbors.RadiusNeighborsClassifierunterstützen Multi-Output-Daten von Arnaud Joly.Der Zufallsstatus in LibSVM-basierten Schätzern (
svm.SVC,svm.NuSVC,svm.OneClassSVM,svm.SVR,svm.NuSVR) kann nun gesteuert werden. Dies ist nützlich, um die Konsistenz der Wahrscheinlichkeitsschätzungen für die mitprobability=Truetrainierten Klassifikatoren sicherzustellen. Von Vlad Niculae.Unterstützung für Out-of-Core-Lernen für diskrete Naive Bayes-Klassifikatoren
sklearn.naive_bayes.MultinomialNBundsklearn.naive_bayes.BernoulliNBdurch Hinzufügen der Methodepartial_fitvon Olivier Grisel.Neues Website-Design und Navigation von Gilles Louppe, Nelle Varoquaux, Vincent Michel und Andreas Müller.
Verbesserte Dokumentation zu Multi-Klassen-, Multi-Label- und Multi-Output-Klassifizierung von Yannick Schwartz und Arnaud Joly.
Bessere Eingabe- und Fehlerbehandlung im Modul
sklearn.metricsvon Arnaud Joly und Joel Nothman.Geschwindigkeitsoptimierung des
hmm-Moduls von Mikhail KorobovSignifikante Geschwindigkeitsverbesserungen für
sklearn.cluster.DBSCANvon cleverless
Zusammenfassung der API-Änderungen#
Der
auc_scorewurde inmetrics.roc_auc_scoreumbenannt.Das Testen von scikit-learn mit
sklearn.test()ist veraltet. Verwenden Sie stattdessennosetests sklearnvon der Kommandozeile.Feature-Wichtigkeiten in
tree.DecisionTreeClassifier,tree.DecisionTreeRegressorund allen abgeleiteten Ensemble-Schätzern werden nun bei Zugriff auf das Attributfeature_importances_on the fly berechnet. Das Setzen voncompute_importances=Trueist nicht mehr erforderlich. Von Gilles Louppe.linear_model.lasso_pathundlinear_model.enet_pathkönnen ihre Ergebnisse im gleichen Format wielinear_model.lars_pathzurückgeben. Dies geschieht durch Setzen des Parametersreturn_modelsaufFalse. Von Jaques Grobler und Alexandre Gramfortgrid_search.IterGridwurde ingrid_search.ParameterGridumbenannt.Fehler in
KFoldbehoben, der in einigen Fällen zu unvollständiger Klassenbalance führte. Von Alexandre Gramfort und Tadej Janež.sklearn.neighbors.BallTreewurde refaktoriert, und einsklearn.neighbors.KDTreewurde hinzugefügt, der die gleiche Schnittstelle teilt. Der Ball Tree arbeitet nun mit einer Vielzahl von Distanzmetriken. Beide Klassen verfügen über viele neue Methoden, darunter Single-Tree- und Dual-Tree-Abfragen, Breitensuche und Tiefensuche sowie fortgeschrittenere Abfragen wie Kernel-Dichteschätzung und 2-Punkt-Korrelationsfunktionen. Von Jake VanderplasDie Unterstützung für scipy.spatial.cKDTree in Nachbarschaftsabfragen wurde entfernt und die Funktionalität durch die neue Klasse
sklearn.neighbors.KDTreeersetzt.sklearn.neighbors.KernelDensitywurde hinzugefügt, die eine effiziente Kernel-Dichteschätzung mit einer Vielzahl von Kernels durchführt.sklearn.decomposition.KernelPCAgibt nun immer eine Ausgabe mitn_componentsKomponenten zurück, es sei denn, der neue Parameterremove_zero_eigist aufTruegesetzt. Dieses neue Verhalten entspricht der Art und Weise, wie Kernel PCA immer dokumentiert wurde; zuvor wurde die Entfernung von Komponenten mit Null-Eigenwerten stillschweigend auf allen Daten durchgeführt.gcv_mode="auto"versucht nicht mehr, SVD auf einer verdichteten spärlichen Matrix insklearn.linear_model.RidgeCVdurchzuführen.Die Unterstützung für spärliche Matrizen in
sklearn.decomposition.RandomizedPCAist nun veraltet zugunsten des neuenTruncatedSVD.cross_validation.KFoldundcross_validation.StratifiedKFolderzwingen nunn_folds >= 2, andernfalls wird einValueErrorausgelöst. Von Olivier Grisel.Die Parameter
charsetundcharset_errorsvondatasets.load_fileswurden inencodingunddecode_errorsumbenannt.Das Attribut
oob_score_insklearn.ensemble.GradientBoostingRegressorundsklearn.ensemble.GradientBoostingClassifierist veraltet und wurde durchoob_improvement_ersetzt.Attribute in OrthogonalMatchingPursuit sind veraltet (copy_X, Gram, …) und precompute_gram wurde zur Konsistenz in precompute umbenannt. Siehe #2224.
sklearn.preprocessing.StandardScalerkonvertiert nun ganzzahlige Eingaben in Gleitkommazahlen und gibt eine Warnung aus. Zuvor wurde für dichte ganzzahlige Eingaben gerundet.sklearn.multiclass.OneVsRestClassifierverfügt nun über eine Methodedecision_function. Diese gibt den Abstand jedes Samples zur Entscheidungsgrenze für jede Klasse zurück, solange die zugrunde liegenden Schätzer die Methodedecision_functionimplementieren. Von Kyle Kastner.Bessere Eingabevalidierung, Warnung bei unerwarteten Formen für y.
Personen#
Liste der Mitwirkenden für Release 0.14 nach Anzahl der Commits.
277 Gilles Louppe
245 Lars Buitinck
187 Andreas Mueller
124 Arnaud Joly
112 Jaques Grobler
109 Gael Varoquaux
107 Olivier Grisel
102 Noel Dawe
99 Kemal Eren
79 Joel Nothman
75 Jake VanderPlas
73 Nelle Varoquaux
71 Vlad Niculae
65 Peter Prettenhofer
64 Alexandre Gramfort
54 Mathieu Blondel
38 Nicolas Trésegnie
35 eustache
27 Denis Engemann
25 Yann N. Dauphin
19 Justin Vincent
17 Robert Layton
15 Doug Coleman
14 Michael Eickenberg
13 Robert Marchman
11 Fabian Pedregosa
11 Philippe Gervais
10 Jim Holmström
10 Tadej Janež
10 syhw
9 Mikhail Korobov
9 Steven De Gryze
8 sergeyf
7 Ben Root
7 Hrishikesh Huilgolkar
6 Kyle Kastner
6 Martin Luessi
6 Rob Speer
5 Federico Vaggi
5 Raul Garreta
5 Rob Zinkov
4 Ken Geis
3 A. Flaxman
3 Denton Cockburn
3 Dougal Sutherland
3 Ian Ozsvald
3 Johannes Schönberger
3 Robert McGibbon
3 Roman Sinayev
3 Szabo Roland
2 Diego Molla
2 Imran Haque
2 Jochen Wersdörfer
2 Sergey Karayev
2 Yannick Schwartz
2 jamestwebber
1 Abhijeet Kolhe
1 Alexander Fabisch
1 Bastiaan van den Berg
1 Benjamin Peterson
1 Daniel Velkov
1 Fazlul Shahriar
1 Felix Brockherde
1 Félix-Antoine Fortin
1 Harikrishnan S
1 Jack Hale
1 JakeMick
1 James McDermott
1 John Benediktsson
1 John Zwinck
1 Joshua Vredevoogd
1 Justin Pati
1 Kevin Hughes
1 Kyle Kelley
1 Matthias Ekman
1 Miroslav Shubernetskiy
1 Naoki Orii
1 Norbert Crombach
1 Rafael Cunha de Almeida
1 Rolando Espinoza La fuente
1 Seamus Abshere
1 Sergey Feldman
1 Sergio Medina
1 Stefano Lattarini
1 Steve Koch
1 Sturla Molden
1 Thomas Jarosch
1 Yaroslav Halchenko