.. include:: _contributors.rst .. currentmodule:: sklearn ============ 版本 0.19 ============ .. _changes_0_19: 版本 0.19.2 ============== **2018年7月** 此版本仅用于支持 Python 3.7。 相关更改 --------------- - ``n_iter_`` 在 :class:`linear_model.LogisticRegression` 使用 ``solver='lbfgs'`` 和 :class:`linear_model.HuberRegressor` 时可能与之前的版本不同。对于 Scipy <= 1.0.0,优化器可能会 执行超过请求的最大迭代次数。现在这两个估计器将报告最多 ``max_iter`` 次迭代,即使实际执行了更多次。 :issue:`10723` 由 `Joel Nothman`_ 贡献。 版本 0.19.1 ============== **2017年10月23日** 这是一个修复错误的版本,包含一些小的文档改进和 0.19.0 版本中发布功能的增强。 请注意,在此版本中,TSNE 输出可能会有细微差异(由于 :issue:`9623` ),在多个样本与某些样本距离相等的情况下。 更新日志 --------- API 变更 ........... - 恢复了 ``metrics.ndcg_score`` 和 ``metrics.dcg_score`` 的添加,这些内容在 0.19.0 版本中被错误地合并。 其实现存在问题且未文档化。 - ``return_train_score`` 在 0.19.0 版本中被添加到 :class:`model_selection.GridSearchCV` 、 :class:`model_selection.RandomizedSearchCV` 和 :func:`model_selection.cross_validate` , 其默认值将在 0.21 版本中从 True 更改为 False。我们发现,在某些情况下,计算训练分数可能会对交叉验证运行时间产生重大影响。 如果预测或评分函数较慢,导致对 CV 运行时间产生不利影响,用户应显式设置 ``return_train_score`` 为 False, 或者如果希望使用计算的分数,则设置为 True。:issue:`9677` 由 :user:`Kumar Ashutosh ` 和 `Joel Nothman`_ 贡献。 - 从旧版高斯过程模块中移除了 ``correlation_models`` 和 ``regression_models`` 。 进程实现已被延迟弃用。:issue:`9717` 由 :user:`Kumar Ashutosh ` 提交。 Bug 修复 ........ - 避免在 :func:`metrics.matthews_corrcoef` 中出现整数溢出。 :issue:`9693` 由 :user:`Sam Steingold ` 提交。 - 修复了当 ``n_components >= 3`` 时,:class:`manifold.TSNE` (包括精确方法和 Barnes-Hut 近似方法)的目标函数中的一个错误。 :issue:`9711` 由 :user:`goncalo-rodrigues` 提交。 - 修复了 :func:`model_selection.cross_val_predict` 中的回归问题,该问题在使用某些概率分类器时,对 ``method='predict_proba'`` 引发错误。 :issue:`9641` 由 :user:`James Bourbeau ` 提交。 - 修复了 :func:`datasets.make_classification` 修改其输入 ``weights`` 的错误。 :issue:`9865` 由 :user:`Sachin Kelkar ` 提交。 - :class:`model_selection.StratifiedShuffleSplit` 现在可以处理多输出多类或多标签数据,且列数超过 1000 列。 :issue:`9922` 由 :user:`Charlie Brummitt ` 提交。 - 修复了嵌套和条件参数设置的错误,例如同时设置管道步骤及其参数。 :issue:`9945` 由 `Andreas Müller`_ 和 `Joel Nothman`_ 提交。 0.19.0 中的回归问题在 0.19.1 中修复: - 修复了随机森林中并行预测的线程安全问题,该问题可能导致(罕见)任意错误。 :issue:`9830` 由 `Joel Nothman`_ 提交。 - 修复了 :func:`model_selection.cross_val_predict` 中的回归问题,该问题不再接受 ``X`` 作为列表。 :issue:`9600` 由 :user:`Rasul Kerimov ` 提交。 - 修复了 :func:`model_selection.cross_val_predict` 在二分类中使用 ``method='decision_function'`` 的处理问题。 :issue:`9593` 由 :user:`Reiichiro Nakano ` 和核心开发者提交。 - 修复了 :class:`pipeline.Pipeline` 中的回归问题,该问题不再接受 ``steps`` 作为元组。 :issue:`9604` 由 :user:`Joris Van den Bossche ` 提交。 - 修复了 ``n_iter`` 未正确弃用的问题,导致在 :class:`linear_model.SGDClassifier` 、:class:`linear_model.SGDRegressor` 、:class:`linear_model.PassiveAggressiveClassifier` 、:class:`linear_model.PassiveAggressiveRegressor` 和 :class:`linear_model.Perceptron` 中无法临时使用 ``n_iter`` 。:issue:`9558` 由 `Andreas Müller`_ 提交。 - 数据集获取器确保在删除临时文件之前关闭它们,这导致在 Windows 上出现错误。:issue:`9847` 由 :user:`Joan Massich ` 提交。 - 修复了 :class:`manifold.TSNE` 中的回归问题,使其不再仅支持 'euclidean' 和 'precomputed' 以外的度量标准。:issue:`9623` 由 :user:`Oli Blum ` 提交。 增强功能 .......... - 我们的测试套件和 :func:`utils.estimator_checks.check_estimator` 现在可以在没有安装 Nose 的情况下运行。:issue:`9697` 由 :user:`Joan Massich ` 提交。 - 为了提高 0.19 版本 :class:`pipeline.Pipeline` 缓存的可用性, ``memory`` 现在允许 ``joblib.Memory`` 实例。这利用了新的 :func:`utils.validation.check_memory` 辅助函数。issue:`9584` 由 :user:`Kumar Ashutosh ` 提交。 - 修复了一些示例::issue:`9750` 、:issue:`9788` 、:issue:`9815` - 减少了基于 SGD 的估计器中 FutureWarning 的冗余。:issue:`9802` 由 :user:`Vrishank Bhardwaj ` 提交。 代码和文档贡献者 ------------------ 感谢以下人员: Joel Nothman, Loic Esteve, Andreas Mueller, Kumar Ashutosh, Vrishank Bhardwaj, Hanmin Qin, Rasul Kerimov, James Bourbeau, Nagarjuna Kumar, Nathaniel Saul, Olivier Grisel, Roman Yurchak, Reiichiro Nakano, Sachin Kelkar, Sam Steingold, Yaroslav Halchenko, diegodlh, felix, goncalo-rodrigues, jkleint, oliblum90, pasbi, Anthony Gitter, Ben Lawson, Charlie Brummitt, Didi Bar-Zev, Gael Varoquaux, Joan Massich, Joris Van den Bossche, nielsenmarkus11 版本 0.19 ========== **2017年8月12日** 亮点 ------ 我们很高兴地发布了一系列令人兴奋的新功能,包括用于异常检测的 :class:`neighbors.LocalOutlierFactor` ,用于鲁棒特征变换的 :class:`preprocessing.QuantileTransformer` ,以及用于简化多标签问题中类别间依赖关系的 :class:`multioutput.ClassifierChain` 元估计器。我们在现有的估计器中引入了一些新算法,例如 :class:`decomposition.NMF` 中的乘法更新和带有 L1 损失的多项式 :class:`linear_model.LogisticRegression` (使用 ``solver='saga'`` )。 交叉验证现在能够返回多个指标评估的结果。新的 :func:`model_selection.cross_validate` 可以返回测试数据以及训练集性能和时间的多个分数,并且我们扩展了网格/随机搜索的 ``scoring`` 和 ``refit`` 参数 :ref:`以处理多个指标 ` 。 你还可以更快地学习。例如,:class:`pipeline.Pipeline` 中的 :ref:`新选项以缓存变换 ` 使得包括慢速变换的管道网格搜索更加高效。并且你可以更快地预测:如果你确信你知道自己在做什么,你可以使用 :func:`config_context` 关闭验证输入是否为有限值。 我们也进行了一些重要的修复。我们修复了 :func:`metrics.average_precision_score` 中长期存在的实现错误,因此请谨慎对待之前从该函数报告的结果。:class:`manifold.TSNE` 实现中的许多错误已被修复,特别是在默认的 Barnes-Hut 近似中。:class:`semi_supervised.LabelSpreading` 和 :class:`semi_supervised.LabelPropagation` 也进行了重大修复。LabelPropagation 之前是损坏的。LabelSpreading 现在应该正确地尊重其 alpha 参数。 更改的模型 ------------ 以下估计器和函数,当使用相同的数据和 参数的变化可能导致与上一版本不同的模型。这通常是由于建模逻辑的变化(错误修复或增强),或随机抽样程序的变化引起的。 - :class:`cluster.KMeans` 在稀疏X和给定初始质心的情况下(错误修复) - :class:`cross_decomposition.PLSRegression` 在 ``scale=True`` 的情况下(错误修复) - :class:`ensemble.GradientBoostingClassifier` 和 :class:`ensemble.GradientBoostingRegressor` 在使用 ``min_impurity_split`` 的情况下(错误修复) - 梯度提升 ``loss='quantile'`` (错误修复) - :class:`ensemble.IsolationForest` (错误修复) - :class:`feature_selection.SelectFdr` (错误修复) - :class:`linear_model.RANSACRegressor` (错误修复) - :class:`linear_model.LassoLars` (错误修复) - :class:`linear_model.LassoLarsIC` (错误修复) - :class:`manifold.TSNE` (错误修复) - :class:`neighbors.NearestCentroid` (错误修复) - :class:`semi_supervised.LabelSpreading` (错误修复) - :class:`semi_supervised.LabelPropagation` (错误修复) - 基于树的模型在使用 ``min_weight_fraction_leaf`` 的情况下(增强) - :class:`model_selection.StratifiedKFold` 在 ``shuffle=True`` 的情况下(此更改由于 :issue:`7823` 当时未在发布说明中提及) 详细信息列在下面的变更日志中。 (虽然我们正努力通过提供这些信息来更好地通知用户,但我们不能保证此列表是完整的。) 变更日志 --------- 新功能 ............ 分类器和回归器 - 添加了 :class:`multioutput.ClassifierChain` 用于多标签分类。由 :user:`Adam Kleczewski ` 贡献。 - 在 :class:`linear_model.LogisticRegression` 和 :class:`linear_model.Ridge` 中添加了实现改进版随机平均梯度的求解器 ``'saga'`` 。它允许在多项逻辑损失中使用L1惩罚,并且在岭回归和逻辑回归的初始阶段表现略优于 'sag'。:issue:`8446` 由 `Arthur Mensch`_ 贡献。 其他估计器 - 添加了 :class:`multioutput.ClassifierChain` 用于多标签分类。由 :user:`Adam Kleczewski ` 贡献。 - 在 :class:`linear_model.LogisticRegression` 和 :class:`linear_model.Ridge` 中添加了实现改进版随机平均梯度的求解器 ``'saga'`` 。它允许在多项逻辑损失中使用L1惩罚,并且在岭回归和逻辑回归的初始阶段表现略优于 'sag'。:issue:`8446` 由 `Arthur Mensch`_ 贡献。 - 添加了 :class:`neighbors.LocalOutlierFactor` 类,用于基于最近邻的异常检测。 :issue:`5279` 由 `Nicolas Goix`_ 和 `Alexandre Gramfort`_ 贡献。 - 添加了 :class:`preprocessing.QuantileTransformer` 类和 :func:`preprocessing.quantile_transform` 函数,用于基于分位数的特征归一化。 :issue:`8363` 由 :user:`Denis Engemann ` 、 :user:`Guillaume Lemaitre ` 、 `Olivier Grisel`_ 、 `Raghav RV`_ 、 :user:`Thierry Guillemot ` 和 `Gael Varoquaux`_ 贡献。 - 新的求解器 ``'mu'`` 在 :class:`decomposition.NMF` 中实现了乘法更新,允许优化所有 beta-散度,包括 Frobenius 范数、广义 Kullback-Leibler 散度和 Itakura-Saito 散度。 :issue:`5295` 由 `Tom Dupre la Tour`_ 贡献。 模型选择和评估 - :class:`model_selection.GridSearchCV` 和 :class:`model_selection.RandomizedSearchCV` 现在支持同时评估多个指标。更多信息请参考用户指南的 :ref:`multimetric_grid_search` 部分。:issue:`7388` 由 `Raghav RV`_ 贡献。 - 添加了 :func:`model_selection.cross_validate` ,允许评估多个指标。该函数返回一个包含更多有用信息的字典,如训练分数、拟合时间和评分时间。 更多信息请参考用户指南的 :ref:`multimetric_cross_validation` 部分。:issue:`7388` 由 `Raghav RV`_ 贡献。 - 添加了 :func:`metrics.mean_squared_log_error` ,该函数计算目标对数变换的均方误差,特别适用于具有指数趋势的目标。 :issue:`7655` 由 :user:`Karan Desai ` 贡献。 - 添加了 :func:`metrics.dcg_score` 和 :func:`metrics.ndcg_score` ,用于计算折扣累积增益(DCG)和归一化折扣累积增益(NDCG)。 :issue:`7739` 由 :user:`David Gasquez ` 贡献。 - 添加了 :class:`model_selection.RepeatedKFold` 和 :class:`model_selection.RepeatedStratifiedKFold` 。 :issue:`8120` 由 `Neeraj Gangwar`_ 贡献。 杂项 - 现在可以使用 :func:`config_context` 抑制对输入数据不包含 NaN 或 inf 的验证, 风险自负。这将节省运行时间,并且在预测时间可能特别有用。 :issue:`7548` 由 `Joel Nothman`_ 贡献。 - 添加了一个测试,以确保文档字符串中的参数列表与函数/类签名匹配。 :issue:`9206` 由 `Alexandre Gramfort`_ 和 `Raghav RV`_ 贡献。 增强功能 ............ 树和集成 - 在树构建中的 ``min_weight_fraction_leaf`` 约束现在更高效,如果节点的权重小于 2 倍的最小值,则采用快速路径将其声明为叶子节点。请注意,构建的树将与以前使用 ``min_weight_fraction_leaf`` 的版本不同。 :issue:`7441` 由 :user:`Nelson Liu ` 贡献。 - :class:`ensemble.GradientBoostingClassifier` 和 :class:`ensemble.GradientBoostingRegressor` 现在支持稀疏输入进行预测。 :issue:`6101` 由 :user:`Ibraim Ganiev ` 贡献。 - :class:`ensemble.VotingClassifier` 现在允许通过使用 :meth:`ensemble.VotingClassifier.set_params` 更改估计器。还可以通过将其设置为 ``None`` 来移除估计器。 :issue:`7674` 由 :user:`Yichuan Liu ` 贡献。 - :func:`tree.export_graphviz` 现在显示可配置的小数位数。 :issue:`8698` 由 :user:`Guillaume Lemaitre ` 贡献。 - 为 :class:`ensemble.VotingClassifier` 添加了 ``flatten_transform`` 参数,以将 `transform` 方法的输出形状更改为二维。 :issue:`7794` 由 :user:`Ibraim Ganiev ` 和 :user:`Herilalaina Rakotoarison ` 贡献。 线性、核化和相关模型 - :class:`linear_model.SGDClassifier` , :class:`linear_model.SGDRegressor` , :class:`linear_model.PassiveAggressiveClassifier` , :class:`linear_model.PassiveAggressiveRegressor` 和 :class:`linear_model.Perceptron` 现在公开了 ``max_iter`` 和 ``tol`` 参数,以便更精确地处理收敛问题。 ``n_iter`` 参数已被弃用,拟合的估计器公开了一个 ``n_iter_`` 属性,表示收敛前的实际迭代次数。:issue:`5036` 由 `Tom Dupre la Tour`_ 贡献。 - 在 :class:`linear_model.PassiveAggressiveClassifier` 中添加了 ``average`` 参数,用于执行权重平均。:issue:`4939` 由 :user:`Andrea Esuli ` 贡献。 - :class:`linear_model.RANSACRegressor` 在第一次迭代中未找到内点时不再抛出错误。此外,跳过迭代的原因被记录在新添加的属性 ``n_skips_*`` 中。:issue:`7914` 由 :user:`Michael Horrell ` 贡献。 - 在 :class:`gaussian_process.GaussianProcessRegressor` 中,当 ``return_std=True`` 时, ``predict`` 方法的速度大大提高。:issue:`8591` 由 :user:`Hadrien Bertrand ` 贡献。 - 在 :class:`linear_model.ARDRegression` 和 :class:`linear_model.BayesianRidge` 的 ``predict`` 方法中添加了 ``return_std`` 。:issue:`7838` 由 :user:`Sergey Feldman ` 贡献。 - 内存使用优化:防止在以下情况下从 float32 转换为 float64::class:`linear_model.MultiTaskElasticNet` ;使用 newton-cg 求解器时的 :class:`linear_model.LogisticRegression` ;以及使用 svd、sparse_cg、cholesky 或 lsqr 求解器时的 :class:`linear_model.Ridge` 。:issue:`8835` , :issue:`8061` 由 :user:`Joan Massich ` 、:user:`Nicolas Cordier ` 和 :user:`Thierry Guillemot ` 贡献。 其他预测器 - :mod:`sklearn.neighbors` 二叉树的自定义度量现在有更少的约束:它们必须接受两个一维数组并返回一个浮点数。:issue:`6288` 由 `Jake Vanderplas`_ 贡献。 - :mod:`sklearn.neighbors` 估计器中的 ``algorithm='auto'`` 现在会根据所有输入类型和度量选择最合适的算法。:issue:`9145` 由 :user:`Herilalaina Rakotoarison ` 和 :user:`Reddy Chinthala` 贡献。 分解、流形学习和聚类 - :class:`cluster.MiniBatchKMeans` 和 :class:`cluster.KMeans` 现在在将数据点分配到最近的聚类中心时使用显著更少的内存。:issue:`7721` 由 :user:`Jon Crall ` 贡献。 - :class:`decomposition.PCA` 、:class:`decomposition.IncrementalPCA` 和 :class:`decomposition.TruncatedSVD` 现在暴露了底层 SVD 的奇异值。它们存储在属性 ``singular_values_`` 中,类似于 :class:`decomposition.IncrementalPCA` 。 :issue:`7685` 由 :user:`Tommy Löfstedt ` 贡献。 - :class:`decomposition.NMF` 现在在 ``beta_loss=0`` 时更快。 :issue:`9277` 由 :user:`hongkahjun` 贡献。 - :class:`manifold.TSNE` 中的方法 ``barnes_hut`` 的内存改进 :issue:`7089` 由 :user:`Thomas Moreau ` 和 `Olivier Grisel`_ 贡献。 - Barnes-Hut :class:`manifold.TSNE` 的优化调度改进,使得结果更接近参考实现 `lvdmaaten/bhtsne `_ 由 :user:`Thomas Moreau ` 和 `Olivier Grisel`_ 贡献。 - 内存使用增强:防止在 :class:`decomposition.PCA` 和 `decomposition.randomized_svd_low_rank` 中从 float32 转换到 float64。 :issue:`9067` 由 `Raghav RV`_ 贡献。 预处理和特征选择 - 为 :class:`feature_selection.SelectFromModel` 添加了 ``norm_order`` 参数,以在 ``coef_`` 超过 1D 时启用范数顺序的选择。 :issue:`6181` 由 :user:`Antoine Wendlinger ` 贡献。 - 在 ``center=True`` 时,增加了在 :func:`feature_selection.f_regression` 中使用稀疏矩阵的能力。 :issue:`8065` 由 :user:`Daniel LeJeune ` 贡献。 - 通过绑定方法循环和特殊处理单字词,对 :mod:`sklearn.feature_extraction.text` 中的 n-gram 创建进行了小性能改进。 :issue:`7567` 由 :user:`Jaye Doepke ` 贡献。 - 放松了对数据 - :class:`kernel_approximation.SkewedChi2Sampler` 。由于偏斜-Chi2核定义在开区间 :math:`(-skewedness; +\infty)^d` 上,变换函数不应检查 ``X < 0`` 而是应检查 ``X < -self.skewedness`` 。:issue:`7573` 由 :user:`Romain Brault ` 贡献。 - 在 :class:`kernel_approximation.Nystroem` 中,默认的核参数现在是核依赖的。:issue:`5229` 由 :user:`Saurabh Bansod ` 和 `Andreas Müller`_ 贡献。 模型评估和元估计器 - :class:`pipeline.Pipeline` 现在能够通过使用 ``memory`` 构造函数参数在管道内缓存变换器。:issue:`7990` 由 :user:`Guillaume Lemaitre ` 贡献。 - :class:`pipeline.Pipeline` 的步骤现在可以通过其 ``named_steps`` 属性的属性访问。:issue:`8586` 由 :user:`Herilalaina Rakotoarison ` 贡献。 - 为 :meth:`pipeline.Pipeline.score` 添加了 ``sample_weight`` 参数。:issue:`7723` 由 :user:`Mikhail Korobov ` 贡献。 - 为 :func:`pipeline.make_union` 添加了设置 ``n_jobs`` 参数的能力。对于任何其他关键字参数,将引发 ``TypeError`` 。:issue:`8028` 由 :user:`Alexander Booth ` 贡献。 - :class:`model_selection.GridSearchCV` 、:class:`model_selection.RandomizedSearchCV` 和 :func:`model_selection.cross_val_score` 现在允许使用可调用核的估计器,这在之前是被禁止的。:issue:`8005` 由 `Andreas Müller`_ 贡献。 - :func:`model_selection.cross_val_predict` 现在为参数 ``method`` 的所有值返回正确形状的输出。:issue:`7863` 由 :user:`Aman Dalmia ` 贡献。 - 为 :func:`model_selection.learning_curve` 添加了 ``shuffle`` 和 ``random_state`` 参数,以在基于训练大小的前缀之前对训练数据进行洗牌。:issue:`7506` 由 :user:`Narine Kokhlikyan ` 贡献。 - :class:`model_selection.StratifiedShuffleSplit` 现在支持多输出。 多类(或多标签)数据。:issue:`9044` 由 `Vlad Niculae`_ 提供。 - 改进了 :class:`model_selection.StratifiedShuffleSplit` 的速度。 :issue:`5991` 由 :user:`Arthur Mensch ` 和 `Joel Nothman`_ 提供。 - 在 :func:`model_selection.train_test_split` 中添加了 ``shuffle`` 参数。 :issue:`8845` 由 :user:`themrmax ` 提供。 - :class:`multioutput.MultiOutputRegressor` 和 :class:`multioutput.MultiOutputClassifier` 现在支持使用 ``partial_fit`` 进行在线学习。 :issue:`8053` 由 :user:`Peng Yu ` 提供。 - 在 :class:`model_selection.TimeSeriesSplit` 中添加了 ``max_train_size`` 参数。 :issue:`8282` 由 :user:`Aman Dalmia ` 提供。 - 现在可以通过 :func:`metrics.get_scorer` 和 ``scoring`` 参数使用更多的聚类指标。 :issue:`8117` 由 `Raghav RV`_ 提供。 - 基于 :func:`metrics.explained_variance_score` 的评分器也可用。 :issue:`9259` 由 :user:`Hanmin Qin ` 提供。 指标 - :func:`metrics.matthews_corrcoef` 现在支持多类分类。 :issue:`8094` 由 :user:`Jon Crall ` 提供。 - 在 :func:`metrics.cohen_kappa_score` 中添加了 ``sample_weight`` 参数。 :issue:`8335` 由 :user:`Victor Poughon ` 提供。 杂项 - :func:`utils.estimator_checks.check_estimator` 现在尝试确保方法 transform、predict 等不会在估计器上设置属性。 :issue:`7533` 由 :user:`Ekaterina Krivich ` 提供。 - 在 :mod:`sklearn.utils.validation` 方法中对 ``accept_sparse`` 参数添加了类型检查。 该参数现在只接受布尔值、字符串或字符串列表/元组。 ``accept_sparse=None`` 已被弃用, 应替换为 ``accept_sparse=False`` 。 :issue:`7880` 由 :user:`Josh Karnofsky ` 提供。 - 通过向 :func:`datasets.load_svmlight_file` 传递字节范围,可以加载 svmlight 格式文件的一部分。 :issue:`935` 由 :user:`Olivier Grisel ` 提供。 - :class:`dummy.DummyClassifier` 和 :class:`dummy.DummyRegressor` 现在接受非有限特征。:issue:`8931` 由 :user:`Attractadore` 修复。 Bug 修复 ........ 树和集成 - 修复了在使用 ``criterion='mae'`` 的树时出现的内存泄漏问题。 :issue:`8002` 由 `Raghav RV`_ 修复。 - 修复了 :class:`ensemble.IsolationForest` 使用错误公式计算平均路径长度的问题 :issue:`8549` 由 `Peter Wang `_ 修复。 - 修复了 :class:`ensemble.AdaBoostClassifier` 在拟合单类标签数据时抛出 ``ZeroDivisionError`` 的错误。 :issue:`7501` 由 :user:`Dominik Krzeminski ` 修复。 - 修复了 :class:`ensemble.GradientBoostingClassifier` 和 :class:`ensemble.GradientBoostingRegressor` 中使用 ``==`` 将浮点数与 ``0.0`` 比较导致的除零错误。 :issue:`7970` 由 :user:`He Chen ` 修复。 - 修复了 :class:`ensemble.GradientBoostingClassifier` 和 :class:`ensemble.GradientBoostingRegressor` 忽略 ``min_impurity_split`` 参数的错误。 :issue:`8006` 由 :user:`Sebastian Pölsterl ` 修复。 - 修复了 :class:`ensemble.BaggingClassifier` 中的 ``oob_score`` 。 :issue:`8936` 由 :user:`Michael Lewis ` 修复。 - 修复了随机森林估计器预测时内存使用过多的问题。 :issue:`8672` 由 :user:`Mike Benfield ` 修复。 - 修复了在 Python 2 中 ``sample_weight`` 作为列表时随机森林中断的错误。 :issue:`8068` 由 :user:`xor` 修复。 - 修复了 :class:`ensemble.IsolationForest` 在 ``max_features`` 小于 1 时失败的问题。 :issue:`5732` 由 :user:`Ishank Gulati ` 修复。 - 修复了使用 ``loss='quantile'`` 的梯度提升在计算 ``ytrue - ypred`` 的负值时产生负误差,导致调用 ``__call__`` 时出现错误值的问题。 :issue:`8087` 由 :user:`Alexis Mignon ` 修复。 - 修复了 :class:`ensemble.VotingClassifier` 引发错误的问题。 当传递一个numpy数组作为权重时。:issue:`7983` 由 :user:`Vincent Pham ` 修复。 - 修复了一个错误,当 `features_names` 的长度与决策树中的 `n_features` 不匹配时,:func:`tree.export_graphviz` 会引发错误。:issue:`8512` 由 :user:`Li Li ` 修复。 线性、核化和相关模型 - 修复了一个错误,当 :func:`linear_model.RANSACRegressor.fit` 早期找到一个大的内群组时,可能会运行到 `max_iter` 。:issue:`8251` 由 :user:`aivision2020` 修复。 - 修复了一个错误,当 `alpha=0` 时,:class:`naive_bayes.MultinomialNB` 和 :class:`naive_bayes.BernoulliNB` 会失败。:issue:`5814` 由 :user:`Yichuan Liu ` 和 :user:`Herilalaina Rakotoarison ` 修复。 - 修复了一个错误,:class:`linear_model.LassoLars` 的结果与 R(lars库)中可用的 LassoLars 实现不一致。:issue:`7849` 由 :user:`Jair Montoya Martinez ` 修复。 - 修复了 `linear_model.RandomizedLasso` 、:class:`linear_model.Lars` 、:class:`linear_model.LassoLars` 、:class:`linear_model.LarsCV` 和 :class:`linear_model.LassoLarsCV` 中的一个错误,其中参数 `precompute` 在各个类中不一致使用,并且文档字符串中提出的一些值可能会引发错误。:issue:`5359` 由 `Tom Dupre la Tour`_ 修复。 - 修复了 :class:`linear_model.RidgeCV` 和 :class:`linear_model.Ridge` 在使用 `normalize=True` 时结果不一致的问题。:issue:`9302` 由 `Alexandre Gramfort`_ 修复。 - 修复了一个错误,:func:`linear_model.LassoLars.fit` 有时会将 `coef_` 保留为列表,而不是 ndarray。:issue:`8160` 由 :user:`CJ Carey ` 修复。 - 修复了 :func:`linear_model.BayesianRidge.fit` 以返回与计算的系数 `coef_` 和 `intercept_` 一致的岭参数 `alpha_` 和 `lambda_` 。:issue:`8224` 由 :user:`Peter Gedeck ` 修复。 - 修复了 :class:`svm.OneClassSVM` 中的一个错误,它返回的是浮点数而不是 整数类。:issue:`8676` 由 :user:`Vathsala Achar ` 贡献。 - 修复了 :class:`linear_model.LassoLarsIC` 中的 AIC/BIC 准则计算。 :issue:`9022` 由 `Alexandre Gramfort`_ 和 :user:`Mehmet Basbug ` 贡献。 - 修复了我们 LibLinear 实现中的内存泄漏问题。:issue:`9024` 由 :user:`Sergei Lebedev ` 贡献。 - 修复了分层 CV 分割器在 :class:`linear_model.LassoCV` 中不起作用的错误。:issue:`8973` 由 :user:`Paulo Haddad ` 贡献。 - 修复了 :class:`gaussian_process.GaussianProcessRegressor` 中的一个错误, 当标准差和协方差在未拟合的情况下预测时,默认会失败并抛出无意义的错误。 :issue:`6573` 由 :user:`Quazi Marufur Rahman ` 和 `Manoj Kumar`_ 贡献。 其他预测器 - 修复 `semi_supervised.BaseLabelPropagation` 以正确实现 ``LabelPropagation`` 和 ``LabelSpreading`` ,如参考论文中所述。:issue:`9239` 由 :user:`Andre Ambrosio Boechat ` 、:user:`Utkarsh Upadhyay ` 和 `Joel Nothman`_ 贡献。 分解、流形学习和聚类 - 修复了 :class:`manifold.TSNE` 的实现: - ``early_exageration`` 参数之前没有效果,现在用于前 250 次优化迭代。 - 修复了在 :issue:`8992` 中报告的 ``AssertionError: Tree consistency failed`` 异常。 - 改进了学习计划,以匹配参考实现 `lvdmaaten/bhtsne `_ 。 由 :user:`Thomas Moreau ` 和 `Olivier Grisel`_ 贡献。 - 修复了 :class:`decomposition.LatentDirichletAllocation` 中的一个错误, 其中 ``perplexity`` 方法返回了不正确的结果,因为从版本 0.18 开始, ``transform`` 方法返回归一化的文档主题分布。:issue:`7954` 由 :user:`Gary Foreman ` 贡献。 - 修复了 :class:`decomposition.SparseCoder` 转换和 :func:`decomposition.sparse_encode` 中 n_jobs > 1 时的输出形状和错误。 - 修复了 :class:`decomposition.PCA` 、 :class:`decomposition.RandomizedPCA` 和 :class:`decomposition.IncrementalPCA` 中 ``explained_variance_`` 的实现。 :issue:`9105` 由 `Hanmin Qin `_ 提交。 - 修复了 :class:`decomposition.PCA` 中 ``noise_variance_`` 的实现。 :issue:`9108` 由 `Hanmin Qin `_ 提交。 - 修复了 :class:`cluster.DBSCAN` 在输入为预计算的稀疏矩阵且初始行全为零时给出错误结果的 bug。 :issue:`8306` 由 :user:`Akshay Gupta ` 提交。 - 修复了在使用稀疏数组 X 和初始质心拟合 :class:`cluster.KMeans` 时,X 的均值不必要地从质心中减去的 bug。 :issue:`7872` 由 :user:`Josh Karnofsky ` 提交。 - 修复了 :class:`covariance.EllipticEnvelope` 中的输入验证问题。 :issue:`8086` 由 `Andreas Müller`_ 提交。 - 修复了 :class:`covariance.MinCovDet` 中输入数据产生奇异协方差矩阵时,辅助方法 ``_c_step`` 会抛出异常的 bug。 :issue:`3367` 由 :user:`Jeremy Steward ` 提交。 - 修复了 :class:`manifold.TSNE` 中影响梯度下降收敛的 bug。 :issue:`8768` 由 :user:`David DeTomaso ` 提交。 - 修复了 :class:`manifold.TSNE` 中存储了错误的 ``kl_divergence_`` 的 bug。 :issue:`6507` 由 :user:`Sebastian Saeger ` 提交。 - 修复了 :class:`cross_decomposition.PLSRegression` 在 ``scale=True`` 时的不适当缩放问题。 :issue:`7819` 由 :user:`jayzed82 ` 提交。 - :class:`cluster.SpectralCoclustering` 和 :class:`cluster.SpectralBiclustering` 的 ``fit`` 方法符合 API 规范,接受 ``y`` 并返回对象。 :issue:`6126` 、:issue:`7814` 由 :user:`Laurent Direr ` 和 :user:`Maniteja Nandana ` 提交。 Nandana `. - 修复了 :mod:` sklearn.mixture`的 ``sample`` 方法未返回请求数量的样本的错误。:issue:`7702` 由 :user:`Levi John Wolf ` 提交。 - 修复了 :class:`neighbors.NearestCentroid` 中的收缩实现问题。:issue:`9219` 由 `Hanmin Qin `_ 提交。 预处理和特征选择 - 对于稀疏矩阵,使用 ``return_norm=True`` 的 :func:`preprocessing.normalize` 现在会在 'l1' 或 'l2' 范数下引发 ``NotImplementedError`` ,并且在 'max' 范数下返回的范数将与密集矩阵相同。:issue:`7771` 由 `Ang Lu `_ 提交。 - 修复了 :class:`feature_selection.SelectFdr` 未完全实现 Benjamini-Hochberg 程序的错误。之前可能会选择比应选数量更少的特征。:issue:`7490` 由 :user:`Peng Meng ` 提交。 - 修复了 `linear_model.RandomizedLasso` 和 `linear_model.RandomizedLogisticRegression` 在稀疏输入时中断的错误。:issue:`8259` 由 :user:`Aman Dalmia ` 提交。 - 修复了 :class:`feature_extraction.FeatureHasher` 强制对哈希特征应用稀疏随机投影的错误,阻止了在管道中使用 :class:`feature_extraction.text.HashingVectorizer` 与 :class:`feature_extraction.text.TfidfTransformer` 。:issue:`7565` 由 :user:`Roman Yurchak ` 提交。 - 修复了 :class:`feature_selection.mutual_info_regression` 未正确使用 ``n_neighbors`` 的错误。:issue:`8181` 由 :user:`Guillaume Lemaitre ` 提交。 模型评估和元估计器 - 修复了 `model_selection.BaseSearchCV.inverse_transform` 返回 ``self.best_estimator_.transform()`` 而不是 ``self.best_estimator_.inverse_transform()`` 的错误。:issue:`8344` 由 :user:`Akshay Gupta ` 和 :user:`Rasmus Eriksson ` 提交。 - 为 :class:`model_selection.GridSearchCV` 添加了 ``classes_`` 属性, - 修复了 :class:`model_selection.RandomizedSearchCV` 、 `grid_search.GridSearchCV` 和 `grid_search.RandomizedSearchCV` 中与 ``best_estimator_`` 的 ``classes_`` 属性匹配的问题。:issue:`7661` 和 :issue:`8295` 由 :user:`Alyssa Batula ` 、:user:`Dylan Werner-Meier ` 和 :user:`Stephen Hoover ` 修复。 - 修复了 :func:`model_selection.validation_curve` 在每个参数值上重复使用相同估计器的错误。:issue:`7365` 由 :user:`Aleksandr Sandrovskii ` 修复。 - :func:`model_selection.permutation_test_score` 现在支持 Pandas 类型。:issue:`5697` 由 :user:`Stijn Tonk ` 修复。 - 修复了 :class:`multiclass.OutputCodeClassifier` 中的多个输入验证问题。:issue:`8086` 由 `Andreas Müller`_ 修复。 - :class:`multiclass.OneVsOneClassifier` 的 ``partial_fit`` 现在确保所有类别都提前提供。:issue:`6250` 由 :user:`Asish Panda ` 修复。 - 修复了 :func:`multioutput.MultiOutputClassifier.predict_proba` 以返回二维数组列表,而不是三维数组。在不同目标列具有不同类别数的情况下,尝试堆叠不同维度的矩阵时会引发 ``ValueError`` 。:issue:`8093` 由 :user:`Peter Bull ` 修复。 - 交叉验证现在支持具有只读索引的 Pandas 数据类型。:issue:`9507` 由 `Loic Esteve`_ 修复。 Metrics - :func:`metrics.average_precision_score` 不再在线性插值操作点之间进行插值,而是根据自上一个操作点以来的召回变化来加权精度,如 `Wikipedia 条目 `_ 所述。( `#7356 `_ )。由 :user:`Nick Dingwall ` 和 `Gael Varoquaux`_ 修复。 - 修复了 `metrics.classification._check_targets` 中的一个错误,该错误会在 ``y_true`` 和 ``y_pred`` 均为 ``'binary'`` 但 ``y_true`` 和 ``y_pred`` 的并集不是二进制时返回 ``'binary'`` 。 ``'multiclass'`` 。:issue:`8377` 由 `Loic Esteve`_ 修复。 - 修复了 :func:`metrics.confusion_matrix` 和 :func:`metrics.cohen_kappa_score` 中的整数溢出错误。:issue:`8354` , :issue:`7929` 由 `Joel Nothman`_ 和 :user:`Jon Crall ` 修复。 - 修复了在 :func:`metrics.pairwise.pairwise_kernels` 中传递 ``gamma`` 参数给 ``chi2`` 内核的问题。:issue:`5211` 由 :user:`Nick Rhinehart ` 、 :user:`Saurabh Bansod ` 和 `Andreas Müller`_ 修复。 杂项 - 修复了当 :func:`datasets.make_classification` 生成超过 30 个特征时失败的问题。:issue:`8159` 由 :user:`Herilalaina Rakotoarison ` 修复。 - 修复了当 ``n_samples`` 为奇数时 :func:`datasets.make_moons` 给出错误结果的问题。 :issue:`8198` 由 :user:`Josh Levy ` 修复。 - :mod:`sklearn.datasets` 中的一些 ``fetch_`` 函数忽略了 ``download_if_missing`` 关键字。:issue:`7944` 由 :user:`Ralf Gommers ` 修复。 - 修复了估计器在 ``fit`` 函数中接受 ``pandas.Series`` 类型的 ``sample_weight`` 参数的问题。:issue:`7825` 由 `Kathleen Chen`_ 修复。 - 修复了在 ``numpy.cumsum`` 可能数值不稳定的情况下,如果检测到不稳定性则引发异常的问题。:issue:`7376` 和 :issue:`7331` 由 `Joel Nothman`_ 和 :user:`yangarbiter` 修复。 - 修复了 `base.BaseEstimator.__getstate__` 在多重继承上下文中阻碍子类自定义序列化的问题。 :issue:`8316` 由 :user:`Holger Peters ` 修复。 - 将 Sphinx-Gallery 从 0.1.4 更新到 0.1.7,以解决使用 Sphinx>1.5 构建文档时的链接问题。:issue:`8010` , :issue:`7986` 由 :user:`Oscar Najera ` 修复。 - 在 :func:`sklearn.datasets.fetch_kddcup99` 中添加 ``data_home`` 参数。:issue:`9289` 由 `Loic Esteve`_ 修复。 - 修复了使用 Python 3 版本的 makedirs 的 dataset 加载器在 Python 2 中也能工作的问题。:issue:`9284` 由 :user:`Sebastin Santy ` 修复。 - 感谢 `lgtm.com `_ 的提醒,修复了几个小问题。:issue:`9278` 由 :user:`Jean Helie ` 等人完成。 API 变更总结 ------------- 树和集成 -------- - 梯度提升基础模型不再是估计器。由 `Andreas Müller`_ 完成。 - 所有基于树的估计器现在接受 ``min_impurity_decrease`` 参数,以替代已弃用的 ``min_impurity_split`` 。 ``min_impurity_decrease`` 有助于停止分裂那些加权不纯度减少不再至少为 ``min_impurity_decrease`` 的节点。:issue:`8449` 由 `Raghav RV`_ 完成。 线性、核化和相关模型 -------------------- - 在 :class:`linear_model.SGDClassifier` 、:class:`linear_model.SGDRegressor` 、:class:`linear_model.PassiveAggressiveClassifier` 、:class:`linear_model.PassiveAggressiveRegressor` 和 :class:`linear_model.Perceptron` 中, ``n_iter`` 参数已弃用。由 `Tom Dupre la Tour`_ 完成。 其他预测器 ---------- - `neighbors.LSHForest` 已弃用,并将在 0.21 版本中移除,因其性能不佳。:issue:`9078` 由 :user:`Laurent Direr ` 完成。 - :class:`neighbors.NearestCentroid` 不再声称支持 ``metric='precomputed'`` ,现在会引发错误。:issue:`8515` 由 :user:`Sergul Aydore ` 完成。 - :class:`semi_supervised.LabelPropagation` 的 ``alpha`` 参数现在无效,并已弃用,将在 0.21 版本中移除。:issue:`9239` 由 :user:`Andre Ambrosio Boechat ` 、:user:`Utkarsh Upadhyay ` 和 `Joel Nothman`_ 完成。 分解、流形学习和聚类 -------------------- - 弃用 :class:`decomposition.LatentDirichletAllocation` 中 ``perplexity`` 方法的 ``doc_topic_distr`` 参数,因为用户不再能访问用于困惑度计算的未归一化文档主题分布。:issue:`7954` 由 :user:`Gary Foreman ` 完成。 - :class:`decomposition.LatentDirichletAllocation` 的 ``n_topics`` 参数已重命名为 ``n_components`` ,并将在 0.21 版本中移除。 :issue:`8922` 由 :user:`Attractadore` 提交。 - :meth:`decomposition.SparsePCA.transform` 的 ``ridge_alpha`` 参数已弃用,建议使用类参数。 :issue:`8137` 由 :user:`Naoya Kanai ` 提交。 - :class:`cluster.DBSCAN` 现在有一个 ``metric_params`` 参数。 :issue:`8139` 由 :user:`Naoya Kanai ` 提交。 预处理和特征选择 - :class:`feature_selection.SelectFromModel` 现在只有在底层估计器有 ``partial_fit`` 方法时才有该方法。由 `Andreas Müller`_ 提交。 - :class:`feature_selection.SelectFromModel` 现在验证 ``threshold`` 参数,并在调用 ``fit`` 时设置 ``threshold_`` 属性,而不再在调用 ``transform`` 时设置。由 `Andreas Müller`_ 提交。 - :class:`feature_extraction.FeatureHasher` 中的 ``non_negative`` 参数已弃用,并替换为更有原则的替代方案 ``alternate_sign`` 。 :issue:`7565` 由 :user:`Roman Yurchak ` 提交。 - `linear_model.RandomizedLogisticRegression` 和 `linear_model.RandomizedLasso` 已弃用,并将在 0.21 版本中移除。 :issue:`8995` 由 :user:`Ramana.S ` 提交。 模型评估和元估计器 - 弃用 :class:`model_selection.GridSearchCV` 和 :class:`model_selection.RandomizedSearchCV` 的 ``fit_params`` 构造函数输入,建议将关键字参数传递给这些类的 ``fit`` 方法。模型训练所需的数据依赖参数应作为关键字参数传递给 ``fit`` ,并遵循此约定将允许超参数选择类与 :func:`model_selection.cross_val_predict` 等工具一起使用。 :issue:`2879` 由 :user:`Stephen Hoover ` 提交。 - 在 0.21 版本中,使用拆分器的默认行为将... ``test_size`` 和 ``train_size`` 参数将会改变,使得仅指定 ``train_size`` 时, ``test_size`` 将自动变为剩余部分。:issue:`7459` 由 :user:`Nelson Liu ` 贡献。 - :class:`multiclass.OneVsRestClassifier` 现在仅在其基础估计器支持时才具有 ``partial_fit`` 、 ``decision_function`` 和 ``predict_proba`` 方法。:issue:`7812` 由 `Andreas Müller`_ 和 :user:`Mikhail Korobov ` 贡献。 - :class:`multiclass.OneVsRestClassifier` 现在仅在其基础估计器支持时才具有 ``partial_fit`` 方法。由 `Andreas Müller`_ 贡献。 - :class:`multiclass.OneVsRestClassifier` 和 :class:`multiclass.OneVsOneClassifier` 中的二分类 ``decision_function`` 输出形状现在为 ``(n_samples,)`` ,以符合 scikit-learn 约定。:issue:`9100` 由 `Andreas Müller`_ 贡献。 - :func:`multioutput.MultiOutputClassifier.predict_proba` 函数过去返回一个三维数组( ``n_samples`` , ``n_classes`` , ``n_outputs`` )。在不同目标列具有不同类别数的情况下,尝试堆叠不同维度的矩阵会引发 ``ValueError`` 。现在该函数返回一个数组列表,列表长度为 ``n_outputs`` ,每个数组为( ``n_samples`` , ``n_classes`` ),对应特定输出。:issue:`8093` 由 :user:`Peter Bull ` 贡献。 - 在 :class:`pipeline.Pipeline` 中将属性 ``named_steps`` 从 ``dict`` 替换为 :class:`utils.Bunch` ,以在交互环境中启用制表符补全。在 ``named_steps`` 和 ``dict`` 属性存在冲突值的情况下,将优先考虑 ``dict`` 的行为。:issue:`8481` 由 :user:`Herilalaina Rakotoarison ` 贡献。 其他 - 弃用 ``transform`` 和 ``inverse_transform`` 中的 ``y`` 参数。该方法不应接受 ``y`` 参数,因为它用于预测时。:issue:`8174` 由 :user:`Tahar Zanouda ` 、 `Alexandre Gramfort`_ 和 `Raghav RV`_ 贡献。 - SciPy >= 0.13.3 和 NumPy >= 1.8.2 现在是 scikit-learn 支持的最低版本。以下在 :mod:`sklearn.utils` 中的回溯功能已被相应移除或弃用。:issue:`8854` 和 :issue:`8874` 由 :user:`Naoya Kanai ` 提交。 - :class:`discriminant_analysis.QuadraticDiscriminantAnalysis` 的 ``store_covariances`` 和 ``covariances_`` 参数已重命名为 ``store_covariance`` 和 ``covariance_`` ,以与 :class:`discriminant_analysis.LinearDiscriminantAnalysis` 的相应参数名称保持一致。它们将在 0.21 版本中被移除。:issue:`7998` 由 :user:`Jiacheng ` 提交。 在 0.19 版本中移除: - ``utils.fixes.argpartition`` - ``utils.fixes.array_equal`` - ``utils.fixes.astype`` - ``utils.fixes.bincount`` - ``utils.fixes.expit`` - ``utils.fixes.frombuffer_empty`` - ``utils.fixes.in1d`` - ``utils.fixes.norm`` - ``utils.fixes.rankdata`` - ``utils.fixes.safe_copy`` 在 0.19 版本中弃用,将在 0.21 版本中移除: - ``utils.arpack.eigs`` - ``utils.arpack.eigsh`` - ``utils.arpack.svds`` - ``utils.extmath.fast_dot`` - ``utils.extmath.logsumexp`` - ``utils.extmath.norm`` - ``utils.extmath.pinvh`` - ``utils.graph.graph_laplacian`` - ``utils.random.choice`` - ``utils.sparsetools.connected_components`` - ``utils.stats.rankdata`` - 具有 ``decision_function`` 和 ``predict_proba`` 方法的估计器现在需要它们之间具有单调关系。已在 **utils.estimator_checks** 中添加了 ``check_decision_proba_consistency`` 方法来检查它们的一致性。:issue:`7578` 由 :user:`Shubham Bhardwaj ` 提交。 - ``utils.estimator_checks`` 中的所有检查,特别是 :func:`utils.estimator_checks.check_estimator` 现在接受估计器实例。大多数其他检查不再接受估计器类。:issue:`9019` 由 `Andreas Müller`_ 提交。 - 确保估计器的属性不以 ``_`` 结尾。 在构造函数中,但仅在 ``fit`` 方法中可用。最值得注意的是,集成估计器(继承自 `ensemble.BaseEnsemble` )现在只有在 ``fit`` 之后才可访问 ``self.estimators_`` 。 :issue:`7464` 由 `Lars Buitinck`_ 和 `Loic Esteve`_ 贡献。 代码和文档贡献者 ------------------ 感谢自版本 0.18 以来为项目的维护和改进做出贡献的每一个人,包括: Joel Nothman, Loic Esteve, Andreas Mueller, Guillaume Lemaitre, Olivier Grisel, Hanmin Qin, Raghav RV, Alexandre Gramfort, themrmax, Aman Dalmia, Gael Varoquaux, Naoya Kanai, Tom Dupré la Tour, Rishikesh, Nelson Liu, Taehoon Lee, Nelle Varoquaux, Aashil, Mikhail Korobov, Sebastin Santy, Joan Massich, Roman Yurchak, RAKOTOARISON Herilalaina, Thierry Guillemot, Alexandre Abadie, Carol Willing, Balakumaran Manoharan, Josh Karnofsky, Vlad Niculae, Utkarsh Upadhyay, Dmitry Petrov, Minghui Liu, Srivatsan, Vincent Pham, Albert Thomas, Jake VanderPlas, Attractadore, JC Liu, alexandercbooth, chkoar, Óscar Nájera, Aarshay Jain, Kyle Gilliam, Ramana Subramanyam, CJ Carey, Clement Joudet, David Robles, He Chen, Joris Van den Bossche, Karan Desai, Katie Luangkote, Leland McInnes, Maniteja Nandana, Michele Lacchia, Sergei Lebedev, Shubham Bhardwaj, akshay0724, omtcyfz, rickiepark, waterponey, Vathsala Achar, jbDelafosse, Ralf Gommers, Ekaterina Krivich, Vivek Kumar, Ishank Gulati, Dave Elliott, ldirer, Reiichiro Nakano, Levi John Wolf, Mathieu Blondel, Sid Kapur, Dougal J. Sutherland, midinas, mikebenfield, Sourav Singh, Aseem Bansal, Ibraim Ganiev, Stephen Hoover, AishwaryaRK, Steven C. Howell, Gary Foreman, Neeraj Gangwar, Tahar, Jon Crall, dokato, Kathy Chen, ferria, Thomas Moreau, Charlie Brummitt, Nicolas Goix, Adam Kleczewski, Sam Shleifer, Nikita Singh, Basil Beirouti, Giorgio Patrini, Manoj Kumar, Rafael Possas, James Bourbeau, James A. Bednar, Janine Harper, Jaye, Jean Helie, Jeremy Steward, Artsiom, John Wei, Jonathan Ligo, Jonathan Rahn, seanpwilliams, Arthur Mensch, Josh Levy, Julian Kuhlmann, Julien Aubert, Jörn Hees, Kai, shivamgargsya, Kat Hempstalk, Kaushik Lakshmikanth, Kennedy, Kenneth Lyons, Kenneth Myers, Kevin Yap, Kirill Bobyrev, Konstantin Podshumok, Arthur Imbert, Lee Murray, toastedcornflakes, Lera, Li Li, Arthur Douillard, Mainak Jas, tobycheese, Manraj Singh, Manvendra Singh, Marc Meketon, MarcoFalke, Matthew Brett, Matthias Gilch, Mehul Ahuja, Melanie Goetz, Meng, Peng, Michael Dezube, Michal Baumgartner, vibrantabhi19, Artem Golubin, Milen Paskov, Antonin Carette, Morikko, MrMjauh, NALEPA Emmanuel, Namiya, Antoine Wendlinger, Narine Kokhlikyan, NarineK, Nate Guerin, Angus Williams, Ang Lu, Nicole Vavrova, Nitish Pandey, Okhlopkov Daniil Olegovich, Andy Craze, Om Prakash, Parminder Singh, Patrick Carlson, Patrick Pei, Paul Ganssle, Paulo Haddad, Paweł Lorek, Peng Yu, Pete Bachant, Peter Bull, Peter Csizsek, Peter Wang, Pieter Arthur de Jong, Ping-Yao, Chang, Preston Parry, Puneet Mathur, Quentin Hibon, Andrew Smith, Andrew Jackson, 1kastner, Rameshwar Bhaskaran, Rebecca Bilbro, Remi Rampin, Andrea Esuli, Rob Hall, Robert Bradshaw, Romain Brault, Aman Pratik, Ruifeng Zheng, Russell Smith, Sachin Agarwal, Sailesh Choyal, Samson Tan, Samuël Weber, Sarah Brown, Sebastian Pölsterl, Sebastian Raschka, Sebastian Saeger, Alyssa Batula, Abhyuday Pratap Singh, Sergey Feldman, Sergul Aydore, Sharan Yalburgi, willduan, Siddharth Gupta, Sri Krishna, Almer, Stijn Tonk, Allen Riddell, Theofilos Papapanagiotou, Alison, Alexis Mignon, Tommy Boucher, Tommy Löfstedt, Toshihiro Kamishima, Tyler Folkman, Tyler Lanigan, Alexander Junge, Varun Shenoy, Victor Poughon, Vilhelm von Ehrenheim, Aleksandr Sandrovskii, Alan Yee, Vlasios Vasileiou, Warut Vijitbenjaronk, Yang Zhang, Yaroslav Halchenko, Yichuan Liu, Yuichi Fujikawa, affanv14, aivision2020, xor, andreh7, brady salz, campustrampus, Agamemnon Krasoulis, ditenberg, elena-sharova, filipj8, fukatani, gedeck, guiniol, guoci, hakaa1, hongkahjun, i-am-xhy, jakirkham, jaroslaw-weber, jayzed82, jeroko, jmontoyam, jonathan.striebel, josephsalmon, jschendel, leereeves, martin-hahn, mathurinm, mehak-sachdeva, mlewis1729, mlliou112, mthorrell, ndingwall, nuffe, yangarbiter, plagree, pldtc325, Breno Freitas, Brett Olsen, Brian A. Alfano, Brian Burns, polmauri, Brandon Carter, Charlton Austin, Chayant T15h, Chinmaya Pancholi, Christian Danielsen, Chung Yen, Chyi-Kwei Yau, pravarmahajan, DOHMATOB Elvis, Daniel LeJeune, Daniel Hnyk, Darius Morawiec, David DeTomaso, David Gasquez, David Haberthür, David Heryanto, David Kirkby, David Nicholson, rashchedrin, Deborah Gertrude Digges, Denis Engemann, Devansh D, Dickson, Bob Baxley, Don86, E. Lynch-Klarup, Ed Rogers, Elizabeth Ferriss, Ellen-Co2, Fabian Egli, Fang-Chieh Chou, Bing Tian Dai, Greg Stupp, Grzegorz Szpak, Bertrand Thirion, Hadrien Bertrand, Harizo Rajaona, zxcvbnius, Henry Lin, Holger Peters, Icyblade Dai, Igor Andriushchenko, Ilya, Isaac Laughlin, Iván Vallés, Aurélien Bellet, JPFrancoia, Jacob Schreiber, Asish Mahapatra