Version 0.20#

Warnung

Version 0.20 ist die letzte Version von scikit-learn, die Python 2.7 und Python 3.4 unterstützt. Scikit-learn 0.21 erfordert Python 3.5 oder höher.

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.20.4#

30. Juli 2019

Dies ist eine Bugfix-Version mit einigen Fehlerbehebungen, die auf Version 0.20.3 angewendet wurden.

Änderungsprotokoll#

Die gebündelte Version von joblib wurde von 0.13.0 auf 0.13.2 aktualisiert.

sklearn.cluster#

sklearn.compose#

  • Fix Ein Problem in compose.ColumnTransformer wurde behoben, bei dem die Verwendung von DataFrames mit unterschiedlicher Spaltenreihenfolge zwischen fit und transform dazu führen konnte, dass falsche Spalten stillschweigend an den remainder Transformer übergeben wurden. #14237 von Andreas Schuderer <schuderer>.

sklearn.decomposition#

sklearn.model_selection#

sklearn.neighbors#

Version 0.20.3#

1. März 2019

Dies ist eine Bugfix-Version mit einigen geringfügigen Verbesserungen der Dokumentation und Erweiterungen von Funktionen, die in 0.20.0 veröffentlicht wurden.

Änderungsprotokoll#

sklearn.cluster#

sklearn.compose#

sklearn.covariance#

sklearn.decomposition#

sklearn.datasets#

sklearn.feature_extraction#

sklearn.impute#

sklearn.linear_model#

sklearn.preprocessing#

sklearn.svm#

Code- und Dokumentations-Mitwirkende#

Mit Dank an

Adrin Jalali, Agamemnon Krasoulis, Albert Thomas, Andreas Mueller, Aurélien Bellet, bertrandhaut, Bharat Raghunathan, Dowon, Emmanuel Arias, Fibinse Xavier, Finn O’Shea, Gabriel Vacaliuc, Gael Varoquaux, Guillaume Lemaitre, Hanmin Qin, joaak, Joel Nothman, Joris Van den Bossche, Jérémie Méhault, kms15, Kossori Aruku, Lakshya KD, maikia, Manuel López-Ibáñez, Marco Gorelli, MarcoGorelli, mferrari3, Mickaël Schoentgen, Nicolas Hug, pavlos kallis, Pierre Glaser, pierretallotte, Prabakaran Kumaresshan, Reshama Shaikh, Rohit Kapoor, Roman Yurchak, SandroCasagrande, Tashay Green, Thomas Fan, Vishaal Kapoor, Zhuyi Xue, Zijie (ZJ) Poh

Version 0.20.2#

20. Dezember 2018

Dies ist eine Bugfix-Version mit einigen geringfügigen Verbesserungen der Dokumentation und Erweiterungen von Funktionen, die in 0.20.0 veröffentlicht wurden.

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.

  • sklearn.neighbors bei metric=='jaccard' (Fehlerbehebung)

  • Verwendung der Metriken 'seuclidean' oder 'mahalanobis' in einigen Fällen (Fehlerbehebung)

Änderungsprotokoll#

sklearn.compose#

sklearn.metrics#

sklearn.neighbors#

  • Fix Die Jaccard-Distanzfunktion von sklearn.neighbors.DistanceMetric wurde korrigiert, um 0 zurückzugeben, wenn zwei Vektoren mit nur Nullen verglichen werden. #12685 von Thomas Fan.

sklearn.utils#

Code- und Dokumentations-Mitwirkende#

Mit Dank an

adanhawth, Adrin Jalali, Albert Thomas, Andreas Mueller, Dan Stine, Feda Curic, Hanmin Qin, Jan S, jeremiedbb, Joel Nothman, Joris Van den Bossche, josephsalmon, Katrin Leinweber, Loic Esteve, Muhammad Hassaan Rafique, Nicolas Hug, Olivier Grisel, Paul Paczuski, Reshama Shaikh, Sam Waterbury, Shivam Kotwalia, Thomas Fan

Version 0.20.1#

21. November 2018

Dies ist eine Bugfix-Version mit einigen geringfügigen Verbesserungen der Dokumentation und Erweiterungen von Funktionen, die in 0.20.0 veröffentlicht wurden. Beachten Sie, dass wir in dieser Version auch einige API-Änderungen aufgenommen haben, so dass Sie nach dem Update von 0.20.0 auf 0.20.1 möglicherweise einige zusätzliche Warnungen erhalten.

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.

