版本 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_estimatormetrics.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或Float64pandas 扩展数组时,返回一个带有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)