Ältere Versionen#

Version 0.12.1#

8. Oktober 2012

Das Release 0.12.1 ist ein Bugfix-Release ohne zusätzliche Features, sondern ein Satz von Fehlerbehebungen.

Änderungsprotokoll#

Personen#

Version 0.12#

4. September 2012

Änderungsprotokoll#

  • Verschiedene Geschwindigkeitsverbesserungen des Moduls Entscheidungsbäume, durch Gilles Louppe.

  • GradientBoostingRegressor und GradientBoostingClassifier unterstützen nun das Merkmals-Subsampling über das Argument max_features, durch Peter Prettenhofer.

  • Huber- und Quantilverlustfunktionen zu GradientBoostingRegressor hinzugefügt, durch Peter Prettenhofer.

  • Entscheidungsbäume und Zufallsbäume-Ensembles unterstützen nun Multi-Output-Klassifizierungs- und Regressionsprobleme, durch Gilles Louppe.

  • Hinzugefügt: LabelEncoder, eine einfache Dienstprogrammklasse zum Normalisieren von Labels oder zum Transformieren von nicht-numerischen Labels, durch Mathieu Blondel.

  • Hinzugefügt: die Epsilon-insensitive Verlustfunktion und die Möglichkeit, probabilistische Vorhersagen mit dem modifizierten Huber-Verlust in Stochastischem Gradientenabstieg zu treffen, durch Mathieu Blondel.

  • Hinzugefügt: Multidimensional Scaling (MDS), von Nelle Varoquaux.

  • SVMlight-Datei-Formatlader erkennt nun komprimierte Dateien (gzip/bzip2) und dekomprimiert sie on-the-fly, durch Lars Buitinck.

  • SVMlight-Datei-Format-Serialisierer bewahrt nun Double-Precision-Gleitkommawerte, durch Olivier Grisel.

  • Ein gemeinsames Test-Framework für alle Schätzer wurde hinzugefügt, durch Andreas Müller.

  • Verständliche Fehlermeldungen für Schätzer, die keinen Sparse-Input akzeptieren, durch Gael Varoquaux

  • Beschleunigungen in der hierarchischen Clusterbildung durch Gael Varoquaux. Insbesondere unterstützt der Baumaufbau nun ein Early-Stopping. Dies ist nützlich, wenn die Anzahl der Cluster nicht klein im Verhältnis zur Anzahl der Samples ist.

  • Hinzugefügt: MultiTaskLasso und MultiTaskElasticNet zur gemeinsamen Merkmalsauswahl, durch Alexandre Gramfort.

  • Hinzugefügt: Hilfsfunktionen metrics.auc_score und metrics.average_precision_score durch Andreas Müller.

  • Verbesserte Sparse-Matrix-Unterstützung im Modul Merkmal-Auswahl durch Andreas Müller.

  • Neuer wortgrenzen-bewusster Zeichen-N-Gramm-Analysator für das Modul Text-Merkmalsextraktion von @kernc.

  • Fehler in der spektralen Clusterbildung behoben, der zu einzelnen Punkt-Clustern führte, durch Andreas Müller.

  • In CountVectorizer wurde eine Option hinzugefügt, um seltene Wörter zu ignorieren, min_df, durch Andreas Müller.

  • Unterstützung für mehrere Ziele in einigen linearen Modellen hinzugefügt (ElasticNet, Lasso und OrthogonalMatchingPursuit) durch Vlad Niculae und Alexandre Gramfort.

  • Korrekturen in der Score-Funktion von decomposition.ProbabilisticPCA von Wei Li.

  • Merkmalswichtigkeit-Berechnung in Gradienten-verstärkte Bäume behoben.

