.. include:: _contributors.rst .. currentmodule:: sklearn ============ 版本 0.17 ============ .. _changes_0_17_1: 版本 0.17.1 ============== **2016年2月18日** 更新日志 --------- 错误修复 ......... - 升级嵌入的 joblib 到版本 0.9.4,修复了 ``joblib.Parallel`` 中的一个重要错误,该错误在处理大于 1MB 的数据集时可能会静默地产生错误结果: https://github.com/joblib/joblib/blob/0.9.4/CHANGES.rst - 修复了使用 scikit-learn 版本 <= 0.16 生成的 Bunch pickles 的读取问题。这可能会影响已经使用 scikit-learn 0.16 下载数据集并在 scikit-learn 0.17 中加载的用户。请参阅 :issue:`6196` 了解这如何影响 :func:`datasets.fetch_20newsgroups` 。由 `Loic Esteve`_ 提供。 - 修复了一个错误,该错误阻止了在大型数组上使用 ROC AUC 分数进行多 CPU / 核心的网格搜索。请参阅 :issue:`6147` 由 `Olivier Grisel`_ 提供。 - 修复了一个错误,该错误阻止了在 :class:`ensemble.GradientBoostingRegressor` 中正确设置 ``presort`` 参数。请参阅 :issue:`5857` 由 Andrew McCulloh 提供。 - 修复了在评估 :class:`decomposition.LatentDirichletAllocation` 模型的困惑度时出现的 joblib 错误。请参阅 :issue:`6258` 由 Chyi-Kwei Yau 提供。 .. _changes_0_17: 版本 0.17 ============ **2015年11月5日** 更新日志 --------- 新功能 ............ - 除了 :class:`preprocessing.RobustScaler` 之外的所有 Scaler 类都可以通过调用 `partial_fit` 在线拟合。由 :user:`Giorgio Patrini ` 提供。 - 新的类 :class:`ensemble.VotingClassifier` 实现了“多数规则”/“软投票”集成分类器,用于结合分类器。由 `Sebastian Raschka`_ 提供。 - 新的类 :class:`preprocessing.RobustScaler` 提供了与 :class:`preprocessing.StandardScaler` 不同的特征中心化和范围归一化方法,对异常值具有鲁棒性。由 :user:`Thomas Unterthiner ` 提供。 - 新的类 :class:`preprocessing.MaxAbsScaler` 提供了在数据已经中心化或稀疏时,用于特征范围归一化的替代方案,相对于 :class:`preprocessing.MinMaxScaler` 。 由 :user:`Thomas Unterthiner ` 贡献。 - 新的类 :class:`preprocessing.FunctionTransformer` 将一个 Python 函数转换为与 ``Pipeline`` 兼容的转换器对象。 由 Joe Jevnik 贡献。 - 新的类 `cross_validation.LabelKFold` 和 `cross_validation.LabelShuffleSplit` 分别生成类似于 `cross_validation.KFold` 和 `cross_validation.ShuffleSplit` 的训练-测试折叠,不同之处在于折叠是基于标签数组生成的。 由 `Brian McFee`_ 、:user:`Jean Kossaifi ` 和 `Gilles Louppe`_ 贡献。 - :class:`decomposition.LatentDirichletAllocation` 实现了带有在线变分推理的 Latent Dirichlet Allocation 主题模型。 由 :user:`Chyi-Kwei Yau ` 贡献,代码基于 Matt Hoffman 的实现。(:issue:`3659` ) - 新的求解器 ``sag`` 实现了随机平均梯度下降,并在 :class:`linear_model.LogisticRegression` 和 :class:`linear_model.Ridge` 中可用。该求解器对于大型数据集非常高效。 由 :user:`Danny Sullivan ` 和 `Tom Dupre la Tour`_ 贡献。(:issue:`4738` ) - 新的求解器 ``cd`` 在 :class:`decomposition.NMF` 中实现了坐标下降法。基于投影梯度的先前求解器仍然可用,通过将新参数 ``solver`` 设置为 ``pg`` ,但已被弃用,并将在 0.19 版本中移除,同时移除 `decomposition.ProjectedGradientNMF` 和参数 ``sparseness`` 、 ``eta`` 、 ``beta`` 和 ``nls_max_iter`` 。新参数 ``alpha`` 和 ``l1_ratio`` 控制 L1 和 L2 正则化,参数 ``shuffle`` 在 ``cd`` 求解器中添加了一个洗牌步骤。 由 `Tom Dupre la Tour`_ 和 `Mathieu Blondel`_ 贡献。 增强功能 ............ - :class:`manifold.TSNE` 现在支持通过近似优化方法进行优化, Barnes-Hut 方法,导致拟合速度大大加快。作者:Christopher Erick Moody。 (:issue:`4025` ) - :class:`cluster.MeanShift` 现在支持并行执行, 如在 ``mean_shift`` 函数中实现的那样。作者::user:`Martino Sorbaro ` 。 - :class:`naive_bayes.GaussianNB` 现在支持使用 ``sample_weight`` 进行拟合。 作者: `Jan Hendrik Metzen`_ 。 - :class:`dummy.DummyClassifier` 现在支持先验拟合策略。 作者: `Arnaud Joly`_ 。 - 为 `mixture.GMM` 及其子类添加了 ``fit_predict`` 方法。 作者::user:`Cory Lorenz ` 。 - 添加了 :func:`metrics.label_ranking_loss` 指标。 作者: `Arnaud Joly`_ 。 - 添加了 :func:`metrics.cohen_kappa_score` 指标。 - 为集成模型中的装袋模型添加了 ``warm_start`` 构造函数参数,以增加集成的大小。 作者::user:`Tim Head ` 。 - 添加了在不平均的情况下使用多输出回归指标的选项。 作者:Konstantin Shmelkov 和 :user:`Michael Eickenberg` 。 - 为 `cross_validation.train_test_split` 添加了 ``stratify`` 选项,用于分层分割。 作者:Miroslav Batchkarov。 - :func:`tree.export_graphviz` 函数现在支持对 :class:`tree.DecisionTreeClassifier` 和 :class:`tree.DecisionTreeRegressor` 进行美学改进,包括按多数类别或不纯度着色节点、显示变量名称以及使用节点比例而非原始样本计数的选项。 作者: `Trevor Stephens`_ 。 - 改进了 :class:`linear_model.LogisticRegression` 中 ``newton-cg`` 求解器的速度,通过避免损失计算。 作者: `Mathieu Blondel`_ 和 `Tom Dupre la Tour`_ 。 - 分类器中支持 ``class_weight`` 的 ``class_weight="auto"`` 启发式方法已被弃用,并被 ``class_weight="balanced"`` 选项取代,后者具有更简单的公式和解释。 作者: `Hanna Wallach`_ 和 `Andreas Müller`_ 。 - 添加了 ``class_weight`` 参数,以自动按类别权重样本。 frequency for :class:`linear_model.PassiveAggressiveClassifier` . By `Trevor Stephens`_ . - Added backlinks from the API reference pages to the user guide. By `Andreas Müller`_ . - The ``labels`` parameter to :func:`sklearn.metrics.f1_score` , :func:`sklearn.metrics.fbeta_score` , :func:`sklearn.metrics.recall_score` and :func:`sklearn.metrics.precision_score` has been extended. It is now possible to ignore one or more labels, such as where a multiclass problem has a majority class to ignore. By `Joel Nothman`_ . - Add ``sample_weight`` support to :class:`linear_model.RidgeClassifier` . By `Trevor Stephens`_ . - Provide an option for sparse output from :func:`sklearn.metrics.pairwise.cosine_similarity` . By :user:`Jaidev Deshpande ` . - Add :func:`preprocessing.minmax_scale` to provide a function interface for :class:`preprocessing.MinMaxScaler` . By :user:`Thomas Unterthiner ` . - ``dump_svmlight_file`` now handles multi-label datasets. By Chih-Wei Chang. - RCV1 dataset loader (:func:`sklearn.datasets.fetch_rcv1` ). By `Tom Dupre la Tour`_ . - The "Wisconsin Breast Cancer" classical two-class classification dataset is now included in scikit-learn, available with :func:`datasets.load_breast_cancer` . - Upgraded to joblib 0.9.3 to benefit from the new automatic batching of short tasks. This makes it possible for scikit-learn to benefit from parallelism when many very short tasks are executed in parallel, for instance by the `grid_search.GridSearchCV` meta-estimator with ``n_jobs > 1`` used with a large grid of parameters on a small dataset. By `Vlad Niculae`_ , `Olivier Grisel`_ and `Loic Esteve`_ . - For more details about changes in joblib 0.9.3 see the release notes: https://github.com/joblib/joblib/blob/master/CHANGES.rst#release-093 - Improved speed (3 times per iteration) of `decomposition.DictLearning` with coordinate descent method 来自 :class:`linear_model.Lasso` 。作者::user:`Arthur Mensch ` 。 - 并行处理(线程化)用于最近邻查询(使用球树),作者:Nikolay Mayorov。 - 允许 :func:`datasets.make_multilabel_classification` 输出稀疏的 ``y`` 。作者:Kashif Rasul。 - :class:`cluster.DBSCAN` 现在接受预计算距离的稀疏矩阵,允许内存高效的距离预计算。作者: `Joel Nothman`_ 。 - :class:`tree.DecisionTreeClassifier` 现在暴露了一个 ``apply`` 方法,用于检索样本被预测为的叶节点索引。作者::user:`Daniel Galvez ` 和 `Gilles Louppe`_ 。 - 通过在树生长期间计算杂质改进的代理来加速决策树回归器、随机森林回归器、额外树回归器和梯度提升估计器。该代理量是这样的,最大化该值的分割也最大化杂质改进。作者: `Arnaud Joly`_ 、:user:`Jacob Schreiber ` 和 `Gilles Louppe`_ 。 - 通过减少计算杂质度量时所需的计算次数来加速基于树的方法,该计算考虑了计算统计量之间的线性关系。这种效果在额外树和具有分类或稀疏特征的数据集上特别明显。作者: `Arnaud Joly`_ 。 - :class:`ensemble.GradientBoostingRegressor` 和 :class:`ensemble.GradientBoostingClassifier` 现在暴露了一个 ``apply`` 方法,用于检索每个样本在每个尝试中最终到达的叶节点索引。作者::user:`Jacob Schreiber ` 。 - 为 :class:`linear_model.LinearRegression` 添加 ``sample_weight`` 支持。作者:Sonny Hu。(:issue:`#4881` ) - 为 :class:`manifold.TSNE` 添加 ``n_iter_without_progress`` 以控制停止条件。作者:Santi Villalba。(:issue:`5186` ) - 在 :class:`linear_model.Ridge` 中添加可选参数 ``random_state`` ,以设置 ``sag`` 求解器中使用的伪随机生成器的种子。作者: `Tom Dupre la Tour`_ 。 - 在 :class:`linear_model.LogisticRegression` 中添加了可选参数 ``warm_start`` 。如果设置为 True,求解器 ``lbfgs`` 、 ``newton-cg`` 和 ``sag`` 将使用先前拟合中计算的系数进行初始化。由 `Tom Dupre la Tour`_ 贡献。 - 为 :class:`linear_model.LogisticRegression` 的 ``lbfgs`` 、 ``newton-cg`` 和 ``sag`` 求解器添加了 ``sample_weight`` 支持。由 `Valentin Stolbunov`_ 贡献。为 ``liblinear`` 求解器添加了支持。由 `Manoj Kumar`_ 贡献。 - 在 :class:`ensemble.GradientBoostingRegressor` 和 :class:`ensemble.GradientBoostingClassifier` 中添加了可选参数 ``presort`` ,保持默认行为不变。这允许梯度提升器在构建深度树或使用稀疏数据时关闭预排序。由 :user:`Jacob Schreiber ` 贡献。 - 修改了 :func:`metrics.roc_curve` ,默认删除不必要的阈值。由 :user:`Graham Clenaghan ` 贡献。 - 添加了 :class:`feature_selection.SelectFromModel` 元转换器,可与具有 `coef_` 或 `feature_importances_` 属性的估计器一起使用,以选择输入数据的重要特征。由 :user:`Maheshakya Wijewardena ` 、 `Joel Nothman`_ 和 `Manoj Kumar`_ 贡献。 - 添加了 :func:`metrics.pairwise.laplacian_kernel` 。由 `Clyde Fare `_ 贡献。 - `covariance.GraphLasso` 允许通过 ``enet_tol`` 参数单独控制弹性网络子问题的收敛标准。 - 改进了 :class:`decomposition.DictionaryLearning` 中的详细输出。 - :class:`ensemble.RandomForestClassifier` 和 :class:`ensemble.RandomForestRegressor` 不再显式存储用于自助采样的样本,从而大大减少了存储随机森林模型所需的内存占用。 - 在 :class:`linear_model.Lars` 和 :func:`linear_model.lars_path` 中添加了 ``positive`` 选项,以强制系数为正。(:issue:`5131` ) - 在 :func:`metrics.pairwise.euclidean_distances` 中添加了 ``X_norm_squared`` 参数,以提供预计算的 ``X`` 的平方范数。 - 在 :class:`pipeline.Pipeline` 中添加了 ``fit_predict`` 方法。 - 添加了 :func:`preprocessing.minmax_scale` 函数。 Bug 修复 ......... - 修复了 :class:`dummy.DummyClassifier` 在稀疏多标签输出中的非确定性问题。由 `Andreas Müller`_ 提供。 - 修复了 :class:`linear_model.RANSACRegressor` 的输出形状为 ``(n_samples, )`` 的问题。由 `Andreas Müller`_ 提供。 - 修复了当 ``n_jobs < 0`` 时 `decomposition.DictLearning` 中的 bug。由 `Andreas Müller`_ 提供。 - 修复了 `grid_search.RandomizedSearchCV` 在大型离散网格中可能消耗大量内存的 bug。由 `Joel Nothman`_ 提供。 - 修复了 :class:`linear_model.LogisticRegressionCV` 中 `penalty` 在最终拟合时被忽略的 bug。由 `Manoj Kumar`_ 提供。 - 修复了在计算 oob_score 且 X 是 sparse.csc_matrix 时 `ensemble.forest.ForestClassifier` 中的 bug。由 :user:`Ankur Ankan ` 提供。 - 所有回归器现在一致处理并警告当给定的 ``y`` 形状为 ``(n_samples, 1)`` 时的情况。由 `Andreas Müller`_ 和 Henry Lin 提供。(:issue:`5431` ) - 修复了 :class:`cluster.KMeans` 在稀疏输入时的簇重新分配问题。由 `Lars Buitinck`_ 提供。 - 修复了 :class:`discriminant_analysis.LinearDiscriminantAnalysis` 在使用收缩时可能导致非对称协方差矩阵的 bug。由 `Martin Billinger`_ 提供。 - 修复了 `cross_validation.cross_val_predict` 在稀疏预测的估计器中的 bug。由 Buddha Prakash 提供。 - 修复了 :class:`linear_model.LogisticRegression` 的 ``predict_proba`` 方法,使用 softmax 而不是 one-vs-rest 归一化。由 `Manoj Kumar`_ 提供。(:issue:`5182` ) - 修复了当调用 ``average=True`` 时 :class:`linear_model.SGDClassifier` 的 `partial_fit` 方法中的 bug。由 :user:`Andrew Lamb ` 提供。(:issue:`5282` ) - 数据集获取器在 Python 2 和 Python 3 下使用不同的文件名。 避免序列化兼容性问题。由 `Olivier Grisel`_ 提供。 (:issue:`5355` ) - 修复了 :class:`naive_bayes.GaussianNB` 中的一个错误,该错误导致分类结果依赖于尺度。 由 `Jake Vanderplas`_ 提供。 - 临时修复了 :class:`linear_model.Ridge` ,在稀疏数据情况下拟合截距时存在错误。 修复会自动在这种情况下将求解器更改为 'sag'。 :issue:`5360` 由 `Tom Dupre la Tour`_ 提供。 - 修复了 `decomposition.RandomizedPCA` 在特征数量多而样本数量少的数据上的性能问题。 (:issue:`4478` ) 由 `Andreas Müller`_ 、 `Loic Esteve`_ 和 :user:`Giorgio Patrini ` 提供。 - 修复了 `cross_decomposition.PLS` 中的错误,该错误导致输出不稳定且平台依赖,并且在 `fit_transform` 时失败。 由 :user:`Arthur Mensch ` 提供。 - 对用于存储数据集的 ``Bunch`` 类进行了修复。 - 修复了 `ensemble.plot_partial_dependence` 忽略 ``percentiles`` 参数的问题。 - 在 ``CountVectorizer`` 中提供 ``set`` 作为词汇表时,不再导致序列化结果不一致。 - 修复了在 :class:`linear_model.LinearRegression` 、:class:`linear_model.OrthogonalMatchingPursuit` 、 :class:`linear_model.Lasso` 和 :class:`linear_model.ElasticNet` 中预计算的 Gram 矩阵需要重新计算的条件。 - 修复了坐标下降求解器中影响 `linear_model.DictionaryLearning` 和 `covariance.GraphLasso` 的不一致内存布局问题。 (:issue:`5337` ) 由 `Olivier Grisel`_ 提供。 - :class:`manifold.LocallyLinearEmbedding` 不再忽略 ``reg`` 参数。 - 具有自定义距离度量的最近邻估计器现在可以被序列化。 (:issue:`4362` ) - 修复了 :class:`pipeline.FeatureUnion` 中的一个错误,该错误在执行网格搜索时未正确处理 ``transformer_weights`` 。 - 修复了 :class:`linear_model.LogisticRegression` 和 :class:`linear_model.LogisticRegressionCV` 在使用 ``class_weight='balanced'`` 或 ``class_weight='auto'`` . 由 `Tom Dupre la Tour`_ 提供。 - 修复了在执行 OVR(SVC(decision_function_shape="ovr")) 时出现的 :issue:`5495` 错误。 由 :user:`Elvis Dohmatob ` 修复。 API 变更总结 ------------- - :class:`preprocessing.MinMaxScaler` 中的属性 `data_min` , `data_max` 和 `data_range` 已被弃用, 从 0.19 版本开始将不再可用。取而代之的是,该类现在公开了 `data_min_` , `data_max_` 和 `data_range_` 。 由 :user:`Giorgio Patrini ` 提供。 - 所有 Scaler 类现在都有一个 `scale_` 属性,这是它们的 `transform` 方法应用的特征级重缩放。 :class:`preprocessing.StandardScaler` 中的旧属性 `std_` 已被弃用,并被 `scale_` 取代; 它将在 0.19 版本中不可用。由 :user:`Giorgio Patrini ` 提供。 - :class:`svm.SVC` 和 :class:`svm.NuSVC` 现在有一个 ``decision_function_shape`` 参数, 通过设置 ``decision_function_shape='ovr'`` 可以使它们的决策函数形状为 ``(n_samples, n_classes)`` 。 从 0.19 版本开始,这将成为默认行为。由 `Andreas Müller`_ 提供。 - 将一维数据数组作为输入传递给估计器现在已被弃用,因为它在如何解释数组元素作为特征或样本时造成了混淆。 现在所有数据数组都应明确形状为 ``(n_samples, n_features)`` 。 由 :user:`Vighnesh Birodkar ` 提供。 - `lda.LDA` 和 `qda.QDA` 已移动到 :class:`discriminant_analysis.LinearDiscriminantAnalysis` 和 :class:`discriminant_analysis.QuadraticDiscriminantAnalysis` 。 - ``store_covariance`` 和 ``tol`` 参数已从 :class:`discriminant_analysis.LinearDiscriminantAnalysis` 的 fit 方法移动到构造函数中, 而 ``store_covariances`` 和 ``tol`` 参数已从 :class:`discriminant_analysis.QuadraticDiscriminantAnalysis` 的 fit 方法移动到构造函数中。 - 继承自 ``_LearntSelectorMixin`` 的模型将不再支持转换方法。(即,随机森林、梯度提升、逻辑回归、决策树、支持向量机和 SGD 相关模型)。将这些模型包装在元转换器 :class:`feature_selection.SelectFromModel` 中,以根据 `coefs_` 或 `feature_importances_` 移除低于某个阈值的特征。 - :class:`cluster.KMeans` 在未收敛的情况下重新运行聚类分配,以确保 ``predict(X)`` 和 ``labels_`` 的一致性。由 :user:`Vighnesh Birodkar ` 提供。 - 分类器和回归器模型现在使用 ``_estimator_type`` 属性标记为相应类型。 - 交叉验证迭代器始终提供训练集和测试集的索引,而不是布尔掩码。 - 所有回归器的 ``decision_function`` 方法已被弃用,并将在 0.19 版本中移除。请改用 ``predict`` 。 - `datasets.load_lfw_pairs` 已被弃用,并将在 0.19 版本中移除。请改用 :func:`datasets.fetch_lfw_pairs` 。 - 已移除已弃用的 ``hmm`` 模块。 - 已移除已弃用的 ``Bootstrap`` 交叉验证迭代器。 - 已移除已弃用的 ``Ward`` 和 ``WardAgglomerative`` 类。请改用 :class:`cluster.AgglomerativeClustering` 。 - `cross_validation.check_cv` 现在是一个公共函数。 - :class:`linear_model.LinearRegression` 的 ``residues_`` 属性已被弃用,并将在 0.19 版本中移除。 - :class:`linear_model.LinearRegression` 的已弃用 ``n_jobs`` 参数已移至构造函数中。 - 已移除 :class:`linear_model.SGDClassifier` 的 ``fit`` 方法中的已弃用 ``class_weight`` 参数。请改用构造函数参数。 - 已移除对序列的序列(或列表的列表)多标签格式的已弃用支持。要转换为支持的二进制指示矩阵格式,请使用 :class:`MultiLabelBinarizer ` 。 - 调用 ``Pipeline.pipeline`` 的 ``inverse_transform`` 方法的行为将在 0.19 版本中发生变化。它将不再将一维输入重塑为二维输入。 - 已弃用的属性 ``indicator_matrix_`` 、 ``multilabel_`` 和 ``classes_`` 已从 :class:`preprocessing.LabelBinarizer` 中移除。 - 在 :class:`svm.SVC` 和 :class:`svm.SVR` 中使用 ``gamma=0`` 来自动将 gamma 设置为 ``1. / n_features`` 的做法已被弃用,并将在 0.19 版本中移除。请改用 ``gamma="auto"`` 。 代码贡献者 ----------------- 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, Maryan Morel, 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