Version 0.17#
Version 0.17.1#
18. Februar 2016
Änderungsprotokoll#
Fehlerbehebungen#
Verwendetes joblib auf Version 0.9.4 aktualisiert, was einen wichtigen Fehler in
joblib.Parallelbehebt, der bei der Arbeit mit Datensätzen größer als 1 MB stillschweigend zu falschen Ergebnissen führen konnte: joblib/joblibBehob das Lesen von Bunch-Pickles, die mit scikit-learn Version <= 0.16 generiert wurden. Dies kann Benutzer betreffen, die bereits einen Datensatz mit scikit-learn 0.16 heruntergeladen und ihn mit scikit-learn 0.17 laden. Siehe #6196, wie sich dies auf
datasets.fetch_20newsgroupsausgewirkt hat. Von Loic Esteve.Einen Fehler behoben, der die Verwendung des ROC AUC-Scores für die Gitter-Suche auf mehreren CPUs/Kernen bei großen Arrays verhinderte. Siehe #6147 Von Olivier Grisel.
Einen Fehler behoben, der die korrekte Einstellung des Parameters
presortinensemble.GradientBoostingRegressorverhinderte. Siehe #5857 Von Andrew McCulloh.Einen joblib-Fehler behoben, der bei der Auswertung der Perplexität eines
decomposition.LatentDirichletAllocation-Modells auftrat. Siehe #6258 Von Chyi-Kwei Yau.
Version 0.17#
5. November 2015
Änderungsprotokoll#
Neue Funktionen#
Alle Scaler-Klassen außer
preprocessing.RobustScalerkönnen online durch Aufrufen vonpartial_fittrainiert werden. Von Giorgio Patrini.Die neue Klasse
ensemble.VotingClassifierimplementiert einen "Mehrheitsregel" / "Soft Voting"-Ensemble-Klassifikator zur Kombination von Schätzern für die Klassifikation. Von Sebastian Raschka.Die neue Klasse
preprocessing.RobustScalerbietet eine Alternative zupreprocessing.StandardScalerfür die zentrierte und bereichsnormierte Merkmalskalierung, die robust gegenüber Ausreißern ist. Von Thomas Unterthiner.Die neue Klasse
preprocessing.MaxAbsScalerbietet eine Alternative zupreprocessing.MinMaxScalerfür die zentrierte und bereichsnormierte Merkmalskalierung, wenn die Daten bereits zentriert oder dünn besetzt sind. Von Thomas Unterthiner.Die neue Klasse
preprocessing.FunctionTransformerwandelt eine Python-Funktion in einPipeline-kompatibles Transformer-Objekt um. Von Joe Jevnik.Die neuen Klassen
cross_validation.LabelKFoldundcross_validation.LabelShuffleSplitgenerieren Trainings-/Test-Folds, die denen voncross_validation.KFoldundcross_validation.ShuffleSplitähneln, außer dass die Folds auf einem Label-Array basieren. Von Brian McFee, Jean Kossaifi und Gilles Louppe.decomposition.LatentDirichletAllocationimplementiert das Latent Dirichlet Allocation Topic Model mit Online-Variationsinferenz. Von Chyi-Kwei Yau, mit Code basierend auf einer Implementierung von Matt Hoffman. (#3659)Der neue Solver
sagimplementiert Stochastic Average Gradient Descent und ist sowohl inlinear_model.LogisticRegressionals auch inlinear_model.Ridgeverfügbar. Dieser Solver ist sehr effizient für große Datensätze. Von Danny Sullivan und Tom Dupre la Tour. (#4738)Der neue Solver
cdimplementiert Coordinate Descent indecomposition.NMF. Der vorherige Solver basierend auf Projected Gradient ist weiterhin verfügbar, indem der neue Parametersolveraufpggesetzt wird, ist aber veraltet und wird in 0.19 zusammen mitdecomposition.ProjectedGradientNMFund den Parameternsparseness,eta,betaundnls_max_iterentfernt. Neue Parameteralphaundl1_ratiosteuern die L1- und L2-Regularisierung, undshufflefügt demcd-Solver einen Shuffling-Schritt hinzu. Von Tom Dupre la Tour und Mathieu Blondel.
Verbesserungen#
manifold.TSNEunterstützt nun die approximative Optimierung über die Barnes-Hut-Methode, was zu einer deutlich schnelleren Anpassung führt. Von Christopher Erick Moody. (#4025)cluster.MeanShiftunterstützt nun parallele Ausführung, wie in der Funktionmean_shiftimplementiert. Von Martino Sorbaro.naive_bayes.GaussianNBunterstützt nun das Training mitsample_weight. Von Jan Hendrik Metzen.dummy.DummyClassifierunterstützt nun eine Prior-Fitting-Strategie. Von Arnaud Joly.Eine
fit_predict-Methode fürmixture.GMMund Unterklassen wurde hinzugefügt. Von Cory Lorenz.Die Metrik
metrics.label_ranking_losswurde hinzugefügt. Von Arnaud Joly.Die Metrik
metrics.cohen_kappa_scorewurde hinzugefügt.Ein Konstruktorparameter
warm_startwurde zu den Bagging-Ensemble-Modellen hinzugefügt, um die Größe des Ensembles zu erhöhen. Von Tim Head.Option zur Verwendung von Multi-Output-Regressionsmetriken ohne Mittelwertbildung hinzugefügt. Von Konstantin Shmelkov und Michael Eickenberg.
stratify-Option zucross_validation.train_test_splitfür stratifizierte Aufteilungen hinzugefügt. Von Miroslav Batchkarov.Die Funktion
tree.export_graphvizunterstützt nun ästhetische Verbesserungen fürtree.DecisionTreeClassifierundtree.DecisionTreeRegressor, einschließlich Optionen zur Färbung von Knoten nach ihrer Mehrheitsklasse oder Verunreinigung, Anzeige von Variablennamen und Verwendung von Knotenanteilen anstelle von rohen Stichprobennummern. Von Trevor Stephens.Geschwindigkeit des
newton-cg-Solvers inlinear_model.LogisticRegressionverbessert, indem die Berechnung des Verlusts vermieden wird. Von Mathieu Blondel und Tom Dupre la Tour.Die Heuristik
class_weight="auto"in Klassifikatoren, dieclass_weightunterstützen, wurde veraltet und durch die Optionclass_weight="balanced"ersetzt, die eine einfachere Formel und Interpretation hat. Von Hanna Wallach und Andreas Müller.Parameter
class_weighthinzugefügt, um Stichproben automatisch nach Klassenverteilung fürlinear_model.PassiveAggressiveClassifierzu gewichten. Von Trevor Stephens.Backlinks von den API-Referenzseiten zum Benutzerhandbuch hinzugefügt. Von Andreas Müller.
Der Parameter
labelsfürsklearn.metrics.f1_score,sklearn.metrics.fbeta_score,sklearn.metrics.recall_scoreundsklearn.metrics.precision_scorewurde erweitert. Es ist nun möglich, eine oder mehrere Labels zu ignorieren, z.B. wenn ein Multiklassenproblem eine zu ignorierende Mehrheitsklasse hat. Von Joel Nothman.sample_weight-Unterstützung fürlinear_model.RidgeClassifierhinzugefügt. Von Trevor Stephens.Option für dünn besetzte Ausgaben von
sklearn.metrics.pairwise.cosine_similaritybereitgestellt. Von Jaidev Deshpande.preprocessing.minmax_scalehinzugefügt, um eine Funktionsschnittstelle fürpreprocessing.MinMaxScalerbereitzustellen. Von Thomas Unterthiner.dump_svmlight_filebehandelt nun mehrfache Label-Datensätze. Von Chih-Wei Chang.RCV1-Datensatzlader (
sklearn.datasets.fetch_rcv1). Von Tom Dupre la Tour.Der klassische Zwei-Klassen-Klassifikationsdatensatz "Wisconsin Breast Cancer" ist nun in scikit-learn enthalten und mit
datasets.load_breast_cancerverfügbar.Upgrade auf joblib 0.9.3, um von der neuen automatischen Stapelverarbeitung kurzer Aufgaben zu profitieren. Dies ermöglicht es scikit-learn, von Parallelität zu profitieren, wenn viele sehr kurze Aufgaben parallel ausgeführt werden, z.B. vom Meta-Estimator
grid_search.GridSearchCVmitn_jobs > 1in Verbindung mit einem großen Raster von Parametern auf einem kleinen Datensatz. Von Vlad Niculae, Olivier Grisel und Loic Esteve.Weitere Details zu Änderungen in joblib 0.9.3 finden Sie in den Release Notes: joblib/joblib
Verbesserte Geschwindigkeit (3-mal pro Iteration) von
decomposition.DictLearningmit der Coordinate-Descent-Methode vonlinear_model.Lasso. Von Arthur Mensch.Parallele Verarbeitung (Threaded) für Abfragen von Nachbarn (mithilfe des Ball-Trees) von Nikolay Mayorov.
datasets.make_multilabel_classificationermöglicht die Ausgabe eines dünn besetzteny. Von Kashif Rasul.cluster.DBSCANakzeptiert nun eine dünn besetzte Matrix von voreingeberechneten Abständen, was eine speichereffiziente Abståndsvorberechnung ermöglicht. Von Joel Nothman.tree.DecisionTreeClassifierexponiert nun eineapply-Methode zum Abrufen der Blattindizes, denen Stichproben zugeordnet werden. Von Daniel Galvez und Gilles Louppe.Beschleunigung von Entscheidungsbaum-Regressoren, Random-Forest-Regressoren, Extra-Trees-Regressoren und Gradient-Boosting-Schätzern durch Berechnung eines Proxys für die Verunreinigungsverbesserung während des Baumwachstums. Die Proxy-Größe ist so beschaffen, dass die Teilung, die diesen Wert maximiert, auch die Verunreinigungsverbesserung maximiert. Von Arnaud Joly, Jacob Schreiber und Gilles Louppe.
Beschleunigung von baumbasierten Methoden durch Reduzierung der Anzahl der Berechnungen, die bei der Berechnung des Verunreinigungsmaßes erforderlich sind, unter Berücksichtigung der linearen Beziehung der berechneten Statistiken. Der Effekt ist besonders sichtbar bei Extra Trees und auf Datensätzen mit kategorischen oder dünn besetzten Merkmalen. Von Arnaud Joly.
ensemble.GradientBoostingRegressorundensemble.GradientBoostingClassifierexponieren nun eineapply-Methode zum Abrufen der Blattindizes, in denen jede Stichprobe unter jedem Versuch landet. Von Jacob Schreiber.sample_weight-Unterstützung fürlinear_model.LinearRegressionhinzugefügt. Von Sonny Hu. (##4881)Parameter
n_iter_without_progresszumanifold.TSNEhinzugefügt, um das Stoppkriterium zu steuern. Von Santi Villalba. (#5186)Optionaler Parameter
random_stateinlinear_model.Ridgehinzugefügt, um den Seed des Pseudo-Zufallsgenerators für densag-Solver zu setzen. Von Tom Dupre la Tour.Optionaler Parameter
warm_startinlinear_model.LogisticRegressionhinzugefügt. Wenn auf True gesetzt, werden die Solverlbfgs,newton-cgundsagmit den zuvor berechneten Koeffizienten initialisiert. Von Tom Dupre la Tour.sample_weight-Unterstützung fürlinear_model.LogisticRegressionfür die Solverlbfgs,newton-cgundsaghinzugefügt. Von Valentin Stolbunov. Unterstützung für denliblinear-Solver hinzugefügt. Von Manoj Kumar.Optionaler Parameter
presortzuensemble.GradientBoostingRegressorundensemble.GradientBoostingClassifierhinzugefügt, wobei das Standardverhalten beibehalten wird. Dies ermöglicht Gradient-Boostern, das Vorsortieren beim Erstellen tiefer Bäume oder bei der Verwendung dünn besetzter Daten zu deaktivieren. Von Jacob Schreiber.metrics.roc_curveso geändert, dass unnötige Schwellenwerte standardmäßig entfernt werden. Von Graham Clenaghan.Meta-Transformer
feature_selection.SelectFromModelhinzugefügt, der zusammen mit Schätzern, die ein Attributcoef_oderfeature_importances_haben, verwendet werden kann, um wichtige Merkmale der Eingabedaten auszuwählen. Von Maheshakya Wijewardena, Joel Nothman und Manoj Kumar.metrics.pairwise.laplacian_kernelhinzugefügt. Von Clyde Fare.covariance.GraphLassoermöglicht die separate Steuerung des Konvergenzkriteriums für das Elastic-Net-Teilproblem über den Parameterenet_tol.Verbesserte Ausführlichkeit in
decomposition.DictionaryLearning.ensemble.RandomForestClassifierundensemble.RandomForestRegressorspeichern die bei Bagging verwendeten Stichproben nicht mehr explizit, was zu einem deutlich reduzierten Speicherbedarf für die Speicherung von Random-Forest-Modellen führt.Option
positivezulinear_model.Larsundlinear_model.lars_pathhinzugefügt, um Koeffizienten positiv zu erzwingen. (#5131)Parameter
X_norm_squaredzumetrics.pairwise.euclidean_distanceshinzugefügt, um voreingeberechnete quadrierte Normen fürXbereitzustellen.Methode
fit_predictzupipeline.Pipelinehinzugefügt.Funktion
preprocessing.minmax_scalehinzugefügt.
Fehlerbehebungen#
Nicht-Determinismus in
dummy.DummyClassifiermit dünn besetzten Multi-Label-Ausgaben behoben. Von Andreas Müller.Ausgabeform von
linear_model.RANSACRegressorauf(n_samples, )korrigiert. Von Andreas Müller.Fehler in
decomposition.DictLearningbehoben, wennn_jobs < 0. Von Andreas Müller.Fehler behoben, bei dem
grid_search.RandomizedSearchCVbei großen diskreten Gittern viel Speicher verbrauchen konnte. Von Joel Nothman.Fehler in
linear_model.LogisticRegressionCVbehoben, bei dempenaltybei der endgültigen Anpassung ignoriert wurde. Von Manoj Kumar.Fehler in
ensemble.forest.ForestClassifierbehoben, wennoob_scoreberechnet wurde und X eine sparse.csc_matrix ist. Von Ankur Ankan.Alle Regressoren behandeln und warnen nun konsistent, wenn
ymit der Form(n_samples, 1)übergeben wird. Von Andreas Müller und Henry Lin. (#5431)Fehlerkorrektur in
cluster.KMeansCluster-Neuzuweisung für dünn besetzte Eingaben von Lars Buitinck.Fehler in
discriminant_analysis.LinearDiscriminantAnalysisbehoben, der zu asymmetrischen Kovarianzmatrizen bei Verwendung von Schrumpfung führen konnte. Von Martin Billinger.cross_validation.cross_val_predictfür Schätzer mit dünn besetzten Vorhersagen korrigiert. Von Buddha Prakash.Die Methode
predict_probavonlinear_model.LogisticRegressionkorrigiert, um Soft-Max anstelle von One-vs-Rest-Normalisierung zu verwenden. Von Manoj Kumar. (#5182)Die Methode
partial_fitvonlinear_model.SGDClassifierkorrigiert, wenn sie mitaverage=Trueaufgerufen wird. Von Andrew Lamb. (#5282)Dataset-Fetcher verwenden unter Python 2 und Python 3 unterschiedliche Dateinamen, um Kompatibilitätsprobleme beim Pickling zu vermeiden. Von Olivier Grisel. (#5355)
Behobener Fehler in
naive_bayes.GaussianNB, der dazu führte, dass Klassifizierungsergebnisse vom Skalierungsfaktor abhingen. Von Jake Vanderplas.Temporärer Fix für
linear_model.Ridge, der bei der Anpassung des Achsenabschnitts im Falle von dünnbesetzten Daten fehlerhaft war. Der Fix wechselt in diesem Fall automatisch zum Solver 'sag'. #5360 von Tom Dupre la Tour.Behobener Performance-Fehler in
decomposition.RandomizedPCAbei Daten mit einer großen Anzahl von Merkmalen und wenigen Stichproben. (#4478) Von Andreas Müller, Loic Esteve und Giorgio Patrini.Behobener Fehler in
cross_decomposition.PLS, der zu instabilen und plattformabhängigen Ausgaben führte und beifit_transformfehlschlug. Von Arthur Mensch.Korrekturen an der
Bunch-Klasse zur Speicherung von Datensätzen.Behobener Fehler, bei dem
ensemble.plot_partial_dependenceden Parameterpercentilesignorierte.Die Übergabe eines
setals Vokabular inCountVectorizerführt nicht mehr zu inkonsistenten Ergebnissen beim Pickling.Behobene Bedingungen, wann eine vordefinierte Gram-Matrix neu berechnet werden muss, in
linear_model.LinearRegression,linear_model.OrthogonalMatchingPursuit,linear_model.Lassoundlinear_model.ElasticNet.Behobene inkonsistente Speicherlayout im Koordinatenabstieg-Solver, die
linear_model.DictionaryLearningundcovariance.GraphLassobetraf. (#5337) Von Olivier Grisel.manifold.LocallyLinearEmbeddingignoriert nicht mehr den Parameterreg.Nachbar-Schätzer mit benutzerdefinierten Distanzmetriken können jetzt gepickelt werden. (#4362)
Behobener Fehler in
pipeline.FeatureUnion, bei demtransformer_weightsbei Grid-Suchen nicht korrekt behandelt wurden.Behobener Fehler in
linear_model.LogisticRegressionundlinear_model.LogisticRegressionCVbei Verwendung vonclass_weight='balanced'oderclass_weight='auto'. Von Tom Dupre la Tour.Fehler behoben #5495 bei Verwendung von OVR(SVC(decision_function_shape="ovr")). Behoben von Elvis Dohmatob.
Zusammenfassung der API-Änderungen#
Die Attribute
data_min,data_maxunddata_rangeinpreprocessing.MinMaxScalersind veraltet und ab Version 0.19 nicht mehr verfügbar. Stattdessen stellt die Klasse nundata_min_,data_max_unddata_range_zur Verfügung. Von Giorgio Patrini.Alle Scaler-Klassen haben nun ein Attribut
scale_, die feature-bezogene Skalierung, die von ihrentransform-Methoden angewendet wird. Das alte Attributstd_inpreprocessing.StandardScalerist veraltet und wird durchscale_ersetzt; es wird ab Version 0.19 nicht mehr verfügbar sein. Von Giorgio Patrini.svm.SVCundsvm.NuSVChaben nun einen Parameterdecision_function_shape, um ihre Entscheidungfunktion mit der Form(n_samples, n_classes)durch Setzen vondecision_function_shape='ovr'zu erzeugen. Dies wird das Standardverhalten ab Version 0.19 sein. Von Andreas Müller.Die Übergabe von 1D-Datenarrays als Eingabe an Schätzer ist nun veraltet, da dies zu Verwirrung darüber führte, wie die Array-Elemente als Merkmale oder Stichproben interpretiert werden sollten. Alle Datenarrays werden nun explizit mit der Form
(n_samples, n_features)erwartet. Von Vighnesh Birodkar.lda.LDAundqda.QDAwurden nachdiscriminant_analysis.LinearDiscriminantAnalysisunddiscriminant_analysis.QuadraticDiscriminantAnalysisverschoben worden.Die Parameter
store_covarianceundtolwurden in der fit-Methode in den Konstruktor verschoben beidiscriminant_analysis.LinearDiscriminantAnalysisund die Parameterstore_covariancesundtolwurden in der fit-Methode in den Konstruktor verschoben beidiscriminant_analysis.QuadraticDiscriminantAnalysis.Modelle, die von
_LearntSelectorMixinerben, unterstützen die transform-Methoden nicht mehr. (d.h. RandomForests, GradientBoosting, LogisticRegression, DecisionTrees, SVMs und SGD-bezogene Modelle). Wickeln Sie diese Modelle um den Meta-Transformerfeature_selection.SelectFromModel, um Merkmale (gemäßcoefs_oderfeature_importances_) zu entfernen, die unter einem bestimmten Schwellenwert liegen.cluster.KMeansführt Cluster-Zuweisungen bei Nichtkonvergenz erneut aus, um die Konsistenz vonpredict(X)undlabels_zu gewährleisten. Von Vighnesh Birodkar.Klassifizierer- und Regressor-Modelle werden nun mit dem Attribut
_estimator_typeentsprechend markiert.Cross-Validation-Iteratoren liefern immer Indizes für Trainings- und Testsets, keine Booleschen Masken.
Die Methode
decision_functionfür alle Regressoren ist veraltet und wird in Version 0.19 entfernt. Verwenden Sie stattdessenpredict.datasets.load_lfw_pairsist veraltet und wird in Version 0.19 entfernt. Verwenden Sie stattdessendatasets.fetch_lfw_pairs.Das veraltete Modul
hmmwurde entfernt.Der veraltete Cross-Validation-Iterator
Bootstrapwurde entfernt.Die veralteten Klassen
WardundWardAgglomerativewurden entfernt. Verwenden Sie stattdessencluster.AgglomerativeClustering.cross_validation.check_cvist nun eine öffentliche Funktion.Die Eigenschaft
residues_vonlinear_model.LinearRegressionist veraltet und wird in Version 0.19 entfernt.Der veraltete Parameter
n_jobsvonlinear_model.LinearRegressionwurde in den Konstruktor verschoben.Der veraltete Parameter
class_weightderfit-Methode vonlinear_model.SGDClassifierwurde entfernt. Verwenden Sie stattdessen den Konstruktor-Parameter.Die veraltete Unterstützung für das multilabel-Format Sequenz von Sequenzen (oder Liste von Listen) wurde entfernt. Um zum unterstützten binären Indikatormatrixformat zu konvertieren und daraus, verwenden Sie
MultiLabelBinarizer.Das Verhalten beim Aufruf der Methode
inverse_transformvonPipeline.pipelinewird sich in Version 0.19 ändern. Sie wird keine eindimensionale Eingabe mehr in eine zweidimensionale Eingabe umformen.Die veralteten Attribute
indicator_matrix_,multilabel_undclasses_vonpreprocessing.LabelBinarizerwurden entfernt.Die Verwendung von
gamma=0insvm.SVCundsvm.SVR, um gamma automatisch auf1. / n_featureszu setzen, ist veraltet und wird in Version 0.19 entfernt. Verwenden Sie stattdessengamma="auto".
Code-Mitarbeiter#
Aaron Schumacher, Adithya Ganesh, akitty, Alexandre Gramfort, Alexey Grigorev, Ali Baharev, Allen Riddell, Ando Saabas, Andreas Mueller, Andrew Lamb, Anish Shah, Ankur Ankan, Anthony Erlinger, Ari Rouvinen, Arnaud Joly, Arnaud Rachez, Arthur Mensch, banilo, Barmaley.exe, benjaminirving, Boyuan Deng, Brett Naul, Brian McFee, Buddha Prakash, Chi Zhang, Chih-Wei Chang, Christof Angermueller, Christoph Gohlke, Christophe Bourguignat, Christopher Erick Moody, Chyi-Kwei Yau, Cindy Sridharan, CJ Carey, Clyde-fare, Cory Lorenz, Dan Blanchard, Daniel Galvez, Daniel Kronovet, Danny Sullivan, Data1010, David, David D Lowe, David Dotson, djipey, Dmitry Spikhalskiy, Donne Martin, Dougal J. Sutherland, Dougal Sutherland, edson duarte, Eduardo Caro, Eric Larson, Eric Martin, Erich Schubert, Fernando Carrillo, Frank C. Eckert, Frank Zalkow, Gael Varoquaux, Ganiev Ibraim, Gilles Louppe, Giorgio Patrini, giorgiop, Graham Clenaghan, Gryllos Prokopis, gwulfs, Henry Lin, Hsuan-Tien Lin, Immanuel Bayer, Ishank Gulati, Jack Martin, Jacob Schreiber, Jaidev Deshpande, Jake Vanderplas, Jan Hendrik Metzen, Jean Kossaifi, Jeffrey04, Jeremy, jfraj, Jiali Mei, Joe Jevnik, Joel Nothman, John Kirkham, John Wittenauer, Joseph, Joshua Loyal, Jungkook Park, KamalakerDadi, Kashif Rasul, Keith Goodman, Kian Ho, Konstantin Shmelkov, Kyler Brown, Lars Buitinck, Lilian Besson, Loic Esteve, Louis Tiao, maheshakya, Maheshakya Wijewardena, Manoj Kumar, MarkTab marktab.net, Martin Ku, Martin Spacek, MartinBpr, martinosorb, MaryanMorel, Masafumi Oyamada, Mathieu Blondel, Matt Krump, Matti Lyra, Maxim Kolganov, mbillinger, mhg, Michael Heilman, Michael Patterson, Miroslav Batchkarov, Nelle Varoquaux, Nicolas, Nikolay Mayorov, Olivier Grisel, Omer Katz, Óscar Nájera, Pauli Virtanen, Peter Fischer, Peter Prettenhofer, Phil Roth, pianomania, Preston Parry, Raghav RV, Rob Zinkov, Robert Layton, Rohan Ramanath, Saket Choudhary, Sam Zhang, santi, saurabh.bansod, scls19fr, Sebastian Raschka, Sebastian Saeger, Shivan Sornarajah, SimonPL, sinhrks, Skipper Seabold, Sonny Hu, sseg, Stephen Hoover, Steven De Gryze, Steven Seguin, Theodore Vasiloudis, Thomas Unterthiner, Tiago Freitas Pereira, Tian Wang, Tim Head, Timothy Hopper, tokoroten, Tom Dupré la Tour, Trevor Stephens, Valentin Stolbunov, Vighnesh Birodkar, Vinayak Mehta, Vincent, Vincent Michel, vstolbunov, wangz10, Wei Xue, Yucheng Low, Yury Zhauniarovich, Zac Stewart, zhai_pro, Zichen Wang