Zusammenfassung der API-Änderungen#

  • Das alte Paket scikits.learn wurde entfernt; alle Codes sollten stattdessen aus sklearn importiert werden, was in 0.9 eingeführt wurde.

  • In metrics.roc_curve wird das Array thresholds nun mit umgekehrter Reihenfolge zurückgegeben, um es konsistent mit der Reihenfolge der zurückgegebenen fpr und tpr zu halten.

  • In hmm-Objekten wie hmm.GaussianHMM, hmm.MultinomialHMM usw. müssen alle Parameter beim Initialisieren des Objekts übergeben werden und nicht über fit. Jetzt akzeptiert fit nur noch die Daten als Eingabeparameter.

  • Bei allen SVM-Klassen wurde ein fehlerhaftes Verhalten von gamma behoben. Zuvor wurde der Standard-Gamma-Wert nur beim ersten Aufruf von fit berechnet und gespeichert. Er wird nun bei jedem Aufruf von fit neu berechnet.

  • Alle Base-Klassen sind nun abstrakte Metaklassen, damit sie nicht instanziiert werden können.

  • cluster.ward_tree gibt nun auch das Eltern-Array zurück. Dies ist notwendig für Early-Stopping, bei dem der Baum nicht vollständig aufgebaut wird.

  • In CountVectorizer wurden die Parameter min_n und max_n zum Parameter n_gram_range zusammengefasst, um beide gleichzeitig für Grid-Suche zu ermöglichen.

  • In CountVectorizer werden Wörter, die nur in einem Dokument vorkommen, standardmäßig ignoriert. Um das vorherige Verhalten zu reproduzieren, setzen Sie min_df=1.

  • API-Inkonsistenz behoben: linear_model.SGDClassifier.predict_proba gibt nun ein 2D-Array zurück, wenn es auf zwei Klassen trainiert wird.

  • API-Inkonsistenz behoben: discriminant_analysis.QuadraticDiscriminantAnalysis.decision_function und discriminant_analysis.LinearDiscriminantAnalysis.decision_function geben nun 1D-Arrays zurück, wenn sie auf zwei Klassen trainiert werden.

  • Der für das Training von LassoCV und ElasticNetCV verwendete Alpha-Grid wird nun im Attribut alphas_ gespeichert, anstatt den Init-Parameter alphas zu überschreiben.

  • Lineare Modelle speichern den geschätzten Alpha-Wert bei der Schätzung durch Kreuzvalidierung nun im Attribut alpha_ anstelle von alpha oder best_alpha.

  • GradientBoostingClassifier unterstützt nun staged_predict_proba und staged_predict.

  • svm.sparse.SVC und andere Sparse-SVM-Klassen sind nun veraltet. Alle Klassen im Modul Support Vector Machines wählen nun automatisch die Sparse- oder Dense-Repräsentation basierend auf der Eingabe aus.

  • Alle Clustering-Algorithmen interpretieren nun das Array X, das an fit übergeben wird, als Eingabedaten, insbesondere SpectralClustering und AffinityPropagation, die zuvor Affinitätsmatrizen erwarteten.

  • Bei Clustering-Algorithmen, die die gewünschte Anzahl von Clustern als Parameter nehmen, heißt dieser Parameter nun n_clusters.

Personen#

Version 0.11#

7. Mai 2012

Änderungsprotokoll#

Highlights#