Änderungsprotokoll#

sklearn.cluster#

  • Efficiency cluster.MeanShift versucht nicht mehr, eine verschachtelte Parallelisierung durchzuführen, da der Overhead die Leistung bei n_jobs > 1 erheblich beeinträchtigen würde. #12159 von Olivier Grisel.

  • Fix Ein Fehler in cluster.DBSCAN mit vorberechnetem dünnem Nachbarschaftsgraphen wurde behoben, der explizit Nullen auf der Diagonalen hinzufügte, auch wenn sie bereits vorhanden waren. #12105 von Tom Dupre la Tour.

sklearn.compose#

sklearn.datasets#

sklearn.decomposition#

  • Fix Eine Regression in v0.20.0 wurde behoben, bei der decomposition.IncrementalPCA einen Fehler auslöste, wenn die Anzahl der Stichproben im letzten Batch zum Anpassen von IncrementalPCA kleiner als n_components war. #12234 von Ming Li.

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.linear_model#

  • Fix linear_model.SGDClassifier und Varianten mit early_stopping=True verwendeten im Multiclass-Fall keine konsistente Validierungsaufteilung, was zu einem Absturz führte, wenn diese Schätzer als Teil einer parallelen Parametersuche oder Kreuzvalidierung verwendet wurden. #12122 von Olivier Grisel.

  • Fix Ein Fehler in linear_model.SGDClassifier im Multiclass-Fall wurde behoben. Jeder One-vs-All-Schritt wird in einem joblib.Parallel-Aufruf ausgeführt und mutiert einen gemeinsamen Parameter, was zu einem Segmentierungsfehler führte, wenn er innerhalb eines Backends mit Prozessen und nicht mit Threads aufgerufen wurde. Wir verwenden nun require=sharedmem bei der Erstellung der joblib.Parallel-Instanz. #12518 von Pierre Glaser und Olivier Grisel.

sklearn.metrics#

sklearn.mixture#

sklearn.neighbors#

sklearn.preprocessing#

sklearn.utils#

Sonstiges#

  • Fix Bei Verwendung von Site Joblib durch Setzen der Umgebungsvariable SKLEARN_SITE_JOBLIB wurde die Kompatibilität mit joblib 0.11 zusätzlich zu 0.12+ hinzugefügt. #12350 von Joel Nothman und Roman Yurchak.

  • Fix Sicherstellen, dass keine `FutureWarning` mehr ausgelöst wird, wenn `np.vstack` mit NumPy 1.16 und neuer aufgerufen wird (Verwendung von List Comprehensions anstelle von Generator Expressions an vielen Stellen der Scikit-learn-Codebasis). #12467 von Olivier Grisel.

  • API Change Alle Verweise auf sklearn.externals.joblib wurden entfernt und Joblib-Methoden, die in sklearn.utils verfügbar waren, mit Ausnahme von utils.parallel_backend und utils.register_parallel_backend, die es Benutzern ermöglichen, parallele Berechnungen in Scikit-learn zu konfigurieren, wurden als veraltet markiert. Andere Funktionalitäten sind Teil des joblib Pakets und sollten direkt durch dessen Installation verwendet werden. Ziel dieser Änderung ist die Vorbereitung auf das Entfernen von Joblib in zukünftigen Versionen von Scikit-learn. #12345 von Thomas Moreau

Code- und Dokumentationsmitwirkende#

Mit Dank an

^__^, Adrin Jalali, Andrea Navarrete, Andreas Mueller, bauks, BenjaStudio, Cheuk Ting Ho, Connossor, Corey Levinson, Dan Stine, daten-kieker, Denis Kataev, Dillon Gardner, Dmitry Vukolov, Dougal J. Sutherland, Edward J Brown, Eric Chang, Federico Caselli, Gabriel Marzinotto, Gael Varoquaux, GauravAhlawat, Gustavo De Mari Pereira, Hanmin Qin, haroldfox, JackLangerman, Jacopo Notarstefano, janvanrijn, jdethurens, jeremiedbb, Joel Nothman, Joris Van den Bossche, Koen, Kushal Chauhan, Lee Yi Jie Joel, Lily Xiong, mail-liam, Mark Hannel, melsyt, Ming Li, Nicholas Smith, Nicolas Hug, Nikolay Shebanov, Oleksandr Pavlyk, Olivier Grisel, Peter Hausamann, Pierre Glaser, Pulkit Maloo, Quentin Batista, Radostin Stoyanov, Ramil Nugmanov, Rebekah Kim, Reshama Shaikh, Rohan Singh, Roman Feldbauer, Roman Yurchak, Roopam Sharma, Sam Waterbury, Scott Lowe, Sebastian Raschka, Stephen Tierney, SylvainLan, TakingItCasual, Thomas Fan, Thomas Moreau, Tom Dupré la Tour, Tulio Casagrande, Utkarsh Upadhyay, Xing Han Lu, Yaroslav Halchenko, Zach Miller

