版本 1.6#
有关此版本主要亮点的简要说明,请参阅 scikit-learn 1.6 版本亮点。
更新日志图例
重大功能 以前无法实现的大功能。
功能 以前无法实现的功能。
效率提升 现有功能现在可能不需要那么多计算或内存。
增强 一般性的小改进。
修复 以前无法按文档或合理预期工作的问题现在应该可以了。
API 变更 未来你需要更改代码才能达到相同的效果;或者未来某个功能将被移除。
版本 1.6.1#
2025 年 1 月
变更模型#
修复 大部分估计器已更正
tags.input_tags.sparse标志。由 Antoine Baker #30187
影响多个模块的变更#
修复
_more_tags、_get_tags和_safe_tags现在引发DeprecationWarning而不是FutureWarning,以便只通知开发人员而不是最终用户。由 Guillaume Lemaitre 在 #30573 中
sklearn.metrics#
修复 修复了当在 PyTorch CPU 张量上调用 scikit-learn 度量时(禁用 Array API 调度,这是默认设置)会引发错误的回归问题。由 Loïc Estève #30454
sklearn.model_selection#
修复
cross_validate、cross_val_predict和cross_val_score现在在启用元数据路由时接受params=None。由 Adrin Jalali #30451
sklearn.tree#
修复 使用
log2而不是ln来构建树,以保持以前版本的行为。由 Thomas Fan #30557
sklearn.utils#
增强
utils.estimator_checks.check_estimator_sparse_tag确保估计器标签input_tags.sparse与其fit方法一致(接受稀疏输入X或引发适当的错误)。由 Antoine Baker #30187修复 当估计器的 MRO 中没有
__sklearn_tags__的具体实现时,引发DeprecationWarning。我们要求继承自实现__sklearn_tags__的BaseEstimator。由 Guillaume Lemaitre #30516
版本 1.6.0#
2024 年 12 月
影响许多模块的更改#
增强 引入了
__sklearn_tags__用于在估计器中设置标签。更多详细信息请参阅 估计器标签。由 Thomas Fan 和 Adrin Jalali #29677增强 scikit-learn 类和函数现在只需
import sklearn导入行即可使用。例如,import sklearn; sklearn.svm.SVC()现在可以工作。由 Thomas Fan #29793修复 类
metrics.ConfusionMatrixDisplay、metrics.RocCurveDisplay、calibration.CalibrationDisplay、metrics.PrecisionRecallDisplay、metrics.PredictionErrorDisplay和inspection.PartialDependenceDisplay现在可以正确处理 Matplotlib 样式参数的别名(例如,c和color,ls和linestyle等)。由 Joseph Barbier #30023API 更改 引入了
utils.validation.validate_data并取代了以前私有的base.BaseEstimator._validate_data方法。这旨在供第三方估计器开发人员使用,他们应在大多数情况下使用此函数而不是utils.check_array和utils.check_X_y。由 Adrin Jalali #29696
支持 Array API#
已更新其他估计器和函数以包含对所有 Array API 兼容输入的支持。
有关详细信息,请参阅 Array API 支持(实验性)。
功能
model_selection.GridSearchCV、model_selection.RandomizedSearchCV、model_selection.HalvingGridSearchCV和model_selection.HalvingRandomSearchCV现在在其基础估计器支持时支持 Array API 兼容输入。由 Tim Head 和 Olivier Grisel #27096功能
sklearn.metrics.f1_score现在支持 Array API 兼容输入。由 Omar Salman #27369功能
preprocessing.LabelEncoder现在支持 Array API 兼容输入。由 Omar Salman #27381功能
sklearn.metrics.mean_absolute_error现在支持 Array API 兼容输入。由 Edoardo Abati #27736功能
sklearn.metrics.mean_tweedie_deviance现在支持 Array API 兼容输入。由 Thomas Li #28106功能
sklearn.metrics.pairwise.cosine_similarity现在支持 Array API 兼容输入。由 Edoardo Abati #29014功能
sklearn.metrics.pairwise.paired_cosine_distances现在支持 Array API 兼容输入。由 Edoardo Abati #29112功能
sklearn.metrics.cluster.entropy现在支持 Array API 兼容输入。由 Yaroslav Korobko #29141功能
sklearn.metrics.mean_squared_error现在支持 Array API 兼容输入。由 Yaroslav Korobko #29142功能
sklearn.metrics.pairwise.additive_chi2_kernel现在支持 Array API 兼容输入。由 Yaroslav Korobko #29144功能
sklearn.metrics.d2_tweedie_score现在支持 Array API 兼容输入。由 Emily Chen #29207功能
sklearn.metrics.max_error现在支持 Array API 兼容输入。由 Edoardo Abati #29212功能
sklearn.metrics.mean_poisson_deviance现在支持 Array API 兼容输入。由 Emily Chen #29227功能
sklearn.metrics.mean_gamma_deviance现在支持 Array API 兼容输入。由 Emily Chen #29239功能
sklearn.metrics.pairwise.cosine_distances现在支持 Array API 兼容输入。由 Emily Chen #29265功能
sklearn.metrics.pairwise.chi2_kernel现在支持 Array API 兼容输入。由 Yaroslav Korobko #29267功能
sklearn.metrics.mean_absolute_percentage_error现在支持 Array API 兼容输入。由 Emily Chen #29300功能
sklearn.metrics.pairwise.paired_euclidean_distances现在支持 Array API 兼容输入。由 Emily Chen #29389功能
sklearn.metrics.pairwise.euclidean_distances和sklearn.metrics.pairwise.rbf_kernel现在支持 Array API 兼容输入。由 Omar Salman #29433功能
sklearn.metrics.pairwise.linear_kernel、sklearn.metrics.pairwise.sigmoid_kernel和sklearn.metrics.pairwise.polynomial_kernel现在支持 Array API 兼容输入。由 Omar Salman #29475功能
sklearn.metrics.mean_squared_log_error和sklearn.metrics.root_mean_squared_log_error现在支持 Array API 兼容输入。由 Virgil Chan #29709功能 具有
clip=True的preprocessing.MinMaxScaler现在支持 Array API 兼容输入。由 Shreekant Nandiyawar #29751已移除对即将弃用的
cupy.array_api模块的支持,转而直接支持顶级cupy模块,可能通过array_api_compat.cupy兼容性包装器实现。由 Olivier Grisel #29639
元数据路由#
有关更多详细信息,请参阅 元数据路由用户指南。
功能
semi_supervised.SelfTrainingClassifier现在支持元数据路由。fit 方法现在接受**fit_params,这些参数通过其fit方法传递给底层估计器。此外,predict、predict_proba、predict_log_proba、score和decision_function方法也接受**params,这些参数通过其各自的方法传递给底层估计器。由 Adam Li #28494功能
ensemble.StackingClassifier和ensemble.StackingRegressor现在支持元数据路由,并通过其fit方法将**fit_params传递给底层估计器。由 Stefanie Senger #28701功能
model_selection.learning_curve现在支持对其估计器的fit方法及其底层 CV 分割器和评分器的元数据路由。由 Stefanie Senger #28975功能
compose.TransformedTargetRegressor现在在其fit和predict方法中支持元数据路由,并将相应的参数路由到底层回归器。由 Omar Salman #29136功能
feature_selection.SequentialFeatureSelector现在在其fit方法中支持元数据路由,并将相应的参数传递给model_selection.cross_val_score函数。由 Omar Salman #29260功能
model_selection.permutation_test_score现在支持对其估计器的fit方法及其底层 CV 分割器和评分器的元数据路由。由 Adam Li #29266功能
feature_selection.RFE和feature_selection.RFECV现在支持元数据路由。由 Omar Salman #29312功能
model_selection.validation_curve现在支持对其估计器的fit方法及其底层 CV 分割器和评分器的元数据路由。由 Stefanie Senger #29329修复 元数据通过
linear_model.RidgeCV和linear_model.RidgeClassifierCV正确路由到分组 CV 分割器,并且UnsetMetadataPassedError已修复,适用于使用默认评分的linear_model.RidgeClassifierCV。由 Stefanie Senger #29634修复 许多不应包含在路由机制中的方法参数现在已被排除,并且不会为它们生成
set_{method}_request方法。由 Adrin Jalali #29920
放弃对 PyPy 的官方支持#
由于维护者资源有限和用户数量较少,已放弃对 PyPy 的官方支持。scikit-learn 的某些部分可能仍然有效,但 PyPy 不再在 scikit-learn 持续集成中进行测试。由 Loïc Estève #29128
放弃对使用 setuptools 构建的支持#
从 scikit-learn 1.6 开始,已移除对使用 setuptools 构建的支持。Meson 是构建 scikit-learn 唯一支持的方式。由 Loïc Estève #29400
Free-threaded CPython 3.13 支持#
scikit-learn 对 free-threaded CPython 有初步支持,特别是我们所有支持的平台都提供 free-threaded wheels。
Free-threaded(也称为 nogil)CPython 3.13 是 CPython 3.13 的一个实验版本,旨在通过移除全局解释器锁 (GIL) 来实现高效的多线程用例。
有关 free-threaded CPython 的更多详细信息,请参阅 py-free-threading doc,特别是如何安装 free-threaded CPython 和生态系统兼容性跟踪。
请随意在您的用例中尝试 free-threaded 并报告任何问题!
由 Loïc Estève 和更广泛的 Scientific Python 和 CPython 生态系统中的许多其他人,例如 Nathan Goldbaum、Ralf Gommers、Edgar Andrés Margffoy Tuay。 #30360
sklearn.base#
增强 添加了一个函数
base.is_clusterer,它确定给定的估计器是否属于聚类器类别。由 Christian Veenhuis #28936API 更改 将类对象传递给
is_classifier、is_regressor和is_outlier_detector现已弃用。请改用实例。由 Adrin Jalali #30122
sklearn.calibration#
API 更改
cv="prefit"对于CalibratedClassifierCV已弃用。请改用FrozenEstimator,例如CalibratedClassifierCV(FrozenEstimator(estimator))。由 Adrin Jalali #30171
sklearn.cluster#
API 更改
cluster.Birch的copy参数在 1.6 中已弃用,并将在 1.8 中移除。由于估计器不对输入数据执行就地操作,因此它没有效果。由 Yao Xiao #29124
sklearn.compose#
增强
sklearn.compose.ColumnTransformer的verbose_feature_names_out现在接受字符串格式或可调用对象来生成特征名称。由 Marc Bresson #28934
sklearn.covariance#
效率
covariance.MinCovDet拟合现在稍微快一些。由 Antony Lee #29835
sklearn.cross_decomposition#
修复 当
n_components大于n_samples时,cross_decomposition.PLSRegression现在正确引发错误。由 Thomas Fan #29710
sklearn.datasets#
功能
datasets.fetch_file允许从 Web 下载任意数据文件。它处理本地缓存、SHA256 摘要的完整性检查以及 HTTP 错误时的自动重试。由 Olivier Grisel #29354
sklearn.decomposition#
增强
LatentDirichletAllocation现在在transform和fit_transform方法中有一个normalize参数,用于控制文档主题分布是否归一化。由 Adrin Jalali #30097修复
IncrementalPCA现在只有在第一次调用partial_fit时,输入数据中的样本数量小于组件数量时才会引发ValueError。随后的partial_fit调用不再受此限制。由 Thomas Gessey-Jones #30224
sklearn.discriminant_analysis#
修复
discriminant_analysis.QuadraticDiscriminantAnalysis在存在共线性变量的情况下现在会引发LinAlgWarning。这些错误可以通过使用reg_param属性来抑制。由 Alihan Zihna #19731
sklearn.ensemble#
功能
ensemble.ExtraTreesClassifier和ensemble.ExtraTreesRegressor现在支持数据矩阵X中的缺失值。缺失值通过在遍历树时随机将所有样本移动到左或右子节点来处理。由 Adam Li #28268效率 通过并行化 bin 阈值的初始搜索,拟合
ensemble.HistGradientBoostingClassifier和ensemble.HistGradientBoostingRegressor的运行时间略有改进。由 Christian Lorentzen #28064效率
ensemble.IsolationForest现在在 predict 期间运行并行作业,对于样本大小大于 2000 的情况,使用joblib可将速度提高 2-4 倍。由 Adam Li 和 Sérgio Pereira #28622增强
ensemble.HistGradientBoostingClassifier和ensemble.HistGradientBoostingRegressor的详细程度得到了更精细的控制。现在,verbose = 1只打印摘要信息,verbose >= 2则像以前一样打印完整信息。由 Christian Lorentzen #28179API 更改
ensemble.AdaBoostClassifier的参数algorithm已弃用,并将在 1.8 中移除。由 Jérémie du Boisberranger #29997
sklearn.feature_extraction#
修复
feature_extraction.text.TfidfVectorizer现在正确地根据输入数据保留了idf_的dtype。由 Guillaume Lemaitre #30022
sklearn.frozen#
主要功能 现引入了
FrozenEstimator,它允许冻结估计器。这意味着对其调用.fit不会产生任何效果,并且执行clone(frozenestimator)会返回相同的估计器而不是未拟合的克隆。 #29705 由 Adrin Jalali #29705
sklearn.impute#
修复
impute.KNNImputer在计算均匀权重的平均值时排除具有 NaN 距离的样本。由 Xuefeng Xu #29135修复 当
min_value和max_value类似数组,并且由于keep_empty_features=False丢弃了一些特征时,impute.IterativeImputer不再引发错误,现在可以正确索引。由 Guntitat Sawadwuthikul #29451修复 修复了
impute.IterativeImputer,以确保当keep_empty_features设置为True时,它不会跳过迭代过程。由 Arif Qodari #29779API 更改 当
keep_empty_feature=False和strategy="constant"时,在impute.SimpleImputer中添加警告。在这种情况下,空特征不会被删除,此行为将在 1.8 中更改。由 Arthur Courselle 和 Simon Riou #29950
sklearn.linear_model#
增强
linear_model.LogisticRegression和linear_model.LogisticRegressionCV中的solver="newton-cholesky"已扩展为支持多分类设置中的完整多项式损失。由 Christian Lorentzen #28840修复 在
linear_model.Ridge和linear_model.RidgeCV中,fit之后,coef_属性现在与其他线性模型一样是(n_samples,)形状。由 Maxwell Liu、Guillaume Lemaitre 和 Adrin Jalali #19746修复
linear_model.LogisticRegressionCV更正了样本权重处理以计算测试分数。由 Shruti Nath #29419修复
linear_model.LassoCV和linear_model.ElasticNetCV现在考虑样本权重来定义内部调整的alpha超参数的搜索网格。由 John Hopfensperger 和 Shruti Nath #29442修复
linear_model.LogisticRegression、linear_model.PoissonRegressor、linear_model.GammaRegressor、linear_model.TweedieRegressor现在考虑样本权重,以便在solver='newton-cholesky'变得数值不稳定时决定何时回退到solver='lbfgs'。由 Antoine Baker #29818修复
linear_model.RidgeCV现在正确使用与fit期间看到的目标相同尺度的预测。当scoring != None时,这些预测存储在cv_results_中。以前,预测通过样本权重的平方根重新缩放并由目标均值偏移,导致分数估计不正确。由 Guillaume Lemaitre、Jérôme Dockes 和 Hanmin Qin #29842修复
linear_model.RidgeCV现在通过让评分器管理多输出平均来正确支持自定义多输出评分器。以前,在计算误差之前,预测和真实目标都挤压成一维数组。由 Guillaume Lemaitre #29884修复
linear_model.LinearRegression现在在密集输入数据上调用scipy.linalg.lstsq求解器时设置cond参数。这确保了在秩亏数据上更数值鲁棒的结果。特别是,它通过经验修复了使用重加权或重复数据点进行拟合之间的预期等效性属性。由 Antoine Baker #30040修复
linear_model.LogisticRegression和其他接受solver="newton-cholesky"的线性模型现在在因 Hessian 矩阵秩亏而回退到"lbfgs"求解器时报告正确的迭代次数。由 Olivier Grisel #30100修复
SGDOneClassSVM现在正确继承自OutlierMixin并且标签设置正确。由 Guillaume Lemaitre #30227API 更改
linear_model.TheilSenRegressor中的copy_X已弃用,因为该参数没有效果。copy_X将在 1.8 中移除。由 Adam Li #29105
sklearn.manifold#
效率
manifold.locally_linear_embedding和manifold.LocallyLinearEmbedding现在在 Hessian、Modified 和 LTSA 方法中更有效地分配稀疏矩阵的内存。由 Giorgio Angelotti #28096
sklearn.metrics#
效率
sklearn.metrics.classification_report现在通过缓存分类标签而更快。由 Adrin Jalali #29738增强
metrics.RocCurveDisplay.from_estimator、metrics.RocCurveDisplay.from_predictions、metrics.PrecisionRecallDisplay.from_estimator和metrics.PrecisionRecallDisplay.from_predictions现在接受一个新的关键字despine来移除绘图的顶部和右侧边框,使其更清晰。由 Yao Xiao #26367增强
sklearn.metrics.check_scoring现在接受raise_exc来指定当多指标评分中的一部分评分器失败时是引发异常还是返回错误代码。由 Stefanie Senger #28992修复 如果标签中只存在一个类别,
metrics.roc_auc_score现在将正确返回 np.nan 并警告用户。由 Hleb Levitski 和 Janez Demšar #27412, #30013修复 函数
metrics.mean_squared_log_error和metrics.root_mean_squared_log_error现在检查输入是否在函数 \(y=\log(1+x)\) 的正确域内,而不是 \(y=\log(x)\)。函数metrics.mean_absolute_error、metrics.mean_absolute_percentage_error、metrics.mean_squared_error和metrics.root_mean_squared_error现在明确检查当multioutput=uniform_average时是否会返回标量。由 Virgil Chan #29709API 更改 函数
metrics.pairwise.check_pairwise_arrays和metrics.pairwise_distances的assert_all_finite参数已重命名为ensure_all_finite。force_all_finite将在 1.8 中移除。由 Jérémie du Boisberranger #29404API 更改 应该使用
scoring="neg_max_error"而不是已弃用的scoring="max_error"。由 Farid “Freddie” Taba #29462API 更改
metrics.make_scorer的response_method参数的默认值将从None更改为"predict",并且None将在 1.8 中移除。在此期间,None等同于"predict"。由 Jérémie du Boisberranger #30001
sklearn.model_selection#
增强
GroupKFold现在可以在shuffle=True时将组打乱到不同的折叠中。由 Zachary Vealey #28519增强 如果底层估计器已经拟合,则无需对
FixedThresholdClassifier调用fit。由 Adrin Jalali #30172修复 改进了当在没有
y参数的情况下调用model_selection.RepeatedStratifiedKFold.split时的错误消息。由 Anurag Varma #29402
sklearn.neighbors#
增强
neighbors.NearestNeighbors、neighbors.KNeighborsClassifier、neighbors.KNeighborsRegressor、neighbors.RadiusNeighborsClassifier、neighbors.RadiusNeighborsRegressor、neighbors.KNeighborsTransformer、neighbors.RadiusNeighborsTransformer和neighbors.LocalOutlierFactor现在可以使用metric="nan_euclidean",支持nan输入。由 Carlo Lemos、Guillaume Lemaitre 和 Adrin Jalali #25330增强 为
neighbors.NearestCentroid估计器类添加了neighbors.NearestCentroid.decision_function、neighbors.NearestCentroid.predict_proba和neighbors.NearestCentroid.predict_log_proba。在neighbors.NearestCentroid中,支持X是稀疏的且shrinking_threshold不是None的情况。由 Matthew Ning 完成 #26689增强 使
neighbors.KNeighborsClassifier和neighbors.RadiusNeighborsClassifier的predict、predict_proba和score方法接受X=None作为输入。在这种情况下,将返回所有训练集点的预测结果,并且点不包括在其自身的近邻中。由 Dmitry Kobak 完成 #30047修复 当训练数据中的重复值导致不准确的异常检测时,
neighbors.LocalOutlierFactor在fit方法中发出警告。由 Henrique Caroço 完成 #28773
sklearn.neural_network#
修复 当模型发散且启用了
early_stopping时,neural_network.MLPRegressor不再崩溃。由 Marc Bresson 完成 #29773
sklearn.pipeline#
主要功能
pipeline.Pipeline现在可以将元数据转换到需要元数据的步骤,这可以使用transform_input参数进行设置。由 Adrin Jalali 完成 #28901增强
pipeline.Pipeline现在会在调用需要管道拟合的方法之前发出未拟合的警告。此警告将在 1.8 版本中变为错误。由 Adrin Jalali 完成 #29868修复 修复了当管道为空时
Pipeline的标签和估计器类型问题。这使得空管道的 HTML 表示能够正确渲染。由 Gennaro Daniele Acciaro 完成 #30203
sklearn.preprocessing#
增强 在
preprocessing.OneHotEncoder中为handle_unknown参数添加了warn选项。由 Hleb Levitski 完成 #28637增强
preprocessing.FunctionTransformer的 HTML 表示将在标签中显示函数名称。由 Yao Xiao 完成 #29158修复
preprocessing.PowerTransformer现在使用scipy.special.inv_boxcox来输出nan,如果 BoxCox 的逆函数的输入无效。由 Xuefeng Xu 完成 #27875
sklearn.semi_supervised#
API 变更
semi_supervised.SelfTrainingClassifier弃用了base_estimator参数,转而使用estimator。由 Adam Li 完成 #28494
sklearn.tree#
功能
tree.ExtraTreeClassifier和tree.ExtraTreeRegressor现在支持数据矩阵X中的缺失值。缺失值通过在遍历树时随机将所有样本移动到左侧或右侧子节点来处理。由 Adam Li 和 Loïc Estève 完成 #27966, #30318修复 将树导出为 Graphviz 格式时,为标签和特征名转义双引号。由 Santiago M. Mola 完成。 #17575
sklearn.utils#
增强
utils.check_array现在接受ensure_non_negative来检查传入数组中的负值,在此之前只能通过调用utils.check_non_negative来实现。由 Tamara Atanasoska 完成 #29540增强
check_estimator和parametrize_with_checks现在检查分类器是否具有tags.classifier_tags.multi_class = False标签,但未能处理多类数据,如果出现这种情况则会失败。由 Adrin Jalali 完成 #29874增强
utils.validation.check_is_fitted现在通过无状态估计器。估计器可以通过设置requires_fit标签来表明它是无状态的。有关更多信息,请参阅 估计器标签。由 Adrin Jalali 完成 #29880增强 对
check_estimator和parametrize_with_checks进行了更改。check_estimator引入了新参数:on_skip、on_fail和callback来控制检查运行器的行为。有关更多详细信息,请参阅 API 文档。generate_only=True在check_estimator中已弃用。请改用estimator_checks_generator。_xfail_checks估计器标签现已删除,现在为了指示哪些测试预期会失败,您可以将字典作为check_estimator的expected_failed_checks参数传递。同样,parametrize_with_checks中的expected_failed_checks参数也可以使用,它是一个返回字典形式的可调用对象{ "check_name": "reason to mark this check as xfail", }
由 Adrin Jalali 完成 #30149
修复
utils.estimator_checks.parametrize_with_checks和utils.estimator_checks.check_estimator现在支持在其上调用set_output的估计器。由 Adrin Jalali 完成 #29869API 变更 函数
utils.check_array、utils.check_X_y、utils.as_float_array的assert_all_finite参数已重命名为ensure_all_finite。force_all_finite将在 1.8 版本中删除。由 Jérémie du Boisberranger 完成 #29404API 变更
utils.estimator_checks.check_sample_weights_invariance已替换为utils.estimator_checks.check_sample_weight_equivalence_on_dense_data(使用整数(包括零)权重)和utils.estimator_checks.check_sample_weight_equivalence_on_sparse_data(对稀疏数据执行相同操作)。由 Antoine Baker 完成 #29818, #30137API 变更 使用
_estimator_type设置估计器类型已弃用。请改为继承自ClassifierMixin、RegressorMixin、TransformerMixin或OutlierMixin。或者,您可以在__sklearn_tags__方法中的Tags中设置estimator_type。由 Adrin Jalali 完成 #30122
代码和文档贡献者
感谢自 1.5 版本以来为项目的维护和改进做出贡献的所有人,包括
Aaron Schumacher, Abdulaziz Aloqeely, abhi-jha, Acciaro Gennaro Daniele, Adam J. Stewart, Adam Li, Adeel Hassan, Adeyemi Biola, Aditi Juneja, Adrin Jalali, Aisha, Akanksha Mhadolkar, Akihiro Kuno, Alberto Torres, alexqiao, Alihan Zihna, Aniruddha Saha, antoinebaker, Antony Lee, Anurag Varma, Arif Qodari, Arthur Courselle, ArthurDbrn, Arturo Amor, Aswathavicky, Audrey Flanders, aurelienmorgan, Austin, awwwyan, AyGeeEm, a.zy.lee, baggiponte, BlazeStorm001, bme-git, Boney Patel, brdav, Brigitta Sipőcz, Cailean Carter, Camille Troillard, Carlo Lemos, Christian Lorentzen, Christian Veenhuis, Christine P. Chai, claudio, Conrad Stevens, datarollhexasphericon, Davide Chicco, David Matthew Cherney, Dea María Léon, Deepak Saldanha, Deepyaman Datta, dependabot[bot], dinga92, Dmitry Kobak, Domenico, Drew Craeton, dymil, Edoardo Abati, EmilyXinyi, Eric Larson, Evelyn, fabianhenning, Farid “Freddie” Taba, Gael Varoquaux, Giorgio Angelotti, Hleb Levitski, Guillaume Lemaitre, Guntitat Sawadwuthikul, Haesun Park, Hanjun Kim, Henrique Caroço, hhchen1105, Hugo Boulenger, Ilya Komarov, Inessa Pawson, Ivan Pan, Ivan Wiryadi, Jaimin Chauhan, Jakob Bull, James Lamb, Janez Demšar, Jérémie du Boisberranger, Jérôme Dockès, Jirair Aroyan, João Morais, Joe Cainey, Joel Nothman, John Enblom, JorgeCardenas, Joseph Barbier, jpienaar-tuks, Julian Chan, K.Bharat Reddy, Kevin Doshi, Lars, Loic Esteve, Lucas Colley, Lucy Liu, lunovian, Marc Bresson, Marco Edward Gorelli, Marco Maggi, Marco Wolsza, Maren Westermann, MarieS-WiMLDS, Martin Helm, Mathew Shen, mathurinm, Matthew Feickert, Maxwell Liu, Meekail Zain, Michael Dawson, Miguel Cárdenas, m-maggi, mrastgoo, Natalia Mokeeva, Nathan Goldbaum, Nathan Orgera, nbrown-ScottLogic, Nikita Chistyakov, Nithish Bolleddula, Noam Keidar, NoPenguinsLand, Norbert Preining, notPlancha, Olivier Grisel, Omar Salman, ParsifalXu, Piotr, Priyank Shroff, Priyansh Gupta, Quentin Barthélemy, Rachit23110261, Rahil Parikh, raisadz, Rajath, renaissance0ne, Reshama Shaikh, Roberto Rosati, Robert Pollak, rwelsch427, Santiago Castro, Santiago M. Mola, scikit-learn-bot, sean moiselle, SHREEKANT VITTHAL NANDIYAWAR, Shruti Nath, Søren Bredlund Caspersen, Stefanie Senger, Stefano Gaspari, Steffen Schneider, Štěpán Sršeň, Sylvain Combettes, Tamara, Thomas, Thomas Gessey-Jones, Thomas J. Fan, Thomas Li, ThorbenMaa, Tialo, Tim Head, Tuhin Sharma, Tushar Parimi, Umberto Fasci, UV, vedpawar2254, Velislav Babatchev, Victoria Shevchenko, viktor765, Vince Carey, Virgil Chan, Wang Jiayi, Xiao Yuan, Xuefeng Xu, Yao Xiao, yareyaredesuyo, Zachary Vealey, Ziad Amerr