Weitere Änderungen#

  • Dichte und Sparse-Implementierungen des Moduls Stochastischer Gradientenabstieg zusammengeführt und Dienstprogramm-Erweiterungstypen für sequentielle Datensätze seq_dataset und Gewichtsvektoren weight_vector durch Peter Prettenhofer freigelegt.

  • Hinzugefügt: partial_fit (Unterstützung für Online-/Minibatch-Lernen) und warm_start zum Modul Stochastischer Gradientenabstieg, durch Mathieu Blondel.

  • Dichte und Sparse-Implementierungen von Support Vector Machines-Klassen und LogisticRegression zusammengeführt, durch Lars Buitinck.

  • Regressoren können nun als Basis-Schätzer im Modul Multi-Klassen- und Multi-Output-Algorithmen verwendet werden, durch Mathieu Blondel.

  • Hinzugefügt: n_jobs-Option zu metrics.pairwise_distances und metrics.pairwise.pairwise_kernels für parallele Berechnungen, durch Mathieu Blondel.

  • K-Means kann nun parallel ausgeführt werden, indem das Argument n_jobs entweder in K-Means oder cluster.KMeans verwendet wird, durch Robert Layton.

  • Verbesserte Dokumentation zu Kreuzvalidierung: Leistung von Schätzern bewerten und Abstimmen der Hyperparameter eines Schätzers und Einführung der neuen Hilfsfunktion cross_validation.train_test_split, durch Olivier Grisel

  • SVC-Mitglieder coef_ und intercept_ haben ihr Vorzeichen geändert, um mit decision_function konsistent zu sein; für kernel==linear wurde coef_ im One-vs-One-Fall korrigiert, durch Andreas Müller.

  • Leistungsverbesserungen für effiziente Leave-One-Out-kreuzvalidierte Ridge-Regression, insbesondere für den Fall n_samples > n_features, in RidgeCV, von Reuben Fletcher-Costin.

  • Refactoring und Vereinfachung der API für Text-Merkmalsextraktion und Fehler behoben, der einen möglichen negativen IDF verursachte, durch Olivier Grisel.

  • Die Beam-Pruning-Option im Modul _BaseHMM wurde entfernt, da sie schwer zu Cythonisieren ist. Wenn Sie daran interessiert sind, zu einer Cython-Version beizutragen, können Sie die Python-Version im Git-Verlauf als Referenz verwenden.

  • Klassen in Nearest Neighbors unterstützen nun beliebige Minkowski-Metriken für die Suche nach nächsten Nachbarn. Die Metrik kann über das Argument p spezifiziert werden.