Version 0.20.0#

25. September 2018

Diese Veröffentlichung enthält eine Fülle von Fehlerbehebungen, neuen Funktionen und Verbesserungen für die Scikit-learn-Bibliothek sowie Verbesserungen an der Dokumentation und den Beispielen. Vielen Dank an unsere Mitwirkenden!

Diese Veröffentlichung ist dem Gedenken an Raghav Rajagopalan gewidmet.

Highlights#

Wir haben versucht, unsere Unterstützung für gängige Anwendungsfälle in der Datenwissenschaft zu verbessern, einschließlich fehlender Werte, kategorialer Variablen, heterogener Daten und Merkmale/Ziele mit ungewöhnlichen Verteilungen. Fehlende Werte in Merkmalen, die als NaNs dargestellt werden, werden nun in spaltenweisen Vorverarbeitungsschritten wie Skalierern akzeptiert. Jedes Merkmal wird unter Ignorierung von NaNs angepasst, und Daten, die NaNs enthalten, können transformiert werden. Das neue Modul sklearn.impute bietet Schätzer zum Lernen trotz fehlender Daten.

ColumnTransformer behandelt den Fall, dass unterschiedliche Merkmale oder Spalten eines pandas.DataFrame unterschiedliche Vorverarbeitung benötigen. Zeichenketten- oder Pandas-kategorische Spalten können nun mit OneHotEncoder oder OrdinalEncoder kodiert werden.

TransformedTargetRegressor hilft, wenn das Regressionsziel zur Modellierung transformiert werden muss. PowerTransformer und KBinsDiscretizer gesellen sich zu QuantileTransformer als nichtlineare Transformationen.

Darüber hinaus wurde die Unterstützung für sample_weight für mehrere Schätzer hinzugefügt (einschließlich KMeans, BayesianRidge und KernelDensity) und die Stoppkriterien in anderen wurden verbessert (einschließlich MLPRegressor, GradientBoostingRegressor und SGDRegressor).

Diese Veröffentlichung ist auch die erste, die von einem Glossar gängiger Begriffe und API-Elemente begleitet wird, das von Joel Nothman entwickelt wurde. Das Glossar ist eine Referenzressource, die Benutzern und Mitwirkenden helfen soll, sich mit der Terminologie und den Konventionen von Scikit-learn vertraut zu machen.

Entschuldigung, wenn Ihr Beitrag nicht in die Highlights aufgenommen wurde. Hier gibt es viel zu tun...

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.

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.)

Bekannte größere Fehler#

  • #11924: linear_model.LogisticRegressionCV mit solver='lbfgs' und multi_class='multinomial' kann unter macOS nicht-deterministisch oder anderweitig fehlerhaft sein. Dies scheint auf Travis CI-Servern der Fall zu sein, wurde aber auf persönlichen MacBooks noch nicht bestätigt! Dieses Problem besteht bereits in früheren Versionen.

  • #9354: metrics.pairwise.euclidean_distances (die mehrmals in der Bibliothek verwendet wird) liefert Ergebnisse mit geringer Präzision, was ihre Verwendung mit 32-Bit-Float-Eingaben besonders beeinträchtigt. Dies wurde in den Versionen 0.18 und 0.19 problematischer, als einige Algorithmen geändert wurden, um die Umwandlung von 32-Bit-Daten in 64-Bit zu vermeiden.

Änderungsprotokoll#

Die Unterstützung für Python 3.3 wurde offiziell eingestellt.

sklearn.cluster#

sklearn.compose#

sklearn.covariance#

sklearn.datasets#

