版本 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
#
修复 修复了当 scikit-learn 度量在 PyTorch CPU 张量上调用时(默认禁用 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功能
preprocessing.MinMaxScaler
在clip=True
时现在支持 Array API 兼容输入。作者:Shreekant Nandiyawar #29751cupy.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_params
通过其fit
方法传递给底层估计器。作者: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 分割器,并且linear_model.RidgeClassifierCV
的UnsetMetadataPassedError
(默认评分时)已修复。作者: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
支持无 GIL CPython 3.13#
scikit-learn 对无 GIL CPython 有初步支持,特别是对于我们所有受支持的平台,都提供了无 GIL 的 wheel 包。
无 GIL (也称为 nogil) CPython 3.13 是 CPython 3.13 的一个实验版本,旨在通过移除全局解释器锁 (GIL) 来实现高效的多线程用例。
有关无 GIL CPython 的更多详细信息,请参阅py-free-threading 文档,特别是如何安装无 GIL CPython 和生态系统兼容性跟踪。
欢迎在您的用例中尝试无 GIL CPython,并报告任何问题!
作者:Loïc Estève 以及更广泛的科学 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 变更
CalibratedClassifierCV
的cv="prefit"
已被弃用。请改用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
#
修复
cross_decomposition.PLSRegression
现在在n_components
大于n_samples
时正确引发错误。作者:Thomas Fan #29710
sklearn.datasets
#
功能
datasets.fetch_file
允许从网络下载任意数据文件。它处理本地缓存、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"
的线性模型现在,当它们因海森矩阵秩亏而回退到"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"
。By Farid “Freddie” Taba #29462API 变更
metrics.make_scorer
的response_method
参数的默认值将从None
更改为"predict"
,并且None
将在 1.8 版本中移除。在此期间,None
等同于"predict"
。By Jérémie du Boisberranger #30001
sklearn.model_selection
#
增强
GroupKFold
现在具备了在shuffle=True
时将组打乱到不同折叠的能力。By Zachary Vealey #28519增强 如果基础估计器已经拟合,则无需对
FixedThresholdClassifier
调用fit
。By Adrin Jalali #30172修复 当
model_selection.RepeatedStratifiedKFold.split
在没有y
参数的情况下被调用时,改进了错误消息。By 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
输入。By 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
的情况。By Matthew Ning #26689增强 使
neighbors.KNeighborsClassifier
和neighbors.RadiusNeighborsClassifier
的predict
、predict_proba
和score
接受X=None
作为输入。在这种情况下,返回所有训练集点的预测,并且点不包含在它们自己的邻居中。By Dmitry Kobak #30047修复
neighbors.LocalOutlierFactor
在训练数据中存在重复值导致异常值检测不准确时,其fit
方法会引发警告。By Henrique Caroço #28773
sklearn.neural_network
#
修复
neural_network.MLPRegressor
在模型发散且启用early_stopping
时不再崩溃。By Marc Bresson #29773
sklearn.pipeline
#
主要功能
pipeline.Pipeline
现在可以将元数据转换到需要元数据的步骤,这可以使用transform_input
参数进行设置。By Adrin Jalali #28901增强
pipeline.Pipeline
现在在调用需要管道已拟合的方法之前,会就未拟合发出警告。此警告将在 1.8 版本中变为错误。By Adrin Jalali #29868修复 修复了
Pipeline
在管道为空时标签和估计器类型的问题。这使得空管道的 HTML 表示能够正确渲染。By Gennaro Daniele Acciaro #30203
sklearn.preprocessing
#
增强 在
preprocessing.OneHotEncoder
的handle_unknown
参数中添加了warn
选项。By Hleb Levitski #28637增强
preprocessing.FunctionTransformer
的 HTML 表示将在标签中显示函数名称。By Yao Xiao #29158修复
preprocessing.PowerTransformer
现在使用scipy.special.inv_boxcox
在 BoxCox 逆函数的输入无效时输出nan
。By Xuefeng Xu #27875
sklearn.semi_supervised
#
API 变更
semi_supervised.SelfTrainingClassifier
弃用了base_estimator
参数,转而使用estimator
。By Adam Li #28494
sklearn.tree
#
功能
tree.ExtraTreeClassifier
和tree.ExtraTreeRegressor
现在支持数据矩阵X
中的缺失值。缺失值通过在遍历树时随机将所有样本移动到左侧或右侧子节点来处理。By Adam Li 和 Loïc Estève #27966, #30318修复 导出树到 Graphviz 格式时,为标签和特征名称转义双引号。By Santiago M. Mola. #17575
sklearn.utils
#
增强
utils.check_array
现在接受ensure_non_negative
来检查传入数组中的负值,在此之前,此功能仅通过调用utils.check_non_negative
可用。By Tamara Atanasoska #29540增强
check_estimator
和parametrize_with_checks
现在会检查分类器是否具有tags.classifier_tags.multi_class = False
标签但在多类别数据上不失败。By Adrin Jalali #29874增强
utils.validation.check_is_fitted
现在无状态估计器可以通过。估计器可以通过设置requires_fit
标签来表明其无状态。更多信息请参见 估计器标签。By 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
估计器标签现已移除,现在为了指出哪些测试预期会失败,您可以将一个字典作为expected_failed_checks
参数传递给check_estimator
。同样,parametrize_with_checks
中的expected_failed_checks
参数可以使用,它是一个返回字典形式的可调用对象{ "check_name": "reason to mark this check as xfail", }
修复
utils.estimator_checks.parametrize_with_checks
和utils.estimator_checks.check_estimator
现在支持在其上调用了set_output
的估计器。By 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 版本中移除。By 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
(对稀疏数据做同样操作)取代。By Antoine Baker #29818, #30137API 变更 使用
_estimator_type
设置估计器类型已被弃用。请改用继承自ClassifierMixin
、RegressorMixin
、TransformerMixin
或OutlierMixin
。或者,您可以在__sklearn_tags__
方法中将estimator_type
设置为Tags
。By 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