Zusammenfassung der API-Änderungen#

  • covariance.EllipticEnvelop ist nun veraltet. Bitte verwenden Sie stattdessen EllipticEnvelope.

  • NeighborsClassifier und NeighborsRegressor sind im Modul Nearest Neighbors verschwunden. Verwenden Sie stattdessen die Klassen KNeighborsClassifier, RadiusNeighborsClassifier, KNeighborsRegressor und/oder RadiusNeighborsRegressor.

  • Sparse-Klassen im Modul Stochastischer Gradientenabstieg sind nun veraltet.

  • In mixture.GMM, mixture.DPGMM und mixture.VBGMM müssen Parameter beim Initialisieren eines Objekts übergeben werden und nicht über fit. Jetzt akzeptiert fit nur noch die Daten als Eingabeparameter.

  • Methoden rvs und decode im Modul GMM sind nun veraltet. Stattdessen sollten sample und score oder predict verwendet werden.

  • Attribute _scores und _pvalues in univariaten Merkmalsauswahl-Objekten sind nun veraltet. Stattdessen sollten scores_ oder pvalues_ verwendet werden.

  • In LogisticRegression, LinearSVC, SVC und NuSVC ist der Parameter class_weight nun ein Initialisierungsparameter und kein Parameter für fit. Dies ermöglicht Grid-Suchen über diesen Parameter.

  • LFW data hat nun immer die Form (n_samples, n_features), um mit dem Olivetti-Gesichtsdatensatz konsistent zu sein. Verwenden Sie stattdessen die Attribute images und pairs, um auf die natürlichen Bildformen zuzugreifen.

  • In LinearSVC hat sich die Bedeutung des Parameters multi_class geändert. Optionen sind nun 'ovr' und 'crammer_singer', wobei 'ovr' die Standardeinstellung ist. Dies ändert das Standardverhalten nicht, ist aber hoffentlich weniger verwirrend.

  • Die Klasse feature_selection.text.Vectorizer ist veraltet und wird durch feature_selection.text.TfidfVectorizer ersetzt.

  • Die verschachtelte Struktur von Preprocessor / Analyzer für die Text-Merkmalsextraktion wurde entfernt. Alle diese Funktionen werden nun direkt als flache Konstruktorargumente an feature_selection.text.TfidfVectorizer und feature_selection.text.CountVectorizer übergeben, insbesondere werden die folgenden Parameter verwendet:

  • analyzer kann 'word' oder 'char' sein, um das Standard-Analyse-Schema zu wechseln, oder ein spezifischer Python-Callable (wie zuvor).

  • tokenizer und preprocessor wurden eingeführt, um es weiterhin zu ermöglichen, diese Schritte mit der neuen API anzupassen.

  • input steuert explizit, wie die an fit und predict übergebene Sequenz interpretiert wird: Dateinamen, Dateiobjekte oder direkte (Byte- oder Unicode-) Strings.

  • Die Zeichensatzdekodierung ist standardmäßig explizit und streng.

  • Das vocabulary (trainiert oder nicht) wird nun im Attribut vocabulary_ gespeichert, um mit den Projektkonventionen übereinzustimmen.

  • Die Klasse feature_selection.text.TfidfVectorizer erbt nun direkt von feature_selection.text.CountVectorizer, um die Grid-Suche trivial zu machen.

  • Methoden rvs im Modul _BaseHMM sind nun veraltet. Stattdessen sollte sample verwendet werden.

  • Die Beam-Pruning-Option im Modul _BaseHMM wurde entfernt, da sie schwer zu Cythonisieren ist. Wenn Sie interessiert sind, können Sie im Git-Verlauf nach den Codes suchen.

  • Der SVMlight-Formatlader unterstützt nun Dateien mit sowohl nullbasierten als auch einsbasierten Spaltenindizes, da beides "in freier Wildbahn" vorkommt.

  • Argumente in der Klasse ShuffleSplit sind jetzt konsistent mit StratifiedShuffleSplit. Die Argumente test_fraction und train_fraction sind veraltet und wurden in test_size und train_size umbenannt und können sowohl float als auch int akzeptieren.

  • Argumente in der Klasse Bootstrap sind jetzt konsistent mit StratifiedShuffleSplit. Die Argumente n_test und n_train sind veraltet und wurden in test_size und train_size umbenannt und können sowohl float als auch int akzeptieren.

  • Argument p wurde den Klassen in Nearest Neighbors hinzugefügt, um eine beliebige Minkowski-Metrik für Nachbarschaftssuchen anzugeben.

Personen#

Version 0.10#

11. Januar 2012

Änderungsprotokoll#

Zusammenfassung der API-Änderungen#