sklearn.decomposition#

  • Feature decomposition.dict_learning Funktionen und Modelle unterstützen nun Positivitätsbeschränkungen. Dies gilt für das Wörterbuch und den spärlichen Code. #6374 von John Kirkham.

  • Feature Fix decomposition.SparsePCA exponiert nun normalize_components. Wenn auf True gesetzt, werden die Trainings- und Testdaten während der Fit-Phase bzw. der Transform-Phase mit dem jeweiligen Trainingsmittelwert zentriert. Dies behebt das Verhalten von SparsePCA. Wenn auf False gesetzt, was der Standard ist, bleibt das vorherige abnormale Verhalten bestehen. Der Wert False dient der Rückwärtskompatibilität und sollte nicht verwendet werden. #11585 von Ivan Panico.

  • Efficiency Effizienzsteigerungen in decomposition.dict_learning. #11420 und andere von John Kirkham.

  • Fix Fehlerbehebung für nicht informative Fehlermeldungen in decomposition.IncrementalPCA: Es wird nun ein Fehler ausgelöst, wenn die Anzahl der Komponenten größer ist als die gewählte Batch-Größe. Der Fall n_components=None wurde entsprechend angepasst. #6452. Von Wally Gauze.

  • Fix Ein Fehler wurde behoben, bei dem die partial_fit Methode von decomposition.IncrementalPCA auf Python 2 Ganzzahldivision anstelle von Fließkommadivision verwendete. #9492 von James Bourbeau.

  • Fix In decomposition.PCA wird nun ein Fehler ausgelöst, wenn ein n_components Parameter größer als die Anzahl der Samples gewählt wird. Ebenso wählt der Fall n_components=None nun das Minimum aus n_samples und n_features. #8484 von Wally Gauze.

  • Fix Ein Fehler in decomposition.PCA wurde behoben, bei dem Benutzer unerwartete Fehler bei großen Datensätzen mit n_components='mle' auf Python 3-Versionen erhielten. #9886 von Hanmin Qin.

  • Fix Ein Unterlauf bei der Berechnung der KL-Divergenz für decomposition.NMF wurde behoben. #10142 von Tom Dupre la Tour.

  • Fix Ein Fehler in decomposition.SparseCoder wurde behoben, wenn OMP Sparse Coding parallel mit Read-Only Memory Mapped Datenstrukturen ausgeführt wurde. #5956 von Vighnesh Birodkar und Olivier Grisel.

sklearn.discriminant_analysis#

sklearn.dummy#

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.feature_selection#

sklearn.gaussian_process#

sklearn.impute#

sklearn.isotonic#

sklearn.linear_model#

sklearn.manifold#

  • Efficiency Geschwindigkeitsverbesserungen für die Methoden 'exact' und 'barnes_hut' in manifold.TSNE. #10593 und #10610 von Tom Dupre la Tour.

  • Feature Unterstützung für sparse Eingaben in manifold.Isomap.fit hinzugefügt. #8554 von Leland McInnes.

  • Feature manifold.t_sne.trustworthiness akzeptiert andere Metriken als euklidische. #9775 von William de Vazelhes.

  • Fix Ein Fehler in manifold.spectral_embedding wurde behoben, bei dem die Normalisierung des Spektrums eine Division anstelle einer Multiplikation verwendete. #8129 von Jan Margeta, Guillaume Lemaitre und Devansh D..

  • API Change Feature Der Parameter precomputed in der Funktion manifold.t_sne.trustworthiness wird veraltet erklärt. Stattdessen sollte der neue Parameter metric mit jeder kompatiblen Metrik, einschließlich 'precomputed', verwendet werden. In diesem Fall sollte die Eingabematrix X eine Matrix von paarweisen Abständen oder quadrierten Abständen sein. #9775 von William de Vazelhes.

  • API Change Der Parameter precomputed in der Funktion manifold.t_sne.trustworthiness wird veraltet erklärt. Stattdessen sollte der neue Parameter metric mit jeder kompatiblen Metrik, einschließlich 'precomputed', verwendet werden. In diesem Fall sollte die Eingabematrix X eine Matrix von paarweisen Abständen oder quadrierten Abständen sein. #9775 von William de Vazelhes.

sklearn.metrics#

sklearn.mixture#

sklearn.model_selection#

sklearn.multioutput#

sklearn.naive_bayes#

sklearn.neighbors#

sklearn.neural_network#

sklearn.pipeline#

  • Feature Die Methode predict von pipeline.Pipeline leitet nun Schlüsselwortargumente an den letzten Schätzer der Pipeline weiter, was die Verwendung von Parametern wie return_std in einer Pipeline mit Vorsicht ermöglicht. #9304 von Breno Freitas.

  • API Change pipeline.FeatureUnion unterstützt nun 'drop' als Transformer zum Verwerfen von Merkmalen. #11144 von Thomas Fan.

