版本 1.1#
有关此版本主要亮点的简短说明,请参阅 scikit-learn 1.1 的发行亮点。
变更日志图例
主要功能 之前无法实现的重要功能。
功能 之前无法实现的功能。
效率提升 现有功能现在可能不需要那么多计算或内存。
增强 各种各样的次要改进。
修复 之前无法按文档说明工作(或根据合理预期)的内容现在应该可以工作了。
API 变更 您需要更改代码才能在将来获得相同的效果;或者某个功能将在将来被移除。
版本 1.1.3#
2022 年 10 月
此错误修复版本仅包含与最新 SciPy 版本(>= 1.9.2)兼容性的修复。值得注意的更改包括
修复 在 scikit-learn 轮子中包含
msvcp140.dll
,因为它已从最新的 SciPy 轮子中移除。 #24631 由 Chiara Marmo 完成。增强 为 Python 3.11 创建轮子。 #24446 由 Chiara Marmo 完成。
其他错误修复将在接下来的 1.2 版本中提供,该版本将在未来几周内发布。
请注意,此版本已放弃对 Windows 上 32 位 Python 的支持。这是因为 SciPy 1.9.2 也放弃了对该平台的支持。建议 Windows 用户改用 64 位版本的 Python。
版本 1.1.2#
2022 年 8 月
更改的模型#
使用相同数据和参数拟合的以下估计器和函数,可能会生成与先前版本不同的模型。这通常是由于建模逻辑(错误修复或增强)或随机抽样过程中的更改引起的。
修复
manifold.TSNE
现在在使用perplexity>=n_samples
拟合时会抛出ValueError
,以确保算法的数学正确性。 #10805 由 Mathias Andersen 和 #23471 由 Meekail Zain 完成。
变更日志#
修复 对于具有无效参数的元估计器,将显示默认的 HTML 表示。 #24015 由 Thomas Fan 完成。
修复 为其后端在 1.1 中已更改的估计器和函数添加了对 F 连续数组的支持。 #23990 由 Julien Jerphanion 完成。
修复 现在可以为 MacOS 10.9 及更高版本提供轮子。 #23833 由 Thomas Fan 完成。
sklearn.base
#
修复
base.BaseEstimator
类的get_params
方法现在支持具有type
类型参数且具有get_params
方法的估计器。 #24017 由 Henry Sorsky 完成。
sklearn.cluster
#
修复 修复了
cluster.Birch
中的一个错误,该错误在数据集存在重复项时拆分节点时可能会触发错误。 #23395 由 Jérémie du Boisberranger 完成。
sklearn.feature_selection
#
修复 当估计器为
feature_selection.SelectFromModel
,且l1_ratio
等于 1 时,如果估计器是linear_model.ElasticNet
或linear_model.ElasticNetCV
或者linear_model.LassoCV
,则默认选择阈值将设置为 1e-5。 #23636 由 Hao Chun Chang 完成。
sklearn.impute
#
修复 当数据类型为 object 时,
impute.SimpleImputer
在transform
中使用fit
中看到的 dtype。 #22063 由 Thomas Fan 完成。
sklearn.linear_model
#
修复 使用考虑数据类型的容差来验证 Gram 矩阵(用户传入或预计算)。 #22059 由 Malte S. Kurz 完成。
修复 修复了
linear_model.LogisticRegression
在solver="newton-cg"
,fit_intercept=True
和单个特征的情况下的错误。 #23608 由 Tom Dupre la Tour 完成。
sklearn.manifold
#
修复
manifold.TSNE
现在在使用perplexity>=n_samples
拟合时会抛出ValueError
,以确保算法的数学正确性。 #10805 由 Mathias Andersen 和 #23471 由 Meekail Zain 完成。
sklearn.metrics
#
修复 修复了
metrics.coverage_error
针对一维数组输入的错误消息。 #23548 由 Hao Chun Chang 完成。
sklearn.preprocessing
#
修复
preprocessing.OrdinalEncoder.inverse_transform
正确处理unknown_value
或encoded_missing_value
为nan
的用例。 #24087 由 Thomas Fan 完成。
sklearn.tree
#
修复 修复了
tree.DecisionTreeRegressor
和tree.DecisionTreeClassifier
在拟合过程中出现的无效内存访问错误。 #23273 由 Thomas Fan 完成。
版本 1.1.1#
2022年5月
变更日志#
增强 提升了导入
model_selection.HalvingGridSearchCV
、model_selection.HalvingRandomSearchCV
或impute.IterativeImputer
(未导入实验性标志) 时的错误消息。 #23194 由 Thomas Fan 完成。增强 在 doc/conf.py 中添加了一个扩展,用于自动生成处理 NaN 值的估计器列表。 #23198 由 Lise Kleiber、Zhehao Liu 和 Chiara Marmo 完成。
sklearn.datasets
#
修复 通过不传递
timeout
参数来避免datasets.fetch_openml
中的超时问题,#23358,由 Loïc Estève 完成。
sklearn.decomposition
#
修复 当
n_samples == n_components
时,避免decomposition.IncrementalPCA
中出现虚假警告。 #23264,由 Lucy Liu 完成。
sklearn.feature_selection
#
修复
feature_selection.SelectFromModel
的partial_fit
方法现在对max_features
和feature_names_in
参数进行验证。 #23299,由 Long Bao 完成。
sklearn.metrics
#
修复 修复了
metrics.precision_recall_curve
以计算 100% 召回率下的精确率-召回率。精确率-召回率曲线现在显示对应于始终预测正类的分类器的最后一个点:召回率=100% 和精确率=类别平衡。 #23214,由 Stéphane Collot 和 Max Baak 完成。
sklearn.preprocessing
#
修复 当
include_bias
设置为 False 时,degree
等于 0 的preprocessing.PolynomialFeatures
将引发错误;当include_bias
设置为 True 时,输出单个常量数组。 #23370,由 Zhehao Liu 完成。
sklearn.tree
#
sklearn.utils
#
修复
utils.class_weight.compute_sample_weight
现在可以与稀疏y
一起使用。 #23115,由 kernc 完成。
版本 1.1.0#
2022年5月
最小依赖项#
scikit-learn 的 1.1.0 版本需要 python 3.8+、numpy 1.17.3+ 和 scipy 1.3.2+。可选的最小依赖项是 matplotlib 3.1.2+。
已更改的模型#
使用相同数据和参数拟合的以下估计器和函数,可能会生成与先前版本不同的模型。这通常是由于建模逻辑(错误修复或增强)或随机抽样过程中的更改引起的。
效率提升
cluster.KMeans
现在默认使用algorithm="lloyd"
而不是algorithm="auto"
(等效于algorithm="elkan"
)。Lloyd 算法和 Elkan 算法收敛到相同的解(直到数值舍入误差),但通常 Lloyd 算法使用更少的内存,并且通常更快。效率提升 拟合
tree.DecisionTreeClassifier
、tree.DecisionTreeRegressor
、ensemble.RandomForestClassifier
、ensemble.RandomForestRegressor
、ensemble.GradientBoostingClassifier
和ensemble.GradientBoostingRegressor
的平均速度比以前版本快 15%,这得益于用于查找最佳分割的新排序算法。由于对具有相同判据值的分割的处理方式不同,模型可能会有所不同:旧的和新的排序算法都是不稳定的排序算法。#22868 由 Thomas Fan 完成。修复 现在,对于
cluster.SpectralClustering
和manifold.SpectralEmbedding
,使用'amg'
或'lobpcg'
求解器时,特征向量初始化现在从高斯分布中采样。此更改提高了求解器的数值稳定性,但可能会导致不同的模型。修复
feature_selection.f_regression
和feature_selection.r_regression
现在默认返回有限分数,而不是在某些极端情况下返回np.nan
和np.inf
。如果您确实想要获取非有限值并保持旧的行为,可以使用force_finite=False
。修复 当将所有非字符串列(例如 MultiIndex)的 Pandas DataFrame 传递到 Estimator 时,不再发出警告。对于具有非字符串列的 DataFrame,Estimator 将继续忽略列名。要定义
feature_names_in_
,列必须全部为字符串。#22410 由 Thomas Fan 完成。修复
preprocessing.KBinsDiscretizer
稍微更改了对 bin 边界的处理,这可能会导致使用相同数据时编码不同。修复
calibration.calibration_curve
稍微更改了对 bin 边界的处理,这可能会导致使用相同数据时输出曲线不同。修复
discriminant_analysis.LinearDiscriminantAnalysis
现在使用正确的方差缩放系数,这可能会导致模型行为不同。修复 现在可以使用
prefit=True
调用feature_selection.SelectFromModel.fit
和feature_selection.SelectFromModel.partial_fit
。当prefit=True
时,estimators_
将是estimator
的深拷贝。#23271 由 Guillaume Lemaitre 完成。
变更日志#
效率提升 针对密集 float64 数据集的成对距离约简的底层例程已被重构。以下函数和估计器现在受益于改进的硬件可扩展性和加速性能
例如,在笔记本电脑上,
sklearn.neighbors.NearestNeighbors.kneighbors
和sklearn.neighbors.NearestNeighbors.radius_neighbors
的速度分别最多可提高 20 倍和 5 倍。此外,这两种算法的实现现在适用于具有多个内核的机器,使其可用于包含数百万个样本的数据集。
#21987、#22064、#22065、#22288 和 #22320 由 Julien Jerphanion 完成。
增强 当某些输入包含意外的
NaN
或无限值时,所有 scikit-learn 模型现在都会生成更具信息量的错误消息。特别是,消息包含输入名称(“X”、“y”或“sample_weight”),如果在X
中发现意外的NaN
值,则错误消息会建议可能的解决方案。#21219 由 Olivier Grisel 完成。增强所有 scikit-learn 模型现在在使用
set_params
设置无效超参数时会生成更具信息量的错误消息。 #21542 由 Olivier Grisel 贡献。增强移除 HTML 表示中的随机唯一标识符。通过此更改,只要单元格按相同的顺序运行,Jupyter Notebook 就可以重现。 #23098 由 Thomas Fan 贡献。
修复将
non_deterministic
标签设置为True
的估计器将跳过check_methods_sample_order_invariance
和check_methods_subset_invariance
测试。 #22318 由 刘哲昊 贡献。API 变更通过
loss
参数使用对数损失(又名二项式或多项式偏差)的选项已变得更加一致。推荐的方式是将值设置为"log_loss"
。旧的选项名称仍然有效并生成相同的模型,但已弃用,并将在 1.3 版中移除。对于
ensemble.GradientBoostingClassifier
,loss
参数名称“deviance”已弃用,推荐使用新的名称“log_loss”,现在它是默认值。 #23036 由 Christian Lorentzen 贡献。对于
ensemble.HistGradientBoostingClassifier
,loss
参数名称“auto”、“binary_crossentropy”和“categorical_crossentropy”已弃用,推荐使用新的名称“log_loss”,现在它是默认值。 #23040 由 Christian Lorentzen 贡献。对于
linear_model.SGDClassifier
,loss
参数名称“log”已弃用,推荐使用新的名称“log_loss”。 #23046 由 Christian Lorentzen 贡献。
API 变更估计器的丰富 HTML 表示现在在 Jupyter Notebook 中默认启用。可以通过在
sklearn.set_config
中设置display='text'
来将其停用。 #22856 由 Jérémie du Boisberranger 贡献。
sklearn.calibration
#
增强
calibration.calibration_curve
接受参数pos_label
来指定正类标签。 #21032 由 Guillaume Lemaitre 贡献。增强
calibration.CalibratedClassifierCV.fit
现在支持传递fit_params
,这些参数将传递给base_estimator
。 #18170 由 Benjamin Bossan 贡献。增强
calibration.CalibrationDisplay
接受参数pos_label
以将此信息添加到绘图中。 #21038 由 Guillaume Lemaitre 贡献。修复
calibration.calibration_curve
现在更一致地处理箱边缘。 #14975 由 Andreas Müller 和 #22526 由 Meekail Zain 贡献。API 变更
calibration.calibration_curve
的normalize
参数现已弃用,并将在 1.3 版中移除。建议使用正确的概率(即分类器的 predict_proba 正类)用于y_prob
。 #23095 由 Jordan Silke 贡献。
sklearn.cluster
#
主要功能 引入二分 K 均值算法的
cluster.BisectingKMeans
#20031,由 Michal Krawczyk、Tom Dupre la Tour 和 Jérémie du Boisberranger 贡献。增强
cluster.SpectralClustering
和cluster.spectral_clustering
现在包含新的'cluster_qr'
方法,该方法作为现有'kmeans'
和'discrete'
方法的替代方案,在嵌入空间中对样本进行聚类。更多详情请参见cluster.spectral_clustering
。 #21148,由 Andrew Knyazev 贡献。增强 为
cluster.Birch
、cluster.FeatureAgglomeration
、cluster.KMeans
、cluster.MiniBatchKMeans
添加了 get_feature_names_out。 #22255,由 Thomas Fan 贡献。增强
cluster.SpectralClustering
现在在传递给n_clusters
、n_init
、gamma
、n_neighbors
、eigen_tol
或degree
无效值时,会引发一致的错误消息。 #21881,由 Hugo Vassard 贡献。增强
cluster.AffinityPropagation
现在即使模型没有完全收敛,也会返回聚类中心和标签(如果存在)。当返回这些可能退化的聚类中心和标签时,会显示一条新的警告消息。如果未构造任何聚类中心,则聚类中心保持为空列表,标签设置为-1
,并显示原始警告消息。 #22217,由 Meekail Zain 贡献。效率 在
cluster.KMeans
中,默认的algorithm
现在是"lloyd"
,它是完整的经典 EM 风格算法。"auto"
和"full"
已弃用,将在 1.3 版本中删除。它们现在是"lloyd"
的别名。之前的默认值是"auto"
,它依赖于 Elkan 算法。Lloyd 算法比 Elkan 算法使用更少的内存,在许多数据集上速度更快,并且结果相同,因此进行了更改。 #21735,由 Aurélien Geron 贡献。修复
cluster.KMeans
的init
参数现在正确支持类数组输入和 NumPy 字符串标量。 #22154,由 Thomas Fan 贡献。
sklearn.compose
#
修复
compose.ColumnTransformer
现在从__init__
和set_params
方法中删除了验证错误。 #22537,由 iofall 和 Arisa Y. 贡献。修复 当使用
slice
指定列时,compose.ColumnTransformer
中的 get_feature_names_out 功能已损坏。此问题已在 #22775 和 #22913 中修复,由 randomgeek78 贡献。
sklearn.covariance
#
修复
covariance.GraphicalLassoCV
现在接受参数alphas
的 NumPy 数组。 #22493,由 Guillaume Lemaitre 贡献。
sklearn.cross_decomposition
#
增强
inverse_transform
方法已得到cross_decomposition.PLSRegression
、cross_decomposition.PLSCanonical
和cross_decomposition.CCA
的增强,现在允许在给出Y
参数时重建X
目标。 #19680 by Robin Thibaut.增强 为
cross_decomposition
模块中的所有转换器添加了 get_feature_names_out:cross_decomposition.CCA
、cross_decomposition.PLSSVD
、cross_decomposition.PLSRegression
和cross_decomposition.PLSCanonical
。 #22119 by Thomas Fan.修复
cross_decomposition.CCA
、cross_decomposition.PLSCanonical
和cross_decomposition.PLSRegression
的 coef_ 属性的形状将在 1.3 版本中更改,从(n_features, n_targets)
变为(n_targets, n_features)
,以与其他线性模型保持一致,并使其能够与期望coef_
特定形状的接口一起使用(例如feature_selection.RFE
)。 #22016 by Guillaume Lemaitre.API 变更 为
cross_decomposition.PLSCanonical
、cross_decomposition.PLSRegression
和cross_decomposition.CCA
添加了拟合属性intercept_
。predict
方法实际上等效于Y = X @ coef_ + intercept_
。 #22015 by Guillaume Lemaitre.
sklearn.datasets
#
功能
datasets.load_files
现在接受基于文件扩展名的忽略列表和允许列表。 #19747 by Tony Attalla and #22498 by Meekail Zain.增强
datasets.make_swiss_roll
现在支持可选参数 hole;当设置为 True 时,它返回 swiss-hole 数据集。 #21482 by Sebastian Pujalte.增强
datasets.make_blobs
在生成过程中不再复制数据,因此内存占用更少。 #22412 by Zhehao Liu.增强
datasets.load_diabetes
现在接受参数scaled
,以允许加载未缩放的数据。此数据集的缩放版本现在是从未缩放的数据计算的,并且可能产生与以前版本略微不同的结果(在 1e-4 的绝对容差内)。 #16605 by Mandy Gu.增强功能
datasets.fetch_openml
现在有两个可选参数n_retries
和delay
。默认情况下,datasets.fetch_openml
在网络故障的情况下将重试 3 次,每次尝试之间都会有一定的延迟。#21901 由 Rileran 完成。修复
datasets.fetch_covtype
现在是并发安全的:数据下载到临时目录,然后再移动到数据目录。#23113 由 Ilion Beyst 完成。API 变更
datasets.make_sparse_coded_signal
现在接受一个参数data_transposed
来显式指定矩阵X
的形状。默认行为True
是返回一个转置矩阵X
,其形状为(n_features, n_samples)
。默认值将在 1.3 版本中更改为False
。#21425 由 Gabriel Stefanini Vicente 完成。
sklearn.decomposition
#
主要功能 添加了一个新的估计器
decomposition.MiniBatchNMF
。它是一个更快但精度较低的非负矩阵分解版本,更适合大型数据集。#16948 由 Chiara Marmo、Patricio Cerda 和 Jérémie du Boisberranger 完成。增强功能
decomposition.dict_learning
、decomposition.dict_learning_online
和decomposition.sparse_encode
保留numpy.float32
的 dtype。decomposition.DictionaryLearning
、decomposition.MiniBatchDictionaryLearning
和decomposition.SparseCoder
保留numpy.float32
的 dtype。#22002 由 Takeshi Oura 完成。增强功能
decomposition.PCA
公开了参数n_oversamples
来调整utils.extmath.randomized_svd
并获得在特征数量很大的情况下准确的结果。#21109 由 Smile 完成。增强功能
decomposition.MiniBatchDictionaryLearning
和decomposition.dict_learning_online
进行了重构,现在具有基于字典或目标函数的小变化的停止准则,由新的max_iter
、tol
和max_no_improvement
参数控制。此外,其中一些参数和属性已弃用。n_iter
参数已弃用。请改用max_iter
。decomposition.dict_learning_online
的iter_offset
、return_inner_stats
、inner_stats
和return_n_iter
参数用于内部目的,现已弃用。decomposition.MiniBatchDictionaryLearning
的inner_stats_
、iter_offset_
和random_state_
属性用于内部目的,现已弃用。两个参数的
batch_size
参数的默认值将在 1.3 版本中从 3 更改为 256。
增强
decomposition.SparsePCA
和decomposition.MiniBatchSparsePCA
保持numpy.float32
的数据类型。 #22111 由 Takeshi Oura 完成。增强
decomposition.TruncatedSVD
现在允许n_components == n_features
,如果algorithm='randomized'
。 #22181 由 Zach Deane-Mayer 完成。增强 为
decomposition
模块中的所有转换器添加了 get_feature_names_out:decomposition.DictionaryLearning
,decomposition.FactorAnalysis
,decomposition.FastICA
,decomposition.IncrementalPCA
,decomposition.KernelPCA
,decomposition.LatentDirichletAllocation
,decomposition.MiniBatchDictionaryLearning
,decomposition.MiniBatchSparsePCA
,decomposition.NMF
,decomposition.PCA
,decomposition.SparsePCA
和decomposition.TruncatedSVD
。 #21334 由 Thomas Fan 完成。增强
decomposition.TruncatedSVD
公开了参数n_oversamples
和power_iteration_normalizer
来微调utils.extmath.randomized_svd
,并在特征数量很大、矩阵秩很高或矩阵的其他特征使低秩逼近困难时获得准确的结果。 #21705 由 Jay S. Stanley III 完成。增强
decomposition.PCA
公开了参数power_iteration_normalizer
来微调utils.extmath.randomized_svd
,并在低秩逼近困难时获得更准确的结果。 #21705 由 Jay S. Stanley III 完成。修复
decomposition.FastICA
现在在fit
方法而不是__init__
方法中验证输入参数。 #21432 由 Hannah Bohle 和 Maren Westermann 完成。修复
decomposition.FastICA
现在可以接受np.float32
数据,无需静默向上转换。数据类型由fit
和fit_transform
保留,主要拟合属性使用与训练数据精度相同的 dtype。 #22806 由 Jihane Bennis 和 Olivier Grisel 完成。修复
decomposition.FactorAnalysis
现在在fit
中而不是__init__
中验证输入参数。 #21713 由 Haya 和 Krum Arnaudov 完成。修复
decomposition.KernelPCA
现在在fit
中而不是__init__
中验证输入参数。 #21567 由 Maggie Chege 完成。修复
decomposition.PCA
和decomposition.IncrementalPCA
更安全地使用协方差矩阵的逆来计算精度,如果self.noise_variance_
为零。 #22300 由 Meekail Zain 完成,以及 #15948 由 @sysuresh 完成。修复 大大减少了在调用
fit
或fit_transform
时decomposition.PCA
的峰值内存使用。 #22553 由 Meekail Zain 完成。API 变更
decomposition.FastICA
现在支持单位方差白化。其whiten
参数的默认值将从True
(其行为类似于'arbitrary-variance'
)更改为'unit-variance'
(在 1.3 版本中)。 #19490 由 Facundo Ferrin 和 Julien Jerphanion 完成。
sklearn.discriminant_analysis
#
增强 向
discriminant_analysis.LinearDiscriminantAnalysis
添加了 get_feature_names_out。 #22120 由 Thomas Fan 完成。修复
discriminant_analysis.LinearDiscriminantAnalysis
现在使用正确的方差缩放系数,这可能会导致不同的模型行为。 #15984 由 Okon Samuel 完成,以及 #22696 由 Meekail Zain 完成。
sklearn.dummy
#
修复
dummy.DummyRegressor
在fit
期间不再覆盖constant
参数。 #22486 由 Thomas Fan 完成。
sklearn.ensemble
#
主要功能 向
ensemble.HistGradientBoostingRegressor
添加了附加选项loss="quantile"
用于建模分位数。分位数级别可以使用新的参数quantile
指定。 #21800 和 #20567 由 Christian Lorentzen 完成。效率提升
ensemble.GradientBoostingClassifier
和ensemble.GradientBoostingRegressor
的fit
现在使用参数force_all_finite=False
调用utils.check_array
,用于非初始预热启动运行,因为它之前已经过检查。 #22159 由 Geoffrey Paris 完成。增强 由于新的私有损失函数模块,
ensemble.HistGradientBoostingClassifier
速度更快,尤其是在二元分类和多类分类问题上。#20811,#20567 和 #21814 由 Christian Lorentzen贡献。增强 在
ensemble.StackingClassifier
和ensemble.StackingRegressor
中,添加了使用 `cv="prefit"` 的预训练模型的支持。#16748 由 Siqi He 贡献,#22215 由 Meekail Zain 贡献。增强
ensemble.RandomForestClassifier
和ensemble.ExtraTreesClassifier
增加了新的参数criterion="log_loss"
,它等效于criterion="entropy"
。#23047 由 Christian Lorentzen贡献。增强 为
ensemble.VotingClassifier
,ensemble.VotingRegressor
,ensemble.StackingClassifier
和ensemble.StackingRegressor
添加了 get_feature_names_out 方法。#22695 和 #22697 由 Thomas Fan贡献。增强
ensemble.RandomTreesEmbedding
现在有一个信息丰富的 get_feature_names_out 函数,该函数在输出特征名称中包含树索引和叶索引。#21762 由 Zhehao Liu 和 Thomas Fan贡献。效率提升 在多进程设置下,拟合
ensemble.RandomForestClassifier
,ensemble.RandomForestRegressor
,ensemble.ExtraTreesClassifier
,ensemble.ExtraTreesRegressor
和ensemble.RandomTreesEmbedding
现在更快了,尤其是在启用warm_start
的后续拟合中。#22106 由 Pieter Gijsbers贡献。修复 更改
ensemble.GradientBoostingClassifier
和ensemble.GradientBoostingRegressor
中的参数validation_fraction
,以便在传入非浮点数作为参数时引发错误。#21632 由 Genesis Valencia贡献。修复 在
ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
中,删除了当 CPU 资源使用受限时(例如,在 docker 容器中使用 cgroups 配额)可能导致 CPU 资源过度订阅的潜在来源。#22566 由 Jérémie du Boisberranger贡献。修复 当拟合带有非默认
scoring
参数和启用 early_stopping 的 pandas DataFrame 时,ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
不会再发出警告。#22908 由 Thomas Fan贡献。修复 修复了
ensemble.StackingClassifier
和ensemble.StackingRegressor
的 HTML 表示。 #23097 由 Thomas Fan 完成。API 变更
ensemble.GradientBoostingClassifier
和ensemble.GradientBoostingRegressor
的属性loss_
已弃用,并将从 1.3 版本中移除。 #23079 由 Christian Lorentzen 完成。API 变更 将
ensemble.RandomForestRegressor
的max_features
默认值更改为 1.0,并将ensemble.RandomForestClassifier
的默认值更改为"sqrt"
。请注意,这些更改与之前的拟合结果相同,但更容易理解。旧的默认值"auto"
已弃用,并将从 1.3 版本中移除。相同的更改也应用于ensemble.ExtraTreesRegressor
和ensemble.ExtraTreesClassifier
。 #20803 由 Brian Sun 完成。效率提升 通过跳过重复的输入检查,提高了
ensemble.IsolationForest
的运行时性能。 #23149 由 Zhehao Liu 完成。
sklearn.feature_extraction
#
新增功能
feature_extraction.FeatureHasher
现在支持 PyPy。 #23023 由 Thomas Fan 完成。修复
feature_extraction.FeatureHasher
现在在transform
方法中而不是__init__
方法中验证输入参数。 #21573 由 Hannah Bohle 和 Maren Westermann 完成。修复
feature_extraction.text.TfidfVectorizer
现在不再像我们的 API 所要求的那样在__init__
中创建一个feature_extraction.text.TfidfTransformer
。 #21832 由 Guillaume Lemaitre 完成。
sklearn.feature_selection
#
新增功能 为
feature_selection.SequentialFeatureSelector
添加了自动模式。如果参数n_features_to_select
为'auto'
,则选择特征直到分数改进不超过参数tol
。n_features_to_select
的默认值在 1.1 版本中从None
更改为'warn'
,并在 1.3 版本中将变为'auto'
。None
和'warn'
将在 1.3 版本中移除。 #20145 由 murata-yu 完成。功能 为
feature_selection.SelectFromModel
的max_features
参数添加了传递可调用对象的能力。还引入了新的属性max_features_
,该属性在fit
过程中根据max_features
和数据推断得出。如果max_features
是一个整数,则max_features_ = max_features
。如果max_features
是一个可调用对象,则max_features_ = max_features(X)
。 #22356 由 Meekail Zain 完成。增强
feature_selection.GenericUnivariateSelect
保留 float32 数据类型。 #18482 由 Thierry Gameiro 和 Daniel Kharsa 完成, #22370 由 Meekail Zain 完成。增强 为
feature_selection.f_regression
和feature_selection.r_regression
添加了参数force_finite
。此参数允许在特征或目标值恒定,或特征与目标值完全相关(仅限于 F 统计量)的情况下强制输出为有限值。 #17819 由 Juan Carlos Alfaro Jiménez 完成。效率 提高了
feature_selection.chi2
使用布尔数组时的运行时性能。 #22235 由 Thomas Fan 完成。效率 减少了
feature_selection.chi2
的内存使用量。 #21837 由 Louis Wagner 完成。
sklearn.gaussian_process
#
修复
gaussian_process.GaussianProcessRegressor
的predict
和sample_y
方法现在在单目标和多目标情况下,以及normalize_y=False
和normalize_y=True
两种情况下都返回正确形状的数组。 #22199 由 Guillaume Lemaitre、Aidar Shakerimoff 和 Tenavi Nakamura-Zimmerer 完成。修复 如果通过
kernel
传递CompoundKernel
,gaussian_process.GaussianProcessClassifier
现在会抛出一个更具信息量的错误。 #22223 由 MarcoM 完成。
sklearn.impute
#
增强
impute.SimpleImputer
现在会在训练集中由于缺少任何观察值而跳过特征时,使用特征名称发出警告。 #21617 由 Christian Ritter 完成。增强 为
impute.SimpleImputer
添加了对pd.NA
的支持。 #21114 由 Ying Xiong 完成。增强 为
impute.SimpleImputer
、impute.KNNImputer
、impute.IterativeImputer
和impute.MissingIndicator
添加了 get_feature_names_out。 #21078 由 Thomas Fan 完成。API变更
verbose
参数已弃用impute.SimpleImputer
。删除空列时,将始终发出警告。#21448 由 Oleh Kozynets 和 Christian Ritter 完成。
sklearn.inspection
#
新增功能 添加了一个显示,通过使用
inspection.DecisionBoundaryDisplay.from_estimator
方法来绘制分类器的决策边界。#16061 由 Thomas Fan 完成。增强功能 在
inspection.PartialDependenceDisplay.from_estimator
中,允许kind
接受一个字符串列表,以指定为每个特征交互绘制哪种类型的图。#19438 由 Guillaume Lemaitre 完成。增强功能
inspection.PartialDependenceDisplay.from_estimator
,inspection.PartialDependenceDisplay.plot
和inspection.plot_partial_dependence
现在支持通过设置参数centered
来绘制中心化个体条件期望 (cICE) 和中心化 PDP 曲线。#18310 由 Johannes Elfner 和 Guillaume Lemaitre 完成。
sklearn.isotonic
#
增强功能 向
isotonic.IsotonicRegression
添加了 get_feature_names_out。#22249 由 Thomas Fan 完成。
sklearn.kernel_approximation
#
sklearn.linear_model
#
新增功能
linear_model.ElasticNet
,linear_model.ElasticNetCV
,linear_model.Lasso
和linear_model.LassoCV
支持针对稀疏输入X
的sample_weight
。#22808 由 Christian Lorentzen 完成。新增功能 使用
solver="lsqr"
的linear_model.Ridge
现在支持使用fit_intercept=True
来拟合稀疏输入。#22950 由 Christian Lorentzen 完成。增强
linear_model.QuantileRegressor
现在支持基于高级求解器的稀疏输入。 #21086 由 Venkatachalam Natchiappan贡献。此外,这些求解器现在从一开始就使用 CSC 矩阵,从而加快了拟合速度。 #22206 由 Christian Lorentzen贡献。增强 对于
solvers="lbfgs"
和solver="newton-cg"
,linear_model.LogisticRegression
的速度更快,这得益于新的私有损失函数模块,尤其体现在二元问题和多类别问题上。在多类别情况下,这些求解器的内存消耗也得到了降低,因为目标现在是标签编码(映射到整数),而不是标签二值化(独热编码)。类别越多,好处越大。 #21808,#20567 和 #21814 由 Christian Lorentzen贡献。增强 对于
solvers="lbfgs"
,linear_model.GammaRegressor
、linear_model.PoissonRegressor
和linear_model.TweedieRegressor
的速度更快。 #22548,#21808 和 #20567 由 Christian Lorentzen贡献。增强 将
linear_model.RANSACRegressor
中的参数base_estimator
重命名为estimator
,以提高可读性和一致性。base_estimator
已弃用,将在 1.3 版本中移除。 #22062 由 Adrian Trujillo贡献。增强
linear_model.ElasticNet
和其他使用坐标下降的线性模型类,在产生非有限参数权重时会显示错误消息。 #22148 由 Christian Ritter 和 Norbert Preining贡献。增强
linear_model.ElasticNet
和linear_model.Lasso
现在在传递l1_ratio
、alpha
、max_iter
和tol
的无效值时,会引发一致的错误消息。 #22240 由 Arturo Amor贡献。增强
linear_model.BayesianRidge
和linear_model.ARDRegression
现在保留 float32 数据类型。 #9087 由 Arthur Imbert贡献,以及 #22525 由 Meekail Zain贡献。增强
linear_model.RidgeClassifier
现在支持多标签分类。 #19689 由 Guillaume Lemaitre贡献。增强
linear_model.RidgeCV
和linear_model.RidgeClassifierCV
现在在传递alphas
的无效值时,会引发一致的错误消息。 #21606 由 Arturo Amor贡献。增强
linear_model.Ridge
和linear_model.RidgeClassifier
现在在传递alpha
、max_iter
和tol
的无效值时,会引发一致的错误消息。 #21341 由 Arturo Amor贡献。增强
linear_model.orthogonal_mp_gram
保持了numpy.float32
的数据类型。 #22002 由 Takeshi Oura 完成。修复
linear_model.LassoLarsIC
现在可以正确计算 AIC 和 BIC。当n_features > n_samples
以及未提供噪声方差时,现在会抛出错误。 #21481 由 Guillaume Lemaitre 和 Andrés Babino 完成。修复
linear_model.TheilSenRegressor
现在在fit
方法而不是__init__
方法中验证输入参数max_subpopulation
。 #21767 由 Maren Westermann 完成。修复
linear_model.ElasticNetCV
现在在l1_ratio=0
时会产生正确的警告。 #21724 由 Yar Khine Phyo 完成。修复
linear_model.LogisticRegression
和linear_model.LogisticRegressionCV
现在设置n_iter_
属性的形状符合文档字符串,并且与在 one-vs-rest 设置中使用其他求解器获得的形状一致。之前,它只记录每个二元子问题的迭代次数的最大值,而现在则记录所有次数。 #21998 由 Olivier Grisel 完成。修复
linear_model.TweedieRegressor
的属性family
不再在__init__
中进行验证。相反,此(私有)属性在linear_model.GammaRegressor
、linear_model.PoissonRegressor
和linear_model.TweedieRegressor
中已弃用,并将在 1.3 版本中移除。 #22548 由 Christian Lorentzen 完成。修复 当输入为稀疏矩阵时,
linear_model.LinearRegression
的coef_
和intercept_
属性现在在存在样本权重的情况下可以正确计算。 #22891 由 Jérémie du Boisberranger 完成。修复 当输入为稀疏矩阵时,使用
solver="sparse_cg"
和solver="lbfgs"
的linear_model.Ridge
的coef_
和intercept_
属性现在在存在样本权重的情况下可以正确计算。 #22899 由 Jérémie du Boisberranger 完成。修复 启用提前停止时,
linear_model.SGDRegressor
和linear_model.SGDClassifier
现在可以正确计算验证误差。 #23256 由 Zhehao Liu 完成。API 变更
linear_model.LassoLarsIC
现在将noise_variance
作为参数公开,以便提供噪声方差的估计值。当n_features > n_samples
且无法计算噪声方差的估计值时,这尤其重要。 #21481 由 Guillaume Lemaitre 完成。
sklearn.manifold
#
新增功能
manifold.Isomap
现在通过radius
参数支持基于半径的邻居。 #19794 由 刘哲昊贡献。改进
manifold.spectral_embedding
和manifold.SpectralEmbedding
支持np.float32
数据类型,并将保留此数据类型。 #21534 由 Andrew Knyazev贡献。改进 为
manifold.Isomap
和manifold.LocallyLinearEmbedding
添加了 get_feature_names_out。 #22254 由 Thomas Fan贡献。改进 为
manifold.TSNE
构造函数添加了metric_params
参数,用于提供距离度量方法的附加参数。 #21805 由 Jeanne Dionisi贡献, #22685 由 Meekail Zain贡献。改进
manifold.trustworthiness
在n_neighbours >= n_samples / 2
时抛出错误,以确保函数的正确支持。 #18832 由 Hong Shao Yang贡献, #23033 由 Meekail Zain贡献。修复
manifold.spectral_embedding
现在在特征向量求解器lobpcg
和amg
中使用高斯分布代替之前的[0, 1]均匀分布作为随机初始近似值,以提高数值稳定性。 #21565 由 Andrew Knyazev贡献。
sklearn.metrics
#
新增功能
metrics.r2_score
和metrics.explained_variance_score
有一个新的force_finite
参数。将此参数设置为False
将在完美预测或常数y_true
的情况下返回实际的非有限分数,而不是当前默认返回的有限近似值(分别为1.0
和0.0
)。 #17266 由 Sylvain Marié贡献。新增功能
metrics.d2_pinball_score
和metrics.d2_absolute_error_score
分别计算了Pinball损失和绝对误差的\(D^2\)回归分数。metrics.d2_absolute_error_score
是metrics.d2_pinball_score
在固定分位数参数alpha=0.5
时的特例,方便使用和发现。\(D^2\)分数是r2_score
的推广,可以解释为解释的偏差分数。 #22118 由 Ohad Michel贡献。改进
metrics.top_k_accuracy_score
在y_true
为二元且y_score
为二维时,抛出了改进的错误消息。 #22284 由 Thomas Fan贡献。增强
metrics.roc_auc_score
现在支持多分类情况下average=None
(当multiclass='ovr'
时),这将返回每个类别的得分。 #19158 由 Nicki Skafte 完成。增强 为
metrics.ConfusionMatrixDisplay.from_estimator
、metrics.ConfusionMatrixDisplay.from_predictions
和metrics.ConfusionMatrixDisplay.plot
添加了im_kw
参数。在绘制混淆矩阵时,im_kw
参数将传递给matplotlib.pyplot.imshow
调用。 #20753 由 Thomas Fan 完成。修复
metrics.silhouette_score
现在支持使用整数作为预计算距离的输入。 #22108 由 Thomas Fan 完成。修复 修复了
metrics.normalized_mutual_info_score
中的一个错误,该错误可能返回无界值。 #22635 由 Jérémie du Boisberranger 完成。修复 修复了当真实标签全部为负值时,
metrics.precision_recall_curve
和metrics.average_precision_score
的错误。 #19085 由 Varun Agrawal 完成。API变更
metrics.SCORERS
现已弃用,并将在 1.3 版本中移除。请使用metrics.get_scorer_names
获取所有可用评分器的名称。 #22866 由 Adrin Jalali 完成。API变更
metrics.mean_absolute_percentage_error
的参数sample_weight
和multioutput
现在仅接受关键字参数,符合 SLEP009。已引入弃用周期。 #21576 由 Paul-Emile Dugnat 完成。API变更
metrics.DistanceMetric
的"wminkowski"
度量已弃用,并将在 1.3 版本中移除。现有的"minkowski"
度量现在接受可选的w
参数用于权重。此弃用旨在与 SciPy 1.8 的约定保持一致。 #21873 由 Yar Khine Phyo 完成。API变更
metrics.DistanceMetric
已从sklearn.neighbors
移动到sklearn.metrics
。出于向后兼容性考虑,使用neighbors.DistanceMetric
进行导入仍然有效,但此别名将在 1.3 版本中移除。 #21177 由 Julien Jerphanion 完成。
sklearn.mixture
#
增强
mixture.GaussianMixture
和mixture.BayesianGaussianMixture
现在可以使用 k-means++ 和随机数据点进行初始化。 #20408 由 Gordon Walsh、Alberto Ceballos 和 Andres Rios 完成。修复 修复了一个错误,该错误在提供
precisions_init
时,通过取其平方根来正确初始化mixture.GaussianMixture
中的precisions_cholesky_
。 #22058 由 Guillaume Lemaitre 完成。修复
mixture.GaussianMixture
现在更安全地对weights_
进行归一化,防止在使用n_components=1
调用mixture.GaussianMixture.sample
时出现舍入误差。 #23034 由 Meekail Zain 完成。
sklearn.model_selection
#
增强现在可以在所有具有
scoring
参数的模型选择工具中传递scoring="matthews_corrcoef"
来使用马修斯相关系数 (MCC)。 #22203 由 Olivier Grisel 完成。增强当所有分割的拟合都失败时,在交叉验证期间引发错误。类似地,当所有模型和所有分割的拟合都失败时,在网格搜索期间引发错误。 #21026 由 Loïc Estève 完成。
修复
model_selection.GridSearchCV
,model_selection.HalvingGridSearchCV
现在在fit
方法而不是__init__
方法中验证输入参数。 #21880 由 Mrinal Tyagi 完成。修复
model_selection.learning_curve
现在支持使用回归器的partial_fit
。 #22982 由 Thomas Fan 完成。
sklearn.multiclass
#
增强
multiclass.OneVsRestClassifier
现在支持verbose
参数,以便可以查看拟合进度。 #22508 由 Chris Combs 完成。修复 当内部分类器只有 predict_proba 时,
multiclass.OneVsOneClassifier.predict
返回正确的预测结果。 #22604 由 Thomas Fan 完成。
sklearn.neighbors
#
增强 向
neighbors.RadiusNeighborsTransformer
、neighbors.KNeighborsTransformer
和neighbors.NeighborhoodComponentsAnalysis
添加了 get_feature_names_out。 #22212 由 Meekail Zain 完成。修复
neighbors.KernelDensity
现在在fit
方法而不是__init__
方法中验证输入参数。 #21430 由 Desislava Vasileva 和 Lucy Jimenez 完成。修复 当首先使用传递给
weights
参数的可调用对象构造KNeighborsRegressor
时,neighbors.KNeighborsRegressor.predict
现在可以正确处理类似数组的输入。 #22687 由 Meekail Zain 完成。
sklearn.neural_network
#
增强 当优化器产生非有限参数权重时,
neural_network.MLPClassifier
和neural_network.MLPRegressor
会显示错误消息。 #22150 由 Christian Ritter 和 Norbert Preining 完成。增强 向
neural_network.BernoulliRBM
添加了 get_feature_names_out。 #22248 由 Thomas Fan 完成。
sklearn.pipeline
#
增强 为
pipeline.FeatureUnion
添加了“直通” (passthrough) 支持。将转换器设置为“直通” 将直接传递特征,不做任何更改。 #20860 由 Shubhraneel Pal 完成。修复
pipeline.Pipeline
现在不再在__init__
中验证超参数,而是在.fit()
中验证。 #21888 由 iofall 和 Arisa Y. 完成。修复
pipeline.FeatureUnion
不再在__init__
中验证超参数。验证现在在.fit()
和.fit_transform()
中处理。 #21954 由 iofall 和 Arisa Y. 完成。修复 在
pipeline.FeatureUnion
中定义__sklearn_is_fitted__
以使用utils.validation.check_is_fitted
返回正确的结果。 #22953 由 randomgeek78 完成。
sklearn.preprocessing
#
功能
preprocessing.OneHotEncoder
现在支持将不频繁的类别分组到单个特征中。通过使用min_frequency
或max_categories
指定如何选择不频繁的类别来启用不频繁类别的分组。 #16018 由 Thomas Fan 完成。增强 为
preprocessing.KBinsDiscretizer
添加了subsample
参数。这允许指定在拟合模型时使用的最大样本数。只有当strategy
设置为quantile
时,此选项才可用。 #21445 由 Felipe Bidu 和 Amanda Dsouza 完成。增强 为
preprocessing.OrdinalEncoder
添加了encoded_missing_value
用于配置缺失数据的编码值。 #21988 由 Thomas Fan 完成。增强 为
preprocessing.FunctionTransformer
添加了get_feature_names_out
方法和新的参数feature_names_out
。您可以将feature_names_out
设置为 'one-to-one' 以使用输入特征名称作为输出特征名称,或者您可以将其设置为一个可调用对象以返回输出特征名称。这在转换器改变特征数量时尤其有用。如果feature_names_out
为 None(默认值),则get_output_feature_names
未定义。 #21569 由 Aurélien Geron 完成。增强 为
preprocessing.Normalizer
,preprocessing.KernelCenterer
,preprocessing.OrdinalEncoder
和preprocessing.Binarizer
添加了 get_feature_names_out。 #21079 由 Thomas Fan 完成。修复
preprocessing.PowerTransformer
使用method='yeo-johnson'
时,在搜索最佳 lambda 值时,能够更好地支持显著非高斯数据。 #20653 由 Thomas Fan 完成。修复
preprocessing.LabelBinarizer
现在在fit
方法而不是__init__
方法中验证输入参数。 #21434 由 Krum Arnaudov 贡献。修复 当
check_inverse=True
时,preprocessing.FunctionTransformer
现在会在输入数据包含混合数据类型时提供更有信息量的错误消息。 #19916 由 刘哲昊 贡献。修复
preprocessing.KBinsDiscretizer
现在更一致地处理箱边界。 #14975 由 Andreas Müller 和 #22526 由 Meekail Zain 贡献。修复 添加了
preprocessing.KBinsDiscretizer.get_feature_names_out
对encode="ordinal"
的支持。 #22735 由 Thomas Fan 贡献。
sklearn.random_projection
#
增强 为
random_projection.GaussianRandomProjection
和random_projection.SparseRandomProjection
添加了inverse_transform
方法和compute_inverse_transform
参数。当该参数设置为 True 时,会在fit
过程中计算组件的伪逆,并将其存储为inverse_components_
。 #21701 由 Aurélien Geron 贡献。增强
random_projection.SparseRandomProjection
和random_projection.GaussianRandomProjection
保留numpy.float32
的数据类型。 #22114 由 Takeshi Oura 贡献。增强 为
sklearn.random_projection
模块中的所有转换器添加了 get_feature_names_out:random_projection.GaussianRandomProjection
和random_projection.SparseRandomProjection
。 #21330 由 Loïc Estève 贡献。
sklearn.svm
#
增强
svm.OneClassSVM
,svm.NuSVC
,svm.NuSVR
,svm.SVC
和svm.SVR
现在公开了n_iter_
,表示 libsvm 优化例程的迭代次数。 #21408 由 Juan Martín Loyola 贡献。增强
svm.SVR
,svm.SVC
,svm.NuSVR
,svm.OneClassSVM
,svm.NuSVC
现在会在对偶间隙估计产生非有限参数权重时引发错误。 #22149 由 Christian Ritter 和 Norbert Preining 贡献。修复
svm.NuSVC
,svm.NuSVR
,svm.SVC
,svm.SVR
,svm.OneClassSVM
现在在fit
方法而非__init__
方法中验证输入参数。 #21436 由 Haidar Almubarak 贡献。
sklearn.tree
#
增强
tree.DecisionTreeClassifier
和tree.ExtraTreeClassifier
新增了criterion="log_loss"
参数,其效果等同于criterion="entropy"
。 #23047 由 Christian Lorentzen 贡献。修复 修复了
tree.DecisionTreeRegressor
中泊松分裂准则的一个错误。 #22191 由 Christian Lorentzen 贡献。API变更 将
tree.ExtraTreeRegressor
的max_features
默认值更改为 1.0,并将tree.ExtraTreeClassifier
的默认值更改为"sqrt"
,这不会改变拟合结果。 原始默认值"auto"
已弃用,将在 1.3 版本中移除。 对于tree.DecisionTreeClassifier
和tree.DecisionTreeRegressor
,将max_features
设置为"auto"
也已弃用。 #22476 由 Zhehao Liu 贡献。
sklearn.utils
#
增强
utils.check_array
和utils.multiclass.type_of_target
现在接受input_name
参数,以便在传递无效输入数据(例如包含 NaN 或无限值的数据)时提供更具信息量的错误消息。 #21219 由 Olivier Grisel 贡献。增强 当传递包含
pd.NA
的Float32
或Float64
pandas 扩展数组时,utils.check_array
现在返回一个包含np.nan
的浮点数 ndarray。 #21278 由 Thomas Fan 贡献。增强 在不受信任的 Jupyter Notebook 中运行时,
utils.estimator_html_repr
会显示更有效的错误消息。 #21316 由 Thomas Fan 贡献。增强
utils.estimator_html_repr
在 HTML 表示的左上角显示一个箭头,以指示元素的可点击性。 #21298 由 Thomas Fan 贡献。增强 当输入为包含混合数据类型的pandas DataFrame时,
utils.check_array
使用dtype=None
将返回数值型数组。dtype="numeric"
也将在DataFrame具有混合数据类型时更好地推断数据类型。 #22237 由 Thomas Fan 贡献。增强
utils.check_scalar
现在在显示类型时具有更好的消息提示。 #22218 由 Thomas Fan 贡献。修复 当 y 为 None 时,更改了
utils.check_X_y
抛出的ValidationError
的错误消息,使其与check_requires_y_none
估计器检查兼容。 #22578 由 Claudio Salvatore Arcidiacono 贡献。修复
utils.class_weight.compute_class_weight
现在只需要y
中的所有类别在class_weight
中都有权重。如果y
中存在一个类别,但在class_weight
中不存在,则仍然会引发错误。 #22595 由 Thomas Fan 贡献。修复
utils.estimator_html_repr
改善了嵌套元估计器的可视化效果。 #21310 由 Thomas Fan 贡献。修复 当
include_boundaries={"left", "right"}
且边界未设置时,utils.check_scalar
会引发错误。 #22027 由 Marie Lanternier 贡献。修复
utils.metaestimators.available_if
正确返回一个可以被pickle化的绑定方法。 #23077 由 Thomas Fan 贡献。API变更
utils.estimator_checks.check_estimator
的参数现在称为estimator
(之前的名称是Estimator
)。 #22188 由 Mathurin Massias 贡献。API变更
utils.metaestimators.if_delegate_has_method
已弃用,将在 1.3 版本中移除。请使用utils.metaestimators.available_if
代替。 #22830 由 Jérémie du Boisberranger 贡献。
代码和文档贡献者
感谢自 1.0 版本以来为项目维护和改进做出贡献的所有人,包括
2357juan,Abhishek Gupta,adamgonzo,Adam Li,adijohar,Aditya Kumawat,Aditya Raghuwanshi,Aditya Singh,Adrian Trujillo Duron,Adrin Jalali,ahmadjubair33,AJ Druck,aj-white,Alan Peixinho,Alberto Mario Ceballos-Arroyo,Alek Lefebvre,Alex,Alexandr,Alexandre Gramfort,alexanmv,almeidayoel,Amanda Dsouza,Aman Sharma,Amar pratap singh,Amit,amrcode,András Simon,Andreas Grivas,Andreas Mueller,Andrew Knyazev,Andriy,Angus L’Herrou,Ankit Sharma,Anne Ducout,Arisa,Arth,arthurmello,Arturo Amor,ArturoAmor,Atharva Patil,aufarkari,Aurélien Geron,avm19,Ayan Bag,baam,Bardiya Ak,Behrouz B,Ben3940,Benjamin Bossan,Bharat Raghunathan,Bijil Subhash,bmreiniger,Brandon Truth,Brenden Kadota,Brian Sun,cdrig,Chalmer Lowe,Chiara Marmo,Chitteti Srinath Reddy,Chloe-Agathe Azencott,Christian Lorentzen,Christian Ritter,christopherlim98,Christoph T. Weidemann,Christos Aridas,Claudio Salvatore Arcidiacono,combscCode,Daniela Fernandes,darioka,Darren Nguyen,Dave Eargle,David Gilbertson,David Poznik,Dea María Léon,Dennis Osei,DessyVV,Dev514,Dimitri Papadopoulos Orfanos,Diwakar Gupta,Dr. Felix M. Riese,drskd,Emiko Sano,Emmanouil Gionanidis,EricEllwanger,Erich Schubert,Eric Larson,Eric Ndirangu,ErmolaevPA,Estefania Barreto-Ojeda,eyast,Fatima GASMI,Federico Luna,Felix Glushchenkov,fkaren27,Fortune Uwha,FPGAwesome,francoisgoupil,Frans Larsson,ftorres16,Gabor Berei,Gabor Kertesz,Gabriel Stefanini Vicente,Gabriel S Vicente,Gael Varoquaux,GAURAV CHOUDHARY,Gauthier I,genvalen,Geoffrey-Paris,Giancarlo Pablo,glennfrutiz,gpapadok,Guillaume Lemaitre,Guillermo Tomás Fernández Martín,Gustavo Oliveira,Haidar Almubarak,Hannah Bohle,Hansin Ahuja,Haoyin Xu,Haya,Helder Geovane Gomes de Lima,henrymooresc,Hideaki Imamura,Himanshu Kumar,Hind-M,hmasdev,hvassard,i-aki-y,iasoon,Inclusive Coding Bot,Ingela,iofall,Ishan Kumar,Jack Liu,Jake Cowton,jalexand3r,J Alexander,Jauhar,Jaya Surya Kommireddy,Jay Stanley,Jeff Hale,je-kr,JElfner,Jenny Vo,Jérémie du Boisberranger,Jihane,Jirka Borovec,Joel Nothman,Jon Haitz Legarreta Gorroño,Jordan Silke,Jorge Ciprián,Jorge Loayza,Joseph Chazalon,Joseph Schwartz-Messing,Jovan Stojanovic,JSchuerz,Juan Carlos Alfaro Jiménez,Juan Martin Loyola,Julien Jerphanion,katotten,Kaushik Roy Chowdhury,Ken4git,Kenneth Prabakaran,kernc,Kevin Doucet,KimAYoung,Koushik Joshi,Kranthi Sedamaki,krishna kumar,krumetoft,lesnee,Lisa Casino,Logan Thomas,Loic Esteve,Louis Wagner,LucieClair,Lucy Liu,Luiz Eduardo Amaral,Magali,MaggieChege,Mai,mandjevant,Mandy Gu,Manimaran,MarcoM,Marco Wurps,Maren Westermann,Maria Boerner,MarieS-WiMLDS,Martel Corentin,martin-kokos,mathurinm,Matías,matjansen,Matteo Francia,Maxwell,Meekail Zain,Megabyte,Mehrdad Moradizadeh,melemo2,Michael I Chen,michalkrawczyk,Micky774,milana2,millawell,Ming-Yang Ho,Mitzi,miwojc,Mizuki,mlant,Mohamed Haseeb,Mohit Sharma,Moonkyung94,mpoemsl,MrinalTyagi,Mr. Leu,msabatier,murata-yu,N,Nadirhan Şahin,Naipawat Poolsawat,NartayXD,nastegiano,nathansquan,nat-salt,Nicki Skafte Detlefsen,Nicolas Hug,Niket Jain,Nikhil Suresh,Nikita Titov,Nikolay Kondratyev,Ohad Michel,Oleksandr Husak,Olivier Grisel,partev,Patrick Ferreira,Paul,pelennor,PierreAttard,Piet Brömmel,Pieter Gijsbers,Pinky,poloso,Pramod Anantharam,puhuk,Purna Chandra Mansingh,QuadV,Rahil Parikh,Randall Boyes,randomgeek78,Raz Hoshia,Reshama Shaikh,Ricardo Ferreira,Richard Taylor,Rileran,Rishabh,Robin Thibaut,Rocco Meli,Roman Feldbauer,Roman Yurchak,Ross Barnowski,rsnegrin,Sachin Yadav,sakinaOuisrani,Sam Adam Day,Sanjay Marreddi,Sebastian Pujalte,SEELE,SELEE,Seyedsaman (Sam) Emami,ShanDeng123,Shao Yang Hong,sharmadharmpal,shaymerNaturalint,Shuangchi He,Shubhraneel Pal,siavrez,slishak,Smile,spikebh,sply88,Srinath Kailasa,Stéphane Collot,Sultan Orazbayev,Sumit Saha,Sven Eschlbeck,Sven Stehle,Swapnil Jha,Sylvain Marié,Takeshi Oura,Tamires Santana,Tenavi,teunpe,Theis Ferré Hjortkjær,Thiruvenkadam,Thomas J. Fan,t-jakubek,toastedyeast,Tom Dupré la Tour,Tom McTiernan,TONY GEORGE,Tyler Martin,Tyler Reddy,Udit Gupta,Ugo Marchand,Varun Agrawal,Venkatachalam N,Vera Komeyer,victoirelouis,Vikas Vishwakarma,Vikrant khedkar,Vladimir Chernyy,Vladimir Kim,WeijiaDu,Xiao Yuan,Yar Khine Phyo,Ying Xiong,yiyangq,Yosshi999,Yuki Koyama,Zach Deane-Mayer,Zeel B Patel,zempleni,zhenfisher,赵丰 (Zhao Feng)