Hier sind die Anweisungen zur Code-Migration beim Upgrade von scikit-learn Version 0.9

  • Einige Schätzer, die ihre Eingaben überschreiben können, um Speicher zu sparen, hatten zuvor overwrite_ Parameter; diese wurden durch copy_ Parameter mit genau entgegengesetzter Bedeutung ersetzt.

    Dies betrifft insbesondere einige der Schätzer in linear_model. Das Standardverhalten ist immer noch, alles übergebene zu kopieren.

  • Der SVMlight-Datensatz-Loader load_svmlight_file unterstützt nicht mehr das Laden von zwei Dateien gleichzeitig; verwenden Sie stattdessen load_svmlight_files. Außerdem ist der (ungenutzte) Parameter buffer_mb weggefallen.

  • Dünnbesetzte Schätzer im Modul Stochastic Gradient Descent verwenden einen dichten Parametervektor coef_ anstelle von sparse_coef_. Dies verbessert die Testzeit-Performance erheblich.

  • Das Modul Kovarianzschätzung verfügt nun über einen robusten Kovarianzschätzer, den Minimum Covariance Determinant-Schätzer.

  • Cluster-Evaluierungsmetriken in cluster wurden refaktoriert, aber die Änderungen sind abwärtskompatibel. Sie wurden nach metrics.cluster.supervised verschoben, zusammen mit metrics.cluster.unsupervised, das den Silhouette-Koeffizienten enthält.

  • Die Funktion permutation_test_score verhält sich jetzt genauso wie cross_val_score (d.h. sie verwendet den Durchschnittswert über die Folds).

  • Cross-Validation-Generatoren verwenden standardmäßig Ganzzahlindizes (indices=True) anstelle von booleschen Masken. Dies erleichtert die Verwendung mit dünnbesetzten Matrixdaten.

  • Die Funktionen für Sparse Coding, sparse_encode und sparse_encode_parallel, wurden zu sparse_encode zusammengeführt und die Formen der Arrays wurden zur Konsistenz mit dem Matrixfaktorisierungssetting, im Gegensatz zum Regressionssetting, transponiert.

  • Ein Off-by-One-Fehler bei der Verarbeitung des SVMlight/LibSVM-Dateiformats wurde behoben; Dateien, die mit dump_svmlight_file generiert wurden, sollten neu generiert werden. (Sie sollten weiterhin funktionieren, hatten aber versehentlich eine zusätzliche Spalte Nullen vorangestellt.)

  • BaseDictionaryLearning Klasse ersetzt durch SparseCodingMixin.

  • sklearn.utils.extmath.fast_svd wurde in randomized_svd umbenannt und die standardmäßige Überabtastung ist jetzt auf 10 zusätzliche Zufallsvektoren festgelegt, anstatt die Anzahl der zu extrahierenden Komponenten zu verdoppeln. Das neue Verhalten folgt der Referenzarbeit.

Personen#

Die folgenden Personen haben seit der letzten Veröffentlichung zu scikit-learn beigetragen

Version 0.9#

21. September 2011

scikit-learn 0.9 wurde im September 2011 veröffentlicht, drei Monate nach der Version 0.8 und beinhaltet die neuen Module Manifold Learning, Der Dirichlet-Prozess sowie mehrere neue Algorithmen und Verbesserungen der Dokumentation.

Diese Veröffentlichung beinhaltet auch die von Vlad Niculae im Rahmen des Google Summer of Code Programms entwickelte Dictionary-Learning-Arbeit.

banner2 banner1 banner3

Änderungsprotokoll#

Zusammenfassung der API-Änderungen#