sklearn.preprocessing#

sklearn.svm#

  • Korrektur Ein Fehler in svm.SVC wurde behoben, bei dem der Parameter kernel in Python2 unicode war und die Methode predict_proba bei dichten Eingaben einen unerwarteten TypeError auslöste. #10412 von Jiongyan Zhang.

  • API-Änderung Der Parameter random_state in svm.OneClassSVM wird als veraltet markiert, da die zugrunde liegende Implementierung nicht zufällig ist. #9497 von Albert Thomas.

  • API-Änderung Der Standardwert des Parameters gamma von svm.SVC, NuSVC, SVR, NuSVR, OneClassSVM ändert sich von 'auto' zu 'scale' in Version 0.22, um unskalierte Merkmale besser zu berücksichtigen. #8361 von Gaurav Dhingra und Ting Neo.

sklearn.tree#

  • Verbesserung Obwohl privat (und daher keine garantierte API-Stabilität), können tree._criterion.ClassificationCriterion und tree._criterion.RegressionCriterion jetzt cimportiert und erweitert werden. #10325 von Camil Staps.

  • Korrektur Ein Fehler in tree.BaseDecisionTree mit splitter="best" wurde behoben, bei dem der Aufteilungsschwellenwert unendlich werden konnte, wenn die Werte in X unendlich nahe waren. #10536 von Jonathan Ohayon.

  • Korrektur Ein Fehler in tree.MAE wurde behoben, um sicherzustellen, dass die Stichprobengewichte bei der Berechnung der Baum-MAE-Unreinheit verwendet werden. Das bisherige Verhalten hätte zu suboptimalen Aufteilungen führen können, da die Unreinheitsberechnung allen Stichproben gleiche Gewichtung zugrunde legte. #11464 von John Stott.

sklearn.utils#

Mehrere Module#

Verschiedenes#

  • Hauptfunktion Ein neuer Konfigurationsparameter, working_memory, wurde hinzugefügt, um die Grenzen des Speicherverbrauchs bei gechunkten Operationen zu steuern, wie z. B. bei der neuen Funktion metrics.pairwise_distances_chunked. Siehe Begrenzung des Arbeitsspeichers. #10280 von Joel Nothman und Aman Dalmia.

  • Funktion Die Version von joblib, die mit Scikit-learn gebündelt ist, ist nun 0.12. Diese verwendet eine neue Standard-Multiprocessing-Implementierung namens loky. Obwohl dies zu einem gewissen Overhead für Speicher und Kommunikation führen kann, sollte sie eine größere plattformübergreifende Stabilität als die Standardbibliothek von Python für Multiprocessing bieten. #11741 von den Joblib-Entwicklern, insbesondere Thomas Moreau und Olivier Grisel.

  • Funktion Eine Umgebungsvariable zur Verwendung von systemeigenem Joblib anstelle des eingebetteten wurde hinzugefügt (siehe Umgebungsvariablen). Die Haupt-API von Joblib wird nun in sklearn.utils verfügbar gemacht. #11166 von Gael Varoquaux.

  • Funktion Nahezu vollständige PyPy 3-Unterstützung hinzugefügt. Bekannte nicht unterstützte Funktionalitäten sind datasets.load_svmlight_file, feature_extraction.FeatureHasher und feature_extraction.text.HashingVectorizer. Für die Ausführung unter PyPy sind PyPy3-v5.10+, Numpy 1.14.0+ und Scipy 1.1.0+ erforderlich. #11010 von Ronan Lamy und Roman Yurchak.

  • Funktion Eine Hilfsmethode sklearn.show_versions wurde hinzugefügt, um zur Fehlersuche relevante Informationen auszugeben. Sie enthält Informationen über das Benutzersystem, die Python-Ausführungsumgebung, die Version der Hauptbibliotheken und BLAS-Bindungsinformationen. #11596 von Alexandre Boucaud

  • Korrektur Ein Fehler wurde behoben, der beim Setzen von Parametern auf einem Meta-Estimator auftrat, der sowohl einen gewrappten Estimator als auch dessen Parameter betraf. #9999 von Marcus Voss und Joel Nothman.

  • Korrektur Ein Fehler wurde behoben, bei dem der Aufruf von sklearn.base.clone nicht thread-sicher war und zu einem Fehler „pop from empty list“ führen konnte. #9569 von Andreas Müller.

  • API-Änderung Der Standardwert von n_jobs wird von 1 auf None in allen zugehörigen Funktionen und Klassen geändert. n_jobs=None bedeutet nicht gesetzt. Es wird im Allgemeinen als n_jobs=1 interpretiert, es sei denn, der aktuelle joblib.Parallel-Backend-Kontext gibt etwas anderes an (siehe Glossar für weitere Informationen). Beachten Sie, dass diese Änderung sofort erfolgt (d. h. ohne eine Deprekationsphase). #11741 von Olivier Grisel.

  • Korrektur Ein Fehler in Validierungshelfern wurde behoben, bei dem die Übergabe eines Dask DataFrames zu einem Fehler führte. #12462 von Zachariah Miller

