版本 1.1#
要查看此版本的主要亮点简要说明,请参阅scikit-learn 1.1 发布亮点。
更新日志图例
主要功能 之前无法实现的重要功能。
功能 之前无法实现的功能。
效率 现有功能现在可能不需要那么多计算或内存。
改进 一项杂项的小改进。
修复 以前未按文档说明工作或不符合合理预期的问题现在应该可以工作了。
API 变更 将来您需要更改代码以获得相同效果;或者某个功能将在未来被移除。
版本 1.1.3#
2022 年 10 月
此错误修复版本仅包含与最新 SciPy 版本 (>= 1.9.2) 兼容性的修复。显著的更改包括
修复 由于最新的 SciPy wheels 中已移除
msvcp140.dll
,因此将其包含在 scikit-learn wheels 中。#24631 由 Chiara Marmo 贡献。改进 为 Python 3.11 创建 wheels。#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 及更高版本的 Wheels。#23833 由 Thomas Fan 贡献。
sklearn.base
#
修复
base.BaseEstimator
类的get_params
方法现在支持具有get_params
方法的type
类型参数的估计器。#24017 由 Henry Sorsky 贡献。
sklearn.cluster
#
修复 修复了
cluster.Birch
中的一个错误,该错误可能在数据集存在重复项时拆分节点时触发错误。#23395 由 Jérémie du Boisberranger 贡献。
sklearn.feature_selection
#
修复 当估计器是
linear_model.ElasticNet
或l1_ratio
等于 1 的linear_model.ElasticNetCV
或linear_model.LassoCV
时,feature_selection.SelectFromModel
默认选择阈值为 1e-5。#23636 由 Hao Chun Chang 贡献。
sklearn.impute
#
修复 当 dtype 为对象时,
impute.SimpleImputer
在transform
中使用fit
中看到的 dtype。#22063 由 Thomas Fan 贡献。
sklearn.linear_model
#
修复 在验证 Gram 矩阵(由用户传递或预计算)时使用对 dtype 敏感的容差。#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
#
修复
degree
为 0 的preprocessing.PolynomialFeatures
在include_bias
设置为 False 时将引发错误,并在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
。修复 当 Pandas 的 DataFrame(所有列均为非字符串,例如 MultiIndex)传递给估计器时,不再发出警告。估计器将继续忽略非字符串列的 DataFrame 中的列名。为了定义
feature_names_in_
,所有列必须是字符串。#22410 由 Thomas Fan 贡献。修复
preprocessing.KBinsDiscretizer
略微改变了 bin 边缘的处理方式,这可能导致相同数据产生不同的编码。修复
calibration.calibration_curve
略微改变了 bin 边缘的处理方式,这可能导致相同数据产生不同的输出曲线。修复
discriminant_analysis.LinearDiscriminantAnalysis
现在使用正确的方差缩放系数,这可能导致模型行为不同。修复
feature_selection.SelectFromModel.fit
和feature_selection.SelectFromModel.partial_fit
现在可以在prefit=True
的情况下调用。estimators_
将是当prefit=True
时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 贡献。改进 当使用
set_params
设置无效超参数时,所有 scikit-learn 模型现在都会生成更具信息量的错误消息。#21542 由 Olivier Grisel 贡献。改进 删除了 HTML 表示中的随机唯一标识符。通过此更改,只要按相同顺序运行单元格,Jupyter notebook 即可重现。#23098 由 Thomas Fan 贡献。
修复
non_deterministic
标签设置为True
的估计器将跳过check_methods_sample_order_invariance
和check_methods_subset_invariance
测试。#22318 由 Zhehao Liu 贡献。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
现在更一致地处理 bin 边缘。#14975 由 Andreas Müller 和 #22526 由 Meekail Zain 贡献。API 变更
calibration.calibration_curve
的normalize
参数现已弃用,并将在 1.3 版本中移除。建议为y_prob
使用适当的概率(即分类器的 predict_proba 正类别)。#23095 由 Jordan Silke 贡献。
sklearn.cluster
#
主要功能
cluster.BisectingKMeans
引入了二分 K-Means 算法。#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 贡献。改进 将 get_feature_names_out 添加到
cluster.Birch
、cluster.FeatureAgglomeration
、cluster.KMeans
、cluster.MiniBatchKMeans
中。#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. 贡献。修复 get_feature_names_out 功能在
compose.ColumnTransformer
中在列使用slice
指定时损坏。此问题已在 #22775 和 #22913 中由 randomgeek78 修复。
sklearn.covariance
#
修复
covariance.GraphicalLassoCV
现在接受 NumPy 数组作为参数alphas
。#22493 由 Guillaume Lemaitre 贡献。
sklearn.cross_decomposition
#
改进
cross_decomposition.PLSRegression
、cross_decomposition.PLSCanonical
和cross_decomposition.CCA
的inverse_transform
方法现在允许在给定Y
参数时重建X
目标。#19680 由 Robin Thibaut 贡献。改进 将 get_feature_names_out 添加到
cross_decomposition
模块中的所有转换器:cross_decomposition.CCA
、cross_decomposition.PLSSVD
、cross_decomposition.PLSRegression
和cross_decomposition.PLSCanonical
。#22119 由 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 由 Guillaume Lemaitre 贡献。API 变更 为
cross_decomposition.PLSCanonical
、cross_decomposition.PLSRegression
和cross_decomposition.CCA
添加了已拟合属性intercept_
。predict
方法确实等同于Y = X @ coef_ + intercept_
。#22015 由 Guillaume Lemaitre 贡献。
sklearn.datasets
#
功能
datasets.load_files
现在接受基于文件扩展名的忽略列表和允许列表。#19747 由 Tony Attalla 和 #22498 由 Meekail Zain 贡献。改进
datasets.make_swiss_roll
现在支持可选参数 hole;当设置为 True 时,它返回 swiss-hole 数据集。#21482 由 Sebastian Pujalte 贡献。改进
datasets.make_blobs
在生成过程中不再复制数据,因此使用更少的内存。#22412 由 Zhehao Liu 贡献。改进
datasets.load_diabetes
现在接受参数scaled
,以允许加载未缩放的数据。此数据集的缩放版本现在根据未缩放数据计算,并且与以前的版本相比可能产生略有不同的结果(在 1e-4 的绝对容差范围内)。#16605 由 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
保留dtype
为numpy.float32
。decomposition.DictionaryLearning
、decomposition.MiniBatchDictionaryLearning
和decomposition.SparseCoder
保留dtype
为numpy.float32
。 #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
保留dtype
为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
数据,无需静默向上转型。dtype
由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
参数的默认值将在 1.3 版本中从True
(其行为类似于'arbitrary-variance'
)更改为'unit-variance'
。 #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
方法现在在非初始热启动运行时调用utils.check_array
时带有参数force_all_finite=False
,因为之前已经检查过。 #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 过度订阅源,当 CPU 资源使用受限时(例如在 Docker 容器中使用 cgroups 配额)。 #22566 由 Jérémie du Boisberranger。修复
ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
在使用非默认scoring
参数并启用early_stopping
的 pandas DataFrame 上进行拟合时,不再发出警告。 #22908 由 Thomas Fan。修复 修复了
ensemble.StackingClassifier
和ensemble.StackingRegressor
的 HTML 表示。 #23097 由 Thomas Fan。API 变更
ensemble.GradientBoostingClassifier
和ensemble.GradientBoostingRegressor
的属性loss_
已被弃用,并将在 1.3 版本中移除。 #23079 由 Christian Lorentzen。API 变更 将
max_features
的默认值对于ensemble.RandomForestRegressor
更改为 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
现在在__init__
时不再创建feature_extraction.text.TfidfTransformer
,符合我们的 API 要求。 #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 dtype。 #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 变更
impute.SimpleImputer
的verbose
参数已被弃用。在移除空列时将始终发出警告。 #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。改进 由于新的私有损失函数模块,对于二分类问题,特别是多分类问题,
linear_model.LogisticRegression
对于solvers="lbfgs"
和solver="newton-cg"
速度更快。在多分类情况下,这些解算器的内存消耗也已减少,因为目标现在是标签编码(映射到整数),而不是标签二值化(one-hot 编码)。类别越多,收益越大。 #21808、#20567 和 #21814 由 Christian Lorentzen。改进
linear_model.GammaRegressor
、linear_model.PoissonRegressor
和linear_model.TweedieRegressor
对于solvers="lbfgs"
速度更快。 #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 dtype。 #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
保留dtype
为numpy.float32
。 #22002 由 Takeshi Oura。修复
linear_model.LassoLarsIC
现在正确计算 AIC 和 BIC。当n_features > n_samples
且未提供噪声方差时,现在会引发错误。 #21481 由 Guillaume Lemaitre 和 Andrés Babino。修复
linear_model.TheilSenRegressor
现在在fit
中验证输入参数max_subpopulation
,而不是在__init__
中。 #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 由 Zhehao Liu。改进
manifold.spectral_embedding
和manifold.SpectralEmbedding
支持np.float32
数据类型并保留此数据类型。 #21534 由 Andrew Knyazev 贡献。改进 将 get_feature_names_out 添加到
manifold.Isomap
和manifold.LocallyLinearEmbedding
。 #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 loss) 和绝对误差的 \(D^2\) 回归分数。metrics.d2_absolute_error_score
是metrics.d2_pinball_score
的特例,固定了分位数参数alpha=0.5
,以便于使用和发现。\(D^2\) 分数是r2_score
的推广,可以解释为解释的偏差 (deviance) 的比例。 #22118 由 Ohad Michel 贡献。改进
metrics.top_k_accuracy_score
当y_true
是二进制且y_score
是二维时,会引发更友好的错误消息。 #22284 由 Thomas Fan 贡献。改进
metrics.roc_auc_score
现在在多类别情况下,当multiclass='ovr'
时支持average=None
,这将返回每个类别的分数。 #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 贡献。修复 修复了一个错误,该错误通过取平方根的方式正确初始化
mixture.GaussianMixture
中的precisions_cholesky_
,前提是提供了precisions_init
。 #22058 由 Guillaume Lemaitre 贡献。修复
mixture.GaussianMixture
现在更安全地标准化weights_
,防止在调用mixture.GaussianMixture.sample
时n_components=1
时出现舍入误差。 #23034 由 Meekail Zain 贡献。
sklearn.model_selection
#
改进 现在可以将
scoring="matthews_corrcoef"
传递给所有带有scoring
参数的模型选择工具,以使用马修斯相关系数 (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 贡献。修复
multiclass.OneVsOneClassifier.predict
当内部分类器只有 predict_proba 方法时,返回正确的预测。 #22604 由 Thomas Fan 贡献。
sklearn.neighbors
#
改进 将 get_feature_names_out 添加到
neighbors.RadiusNeighborsTransformer
、neighbors.KNeighborsTransformer
和neighbors.NeighborhoodComponentsAnalysis
。 #22212 由 Meekail Zain 贡献。修复
neighbors.KernelDensity
现在在fit
方法中而不是在__init__
中验证输入参数。 #21430 由 Desislava Vasileva 和 Lucy Jimenez 贡献。修复
neighbors.KNeighborsRegressor.predict
现在,如果KNeighborsRegressor
最初使用传递给weights
参数的可调用对象构造,则在给定类数组输入时可以正常工作。 #22687 由 Meekail Zain 贡献。
sklearn.neural_network
#
改进
neural_network.MLPClassifier
和neural_network.MLPRegressor
当优化器产生非有限参数权重时,会显示错误消息。 #22150 由 Christian Ritter 和 Norbert Preining 贡献。改进 将 get_feature_names_out 添加到
neural_network.BernoulliRBM
。 #22248 由 Thomas Fan 贡献。
sklearn.pipeline
#
改进 在
pipeline.FeatureUnion
中添加了对“passthrough”的支持。将转换器设置为“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 贡献。改进 将 get_feature_names_out 添加到
preprocessing.Normalizer
、preprocessing.KernelCenterer
、preprocessing.OrdinalEncoder
和preprocessing.Binarizer
。 #21079 由 Thomas Fan 贡献。修复
preprocessing.PowerTransformer
当使用method='yeo-johnson'
时,在寻找最优 lambda 时,更好地支持显著非高斯数据。 #20653 由 Thomas Fan 贡献。修复
preprocessing.LabelBinarizer
现在在fit
方法中而不是在__init__
中验证输入参数。 #21434 由 Krum Arnaudov 贡献。修复
preprocessing.FunctionTransformer
当check_inverse=True
时,如果输入数据类型混合,现在会提供更具信息性的错误消息。 #19916 由 Zhehao Liu 贡献。修复
preprocessing.KBinsDiscretizer
现在更一致地处理 bin 边界。 #14975 由 Andreas Müller 贡献,#22526 由 Meekail Zain 贡献。修复 当
encode="ordinal"
时,添加了对preprocessing.KBinsDiscretizer.get_feature_names_out
的支持。 #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 贡献。改进 将 get_feature_names_out 添加到
sklearn.random_projection
模块中的所有转换器中: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
的max_features
默认值更改为"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 贡献。改进
utils.check_array
当传入包含pd.NA
的Float32
或Float64
pandas 扩展数组时,返回一个带有np.nan
的浮点 ndarray。 #21278 由 Thomas Fan 贡献。改进
utils.estimator_html_repr
当在不受信任的 Jupyter Notebook 中运行时,会显示更具帮助性的错误消息。 #21316 由 Thomas Fan 贡献。改进
utils.estimator_html_repr
在 HTML 表示的左上角显示一个箭头,以指示元素是可点击的。 #21298 由 Thomas Fan 贡献。改进
utils.check_array
当传入包含混合数据类型的 pandas DataFrame 时,配合dtype=None
会返回数值数组。当 DataFrame 包含混合数据类型时,dtype="numeric"
也会更好地推断数据类型。 #22237 由 Thomas Fan 贡献。改进
utils.check_scalar
现在在显示类型时有更友好的消息。 #22218 由 Thomas Fan 贡献。修复 更改了
utils.check_X_y
在 `y` 为 `None` 时引发的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
对嵌套的元估计器 (meta-estimators) 进行了改进的可视化。 #21310 由 Thomas Fan 贡献。修复
utils.check_scalar
当include_boundaries={"left", "right"}
且边界未设置时,会引发错误。 #22027 由 Marie Lanternier 贡献。修复
utils.metaestimators.available_if
正确返回一个可被序列化 (pickled) 的绑定方法。 #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)