Hier sind die Anweisungen zur Code-Migration beim Upgrade von scikit-learn Version 0.8

  • Das Paket scikits.learn wurde in sklearn umbenannt. Es gibt immer noch einen Alias für das Paket scikits.learn für Abwärtskompatibilität.

    Drittanbieter-Projekte mit einer Abhängigkeit von scikit-learn 0.9+ sollten ihre Codebasis aktualisieren. Zum Beispiel unter Linux / MacOSX einfach ausführen (zuerst ein Backup erstellen!)

    find -name "*.py" | xargs sed -i 's/\bscikits.learn\b/sklearn/g'
    
  • Schätzer akzeptieren Modellparameter nicht mehr als fit Argumente: stattdessen müssen alle Parameter nur als Konstruktorargumente oder über die nun öffentliche Methode set_params, die von BaseEstimator geerbt wird, übergeben werden.

    Einige Schätzer können immer noch Schlüsselwortargumente bei fit akzeptieren, dies ist jedoch auf datenabhängige Werte beschränkt (z.B. eine Gram-Matrix oder eine Affinitätsmatrix, die aus der X Datenmatrix vorab berechnet wurden.

  • Das Paket cross_val wurde in cross_validation umbenannt, obwohl es auch einen Alias für das Paket cross_val für Abwärtskompatibilität gibt.

    Drittanbieter-Projekte mit einer Abhängigkeit von scikit-learn 0.9+ sollten ihre Codebasis aktualisieren. Zum Beispiel unter Linux / MacOSX einfach ausführen (zuerst ein Backup erstellen!)

    find -name "*.py" | xargs sed -i 's/\bcross_val\b/cross_validation/g'
    
  • Das Argument score_func der Funktion sklearn.cross_validation.cross_val_score wird nun erwartet, y_test und y_predicted als einzige Argumente für Klassifikations- und Regressionsaufgaben oder X_test für unüberwachte Schätzer zu akzeptieren.

  • Der Parameter gamma für Algorithmen von Support-Vektor-Maschinen ist standardmäßig auf 1 / n_features gesetzt, anstatt auf 1 / n_samples.

  • Das Modul sklearn.hmm wurde als verwaist markiert: Es wird aus scikit-learn in Version 0.11 entfernt, es sei denn, jemand erklärt sich bereit, Dokumentation, Beispiele beizusteuern und schleichende numerische Stabilitätsprobleme zu beheben.

  • sklearn.neighbors wurde zu einem Untermodul gemacht. Die beiden zuvor verfügbaren Schätzer, NeighborsClassifier und NeighborsRegressor, wurden als veraltet markiert. Ihre Funktionalität wurde auf fünf neue Klassen aufgeteilt: NearestNeighbors für unüberwachte Nachbarschaftssuchen, KNeighborsClassifier & RadiusNeighborsClassifier für überwachte Klassifikationsprobleme und KNeighborsRegressor & RadiusNeighborsRegressor für überwachte Regressionsprobleme.

  • sklearn.ball_tree.BallTree wurde nach sklearn.neighbors.BallTree verschoben. Die Verwendung der ersteren wird eine Warnung generieren.

  • sklearn.linear_model.LARS() und verwandte Klassen (LassoLARS, LassoLARSCV, etc.) wurden in sklearn.linear_model.Lars() umbenannt.

  • Alle Distanzmetriken und Kernel in sklearn.metrics.pairwise haben nun einen Y-Parameter, der standardmäßig None ist. Wenn dieser nicht angegeben wird, ist das Ergebnis die Distanz (oder Kernel-Ähnlichkeit) zwischen jedem Sample in Y. Wenn er angegeben wird, ist das Ergebnis die paarweise Distanz (oder Kernel-Ähnlichkeit) zwischen Samples in X und Y.

  • sklearn.metrics.pairwise.l1_distance heißt jetzt manhattan_distance und gibt standardmäßig die paarweise Distanz zurück. Für die komponentenweise Distanz setzen Sie den Parameter sum_over_features auf False.

Abwärtskompatible Paket-Aliase und andere veraltete Klassen und Funktionen werden in Version 0.11 entfernt.

Personen#

38 Personen haben zu dieser Veröffentlichung beigetragen.

Version 0.8#

11. Mai 2011

scikit-learn 0.8 wurde im Mai 2011 veröffentlicht, einen Monat nach dem ersten „internationalen“ scikit-learn Coding Sprint und zeichnet sich durch die Aufnahme wichtiger Module aus: Hierarchisches Clustering, Kreuzzerlegung, Nicht-negative Matrixfaktorisierung (NMF oder NNMF), erste Unterstützung für Python 3 und durch wichtige Erweiterungen und Fehlerbehebungen.

Änderungsprotokoll#

Mehrere neue Module wurden während dieser Veröffentlichung eingeführt

Einige andere Module profitierten von signifikanten Verbesserungen oder Bereinigungen.

Personen#

Personen, die diese Veröffentlichung ermöglicht haben, gefolgt von der Anzahl der Commits

Version 0.7#

2. März 2011

scikit-learn 0.7 wurde im März 2011 veröffentlicht, etwa drei Monate nach der Version 0.6. Diese Version zeichnet sich durch Geschwindigkeitsverbesserungen in bestehenden Algorithmen wie k-Nearest Neighbors und K-Means aus und durch die Einbindung eines effizienten Algorithmus zur Berechnung der Ridge Generalized Cross Validation-Lösung. Im Gegensatz zur vorherigen Version wurden dieser Version keine neuen Module hinzugefügt.

Änderungsprotokoll#

Personen#

Personen, die diese Veröffentlichung ermöglicht haben, gefolgt von der Anzahl der Commits

Version 0.6#

21. Dezember 2010

scikit-learn 0.6 wurde im Dezember 2010 veröffentlicht. Es zeichnet sich durch die Aufnahme mehrerer neuer Module und eine allgemeine Umbenennung älterer aus. Es zeichnet sich auch durch die Aufnahme neuer Beispiele aus, einschließlich Anwendungen auf reale Datensätze.

Änderungsprotokoll#

  • Neues Modul für stochastischen Gradientenabstieg von Peter Prettenhofer. Das Modul enthält eine vollständige Dokumentation und Beispiele.

  • Verbessertes svm-Modul: Der Speicherverbrauch wurde um 50% reduziert, Heuristik zur automatischen Einstellung von Klassengewichten, Möglichkeit zur Zuweisung von Gewichten zu Stichproben (siehe SVM: Gewichtete Stichproben für ein Beispiel).

  • Neues Modul Gaußsche Prozesse von Vincent Dubourg. Dieses Modul verfügt ebenfalls über eine hervorragende Dokumentation und einige sehr ansprechende Beispiele. Siehe example_gaussian_process_plot_gp_regression.py oder example_gaussian_process_plot_gp_probabilistic_classification_after_regression.py für einen Eindruck, was möglich ist.

  • Es ist jetzt möglich, die Multi-Class SVC von liblinear zu verwenden (Option multi_class in LinearSVC)

  • Neue Funktionen und Leistungsverbesserungen bei der Textmerkmalsextraktion.

  • Verbesserte Unterstützung für dünne Matrizen, sowohl in Hauptklassen (GridSearchCV) als auch in den Modulen sklearn.svm.sparse und sklearn.linear_model.sparse.

  • Viele coole neue Beispiele und ein neuer Abschnitt, der reale Datensätze verwendet, wurden erstellt. Dazu gehören: Gesichtserkennungsbeispiel mit Eigenfaces und SVMs, Artenverbreitungsmodellierung, Wikipedia Haupt-Eigenvektor und andere.

  • Schnellerer Least Angle Regression-Algorithmus. Er ist jetzt 2x schneller als die R-Version im Worst Case und bis zu 10x schneller in einigen Fällen.

  • Schnellerer Algorithmus für koordinierte Abstiegsverfahren. Insbesondere ist die Vollpfadversion von Lasso (linear_model.lasso_path) mehr als 200x schneller als zuvor.

  • Es ist jetzt möglich, Wahrscheinlichkeitsschätzungen von einem LogisticRegression-Modell zu erhalten.

  • Umbenennung von Modulen: Das glm-Modul wurde in linear_model umbenannt, das gmm-Modul wurde in das allgemeinere mixture model integriert und das sgd-Modul wurde in linear_model integriert.

  • Viele Fehlerbehebungen und Verbesserungen der Dokumentation.

Personen#

Personen, die diese Veröffentlichung ermöglicht haben, gefolgt von der Anzahl der Commits

Version 0.5#

11. Oktober 2010

Änderungsprotokoll#

Neue Klassen#

  • Unterstützung für dünne Matrizen in einigen Klassifikatoren der Module svm und linear_model (siehe svm.sparse.SVC, svm.sparse.SVR, svm.sparse.LinearSVC, linear_model.sparse.Lasso, linear_model.sparse.ElasticNet)

  • Neues Objekt Pipeline zur Komposition verschiedener Schätzer.

  • Routinen für Recursive Feature Elimination im Modul Merkmalsauswahl.

  • Hinzufügung verschiedener Klassen, die für Kreuzvalidierung im linear_model-Modul geeignet sind (LassoCV, ElasticNetCV, etc.).

  • Neue, effizientere LARS-Algorithmus-Implementierung. Die Lasso-Variante des Algorithmus ist ebenfalls implementiert. Siehe lars_path, Lars und LassoLars.

  • Neues Modul für Hidden Markov Models (siehe Klassen hmm.GaussianHMM, hmm.MultinomialHMM, hmm.GMMHMM)

  • Neues Modul feature_extraction (siehe Klassenreferenz)

  • Neuer FastICA-Algorithmus im Modul sklearn.fastica

Dokumentation#

Behebungen#

  • API-Änderungen: Variablennamen an PEP-8 anpassen, aussagekräftigere Namen geben.

  • Behebungen für das svm-Modul zur Ausführung in einem Shared Memory-Kontext (Multiprocessing).

  • Es ist wieder möglich, Latex (und somit PDF) aus den Sphinx-Dokumenten zu generieren.

Beispiele#

Externe Abhängigkeiten#

  • Joblib ist jetzt eine Abhängigkeit dieses Pakets, obwohl es mitgeliefert wird (sklearn.externals.joblib).

Entfernte Module#

  • Das Modul ann (Artificial Neural Networks) wurde aus der Distribution entfernt. Benutzer, die solche Algorithmen wünschen, sollten sich pybrain ansehen.

Sonstiges#

  • Neues Sphinx-Theme für die Webseite.

Autoren#

Die folgende Liste von Autoren für diese Veröffentlichung wird von der Anzahl der Commits begleitet

  • 262 Fabian Pedregosa

  • 240 Gael Varoquaux

  • 149 Alexandre Gramfort

  • 116 Olivier Grisel

  • 40 Vincent Michel

  • 38 Ron Weiss

  • 23 Matthieu Perrot

  • 10 Bertrand Thirion

  • 7 Yaroslav Halchenko

  • 9 VirgileFritsch

  • 6 Edouard Duchesnay

  • 4 Mathieu Blondel

  • 1 Ariel Rokem

  • 1 Matthieu Brucher

Version 0.4#

26. August 2010

Änderungsprotokoll#

Wesentliche Änderungen in dieser Version sind:

  • Coordinate Descent-Algorithmus (Lasso, ElasticNet) Refactoring & Geschwindigkeitsverbesserungen (ungefähr 100x schneller).

  • Coordinate Descent Refactoring (und Fehlerbehebung) zur Konsistenz mit R's Paket GLMNET.

  • Neues Metrics-Modul.

  • Neues GMM-Modul, beigesteuert von Ron Weiss.

  • Implementierung des LARS-Algorithmus (vorerst ohne Lasso-Variante).

  • Redesign des feature_selection-Moduls.

  • Migration zu GIT als Versionskontrollsystem.

  • Entfernung des veralteten attrselect-Moduls.

  • Umbenennung von privaten kompilierten Erweiterungen (Unterstrich hinzugefügt).

  • Entfernung von veraltetem, nicht gewartetem Code.

  • Verbesserungen der Dokumentation (sowohl Docstrings als auch rst).

  • Verbesserung des Build-Systems zur (optionalen) Verknüpfung mit MKL. Außerdem Bereitstellung einer Lite-BLAS-Implementierung, falls kein systemweites BLAS gefunden wird.

  • Viele neue Beispiele.

  • Viele, viele Fehlerbehebungen...

Autoren#

Die Committer-Liste für diese Veröffentlichung ist die folgende (vorangestellt von der Anzahl der Commits)

  • 143 Fabian Pedregosa

  • 35 Alexandre Gramfort

  • 34 Olivier Grisel

  • 11 Gael Varoquaux

  • 5 Yaroslav Halchenko

  • 2 Vincent Michel

  • 1 Chris Filo Gorgolewski

Frühere Versionen#

Frühere Versionen enthielten Beiträge von Fred Mailhot, David Cooke, David Huard, Dave Morrill, Ed Schofield, Travis Oliphant, Pearu Peterson.