Änderungen an Schätzerprüfungen#

Diese Änderungen betreffen hauptsächlich Bibliotheksentwickler.

Code- und Dokumentationsbeitragende#

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

211217613, Aarshay Jain, absolutelyNoWarranty, Adam Greenhall, Adam Kleczewski, Adam Richie-Halford, adelr, AdityaDaflapurkar, Adrin Jalali, Aidan Fitzgerald, aishgrt1, Akash Shivram, Alan Liddell, Alan Yee, Albert Thomas, Alexander Lenail, Alexander-N, Alexandre Boucaud, Alexandre Gramfort, Alexandre Sevin, Alex Egg, Alvaro Perez-Diaz, Amanda, Aman Dalmia, Andreas Bjerre-Nielsen, Andreas Mueller, Andrew Peng, Angus Williams, Aniruddha Dave, annaayzenshtat, Anthony Gitter, Antonio Quinonez, Anubhav Marwaha, Arik Pamnani, Arthur Ozga, Artiem K, Arunava, Arya McCarthy, Attractadore, Aurélien Bellet, Aurélien Geron, Ayush Gupta, Balakumaran Manoharan, Bangda Sun, Barry Hart, Bastian Venthur, Ben Lawson, Benn Roth, Breno Freitas, Brent Yi, brett koonce, Caio Oliveira, Camil Staps, cclauss, Chady Kamar, Charlie Brummitt, Charlie Newey, chris, Chris, Chris Catalfo, Chris Foster, Chris Holdgraf, Christian Braune, Christian Hirsch, Christian Hogan, Christopher Jenness, Clement Joudet, cnx, cwitte, Dallas Card, Dan Barkhorn, Daniel, Daniel Ferreira, Daniel Gomez, Daniel Klevebring, Danielle Shwed, Daniel Mohns, Danil Baibak, Darius Morawiec, David Beach, David Burns, David Kirkby, David Nicholson, David Pickup, Derek, Didi Bar-Zev, diegodlh, Dillon Gardner, Dillon Niederhut, dilutedsauce, dlovell, Dmitry Mottl, Dmitry Petrov, Dor Cohen, Douglas Duhaime, Ekaterina Tuzova, Eric Chang, Eric Dean Sanchez, Erich Schubert, Eunji, Fang-Chieh Chou, FarahSaeed, felix, Félix Raimundo, fenx, filipj8, FrankHui, Franz Wompner, Freija Descamps, frsi, Gabriele Calvo, Gael Varoquaux, Gaurav Dhingra, Georgi Peev, Gil Forsyth, Giovanni Giuseppe Costa, gkevinyen5418, goncalo-rodrigues, Gryllos Prokopis, Guillaume Lemaitre, Guillaume “Vermeille” Sanchez, Gustavo De Mari Pereira, hakaa1, Hanmin Qin, Henry Lin, Hong, Honghe, Hossein Pourbozorg, Hristo, Hunan Rostomyan, iampat, Ivan PANICO, Jaewon Chung, Jake VanderPlas, jakirkham, James Bourbeau, James Malcolm, Jamie Cox, Jan Koch, Jan Margeta, Jan Schlüter, janvanrijn, Jason Wolosonovich, JC Liu, Jeb Bearer, jeremiedbb, Jimmy Wan, Jinkun Wang, Jiongyan Zhang, jjabl, jkleint, Joan Massich, Joël Billaud, Joel Nothman, Johannes Hansen, JohnStott, Jonatan Samoocha, Jonathan Ohayon, Jörg Döpfert, Joris Van den Bossche, Jose Perez-Parras Toledano, josephsalmon, jotasi, jschendel, Julian Kuhlmann, Julien Chaumond, julietcl, Justin Shenk, Karl F, Kasper Primdal Lauritzen, Katrin Leinweber, Kirill, ksemb, Kuai Yu, Kumar Ashutosh, Kyeongpil Kang, Kye Taylor, kyledrogo, Leland McInnes, Léo DS, Liam Geron, Liutong Zhou, Lizao Li, lkjcalc, Loic Esteve, louib, Luciano Viola, Lucija Gregov, Luis Osa, Luis Pedro Coelho, Luke M Craig, Luke Persola, Mabel, Mabel Villalba, Maniteja Nandana, MarkIwanchyshyn, Mark Roth, Markus Müller, MarsGuy, Martin Gubri, martin-hahn, martin-kokos, mathurinm, Matthias Feurer, Max Copeland, Mayur Kulkarni, Meghann Agarwal, Melanie Goetz, Michael A. Alcorn, Minghui Liu, Ming Li, Minh Le, Mohamed Ali Jamaoui, Mohamed Maskani, Mohammad Shahebaz, Muayyad Alsadi, Nabarun Pal, Nagarjuna Kumar, Naoya Kanai, Narendran Santhanam, NarineK, Nathaniel Saul, Nathan Suh, Nicholas Nadeau, P.Eng., AVS, Nick Hoh, Nicolas Goix, Nicolas Hug, Nicolau Werneck, nielsenmarkus11, Nihar Sheth, Nikita Titov, Nilesh Kevlani Nirvan Anjirbag, notmatthancock, nzw, Oleksandr Pavlyk, oliblum90, Oliver Rausch, Olivier Grisel, Oren Milman, Osaid Rehman Nasir, pasbi, Patrick Fernandes, Patrick Olden, Paul Paczuski, Pedro Morales, Peter, Peter St. John, pierreablin, pietruh, Pinaki Nath Chowdhury, Piotr Szymański, Pradeep Reddy Raamana, Pravar D Mahajan, pravarmahajan, QingYing Chen, Raghav RV, Rajendra arora, RAKOTOARISON Herilalaina, Rameshwar Bhaskaran, RankyLau, Rasul Kerimov, Reiichiro Nakano, Rob, Roman Kosobrodov, Roman Yurchak, Ronan Lamy, rragundez, Rüdiger Busche, Ryan, Sachin Kelkar, Sagnik Bhattacharya, Sailesh Choyal, Sam Radhakrishnan, Sam Steingold, Samuel Bell, Samuel O. Ronsin, Saqib Nizam Shamsi, SATISH J, Saurabh Gupta, Scott Gigante, Sebastian Flennerhag, Sebastian Raschka, Sebastien Dubois, Sébastien Lerique, Sebastin Santy, Sergey Feldman, Sergey Melderis, Sergul Aydore, Shahebaz, Shalil Awaley, Shangwu Yao, Sharad Vijalapuram, Sharan Yalburgi, shenhanc78, Shivam Rastogi, Shu Haoran, siftikha, Sinclert Pérez, SolutusImmensus, Somya Anand, srajan paliwal, Sriharsha Hatwar, Sri Krishna, Stefan van der Walt, Stephen McDowell, Steven Brown, syonekura, Taehoon Lee, Takanori Hayashi, tarcusx, Taylor G Smith, theriley106, Thomas, Thomas Fan, Thomas Heavey, Tobias Madsen, tobycheese, Tom Augspurger, Tom Dupré la Tour, Tommy, Trevor Stephens, Trishnendu Ghorai, Tulio Casagrande, twosigmajab, Umar Farouk Umar, Urvang Patel, Utkarsh Upadhyay, Vadim Markovtsev, Varun Agrawal, Vathsala Achar, Vilhelm von Ehrenheim, Vinayak Mehta, Vinit, Vinod Kumar L, Viraj Mavani, Viraj Navkal, Vivek Kumar, Vlad Niculae, vqean3, Vrishank Bhardwaj, vufg, wallygauze, Warut Vijitbenjaronk, wdevazelhes, Wenhao Zhang, Wes Barnett, Will, William de Vazelhes, Will Rosenfeld, Xin Xiong, Yiming (Paul) Li, ymazari, Yufeng, Zach Griffith, Zé Vinícius, Zhenqing Hu, Zhiqing Xiao, Zijie (ZJ) Poh