版本 1.0#
有关此版本主要亮点的简短说明,请参阅 scikit-learn 1.0 的发行亮点。
变更日志图例
主要功能 以前无法实现的重要功能。
功能 以前无法实现的功能。
效率提升 现有功能现在可能不需要那么多的计算或内存。
增强 各种各样的次要改进。
修复 以前未按文档说明工作或未达到合理预期的问题现在已解决。
API 变更 您需要更改代码才能在将来获得相同的效果;或者将来会删除某个功能。
版本 1.0.2#
2021 年 12 月
修复
cluster.Birch
、feature_selection.RFECV
、ensemble.RandomForestRegressor
、ensemble.RandomForestClassifier
、ensemble.GradientBoostingRegressor
和ensemble.GradientBoostingClassifier
现在不再在拟合 pandas DataFrame 时发出警告。 #21578 由 Thomas Fan 完成。
变更日志#
sklearn.cluster
#
修复 通过将迭代计数器从 try 块移动到 except 块,修复了
cluster.SpectralClustering
中的无限循环问题。 #21271 由 Tyler Martin 完成。
sklearn.datasets
#
修复
datasets.fetch_openml
现在是线程安全的。数据首先下载到一个临时子文件夹,然后重命名。 #21833 由 Siavash Rezazadeh 完成。
sklearn.decomposition
#
修复 修复了
decomposition.DictionaryLearning
、decomposition.MiniBatchDictionaryLearning
、decomposition.SparsePCA
和decomposition.MiniBatchSparsePCA
目标函数的约束,使其成为凸函数并与参考文章相匹配。 #19210 由 Jérémie du Boisberranger 完成。
sklearn.ensemble
#
已修复
ensemble.RandomForestClassifier
,ensemble.RandomForestRegressor
,ensemble.ExtraTreesClassifier
,ensemble.ExtraTreesRegressor
和ensemble.RandomTreesEmbedding
现在在bootstrap=False
且max_samples
不为None
时会抛出ValueError
异常。 #21295 徐浩垠。已修复 修复了
ensemble.GradientBoostingClassifier
中的一个bug,该bug导致指数损失函数计算的是正梯度而不是负梯度。 #22050 由 Guillaume Lemaitre 完成。
sklearn.feature_selection
#
已修复 通过改进对未设置
feature_names_in_
属性的基估计器的支持,修复了feature_selection.SelectFromModel
。 #21991 由 Thomas Fan 完成。
sklearn.impute
#
已修复 修复了
linear_model.RidgeClassifierCV
中的一个bug,该bug导致predict
方法对decision_function
获得的分数执行了argmax
操作,而不是返回多标签指示矩阵。 #19869 由 Guillaume Lemaitre 完成。
sklearn.linear_model
#
已修复
linear_model.LassoLarsIC
现在可以正确计算AIC和BIC。当n_features > n_samples
以及未提供噪声方差时,现在会抛出错误。 #21481 由 Guillaume Lemaitre 和 Andrés Babino 完成。
sklearn.manifold
#
已修复 修复了使用预计算的密集距离矩阵拟合
manifold.Isomap
时,邻居图具有多个不相连组件时出现的无必要错误。 #21915 由 Tom Dupre la Tour 完成。
sklearn.metrics
#
已修复 所有
sklearn.metrics.DistanceMetric
子类现在都正确支持只读缓冲区属性。这修复了1.0.0版本相对于0.24.2版本引入的回归问题。 #21694 由 Julien Jerphanion 完成。已修复 所有
sklearn.metrics.MinkowskiDistance
现在都接受一个权重参数,这使得编写与scipy 1.8及更早版本都一致的代码成为可能。反过来,这意味着所有基于邻居的估计器(使用algorithm="kd_tree"
的估计器除外)现在都接受带有metric="minknowski"
的权重参数,以产生始终与scipy.spatial.distance.cdist
一致的结果。 #21741 由 Olivier Grisel 完成。
sklearn.multiclass
#
已修复 当使用常数整数目标拟合时,
multiclass.OneVsRestClassifier.predict_proba
不再报错。 #21871 由 Thomas Fan 贡献。
sklearn.neighbors
#
已修复
neighbors.KDTree
和neighbors.BallTree
正确支持只读缓冲区属性。 #21845 由 Thomas Fan 贡献。
sklearn.preprocessing
#
已修复 修复了
preprocessing.OneHotEncoder
中与 NumPy 1.22 的兼容性错误。 #21517 由 Thomas Fan 贡献。
sklearn.tree
#
已修复 防止
tree.plot_tree
绘制超出图形边界的图形。 #21917 由 Thomas Fan 贡献。已修复 支持加载决策树模型的pickle文件,即使该pickle文件是在位数不同的平台上生成的。一个典型的例子是在64位机器上训练和保存模型,然后在32位机器上加载模型进行预测。 #21552 由 Loïc Estève 贡献。
sklearn.utils
#
已修复
utils.estimator_html_repr
现在对生成的HTML中的所有估计器描述进行转义。 #21493 由 Aurélien Geron 贡献。
版本 1.0.1#
2021年10月
已修复的模型#
已修复 以下类的非拟合方法在使用具有有效特征名称的DataFrame拟合时不会引发UserWarning:
covariance.EllipticEnvelope
,ensemble.IsolationForest
,ensemble.AdaBoostClassifier
,neighbors.KNeighborsClassifier
,neighbors.KNeighborsRegressor
,neighbors.RadiusNeighborsClassifier
,neighbors.RadiusNeighborsRegressor
。 #21199 由 Thomas Fan 贡献。
sklearn.calibration
#
已修复 修复了
calibration.CalibratedClassifierCV
,使其在计算基本估计器预测时考虑sample_weight
(当ensemble=False
时)。 #20638 由 Julien Bohné 贡献。已修复 修复了
calibration.CalibratedClassifierCV
(使用method="sigmoid"
) 中的一个错误,该错误在计算贝叶斯先验时忽略了sample_weight
。 #21179 由 Guillaume Lemaitre 贡献。
sklearn.cluster
#
已修复 修复了
cluster.KMeans
中的一个错误,确保稀疏和密集输入之间的可重复性和等效性。 #21195 由 Jérémie du Boisberranger 贡献。
sklearn.ensemble
#
已修复 修复了一个错误,该错误在极少数情况下会导致
ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
出现段错误。 #21130 Christian Lorentzen 贡献。
sklearn.gaussian_process
#
修复 在
sklearn.gaussian_process.GaussianProcessRegressor
中,使用多目标时正确计算y_std
,从而允许在多目标场景中进行正确的归一化。 #20761 由 Patrick de C. T. R. Ferreira 完成。
sklearn.feature_extraction
#
效率提升 修复了1.0.0版本中引入的
feature_extraction.text.CountVectorizer
的transform
方法的效率回归问题,该方法不再检查提供的词汇表中是否存在大写字符。 #21251 由 Jérémie du Boisberranger 完成。修复 修复了
feature_extraction.text.CountVectorizer
和feature_extraction.text.TfidfVectorizer
中的一个错误,当 ‘min_idf’ 或 ‘max_idf’ 为大于1的浮点数时,会引发错误。 #20752 由 Alek Lefebvre 完成。
sklearn.linear_model
#
修复 提高了不同版本的 openblas 的
linear_model.LassoLars
的稳定性。 #21340 由 Thomas Fan 完成。修复
linear_model.LogisticRegression
现在在求解器不支持具有 int64 索引的稀疏矩阵时,会抛出一个更好的错误消息。 #21093 由 Tom Dupre la Tour 完成。
sklearn.neighbors
#
修复 当使用
metric="precomputed"
时,neighbors.KNeighborsClassifier
,neighbors.KNeighborsRegressor
,neighbors.RadiusNeighborsClassifier
,neighbors.RadiusNeighborsRegressor
对于bsr
和dok
稀疏矩阵在fit
,kneighbors
和radius_neighbors
方法中会引发错误,这是由于处理bsr
和dok
稀疏图 格式中的显式零值造成的。 #21199 由 Thomas Fan 完成。
sklearn.pipeline
#
修复
pipeline.Pipeline.get_feature_names_out
正确地将特征名称从管道的一步传递到下一步。 #21351 由 Thomas Fan 完成。
sklearn.svm
#
修复
svm.SVC
和svm.SVR
检查其内部表示中是否存在不一致,并引发错误而不是段错误。此修复还解决了 CVE-2020-28975。 #21336 由 Thomas Fan 完成。
sklearn.utils
#
增强
utils.validation._check_sample_weight
可以对样本权重执行非负性检查。可以使用 only_non_negative bool 参数将其打开。更新了检查非负权重的估计器:linear_model.LinearRegression
(此处之前的错误消息具有误导性)、ensemble.AdaBoostClassifier
、ensemble.AdaBoostRegressor
、neighbors.KernelDensity
。 #20880 由 Guillaume Lemaitre 和 András Simon 完成。修复 修复了
sklearn.utils.metaestimators.if_delegate_has_method
中的一个错误,其中对属性的基本检查不适用于 NumPy 数组。 #21145 由 Zahlii 完成。
其他#
修复 对没有特征名称的数据集拟合估计器,而先前在具有特征名称的数据集上拟合的估计器不再保留存储在
feature_names_in_
属性中的旧特征名称。 #21389 由 Jérémie du Boisberranger 完成。
1.0.0 版本#
2021年9月
最小依赖项#
scikit-learn 的 1.0.0 版本需要 python 3.7+、numpy 1.14.6+ 和 scipy 1.1.0+。可选的最小依赖项是 matplotlib 2.2.2+。
强制使用仅限关键字的参数#
为了促进清晰且明确的库使用,现在大多数构造函数和函数参数必须作为关键字参数传递(即使用 param=value
语法)而不是位置参数。如果仅限关键字的参数用作位置参数,则现在会引发 TypeError
。 #15005 #20002 由 Joel Nothman、Adrin Jalali、Thomas Fan、Nicolas Hug 和 Tom Dupre la Tour 完成。更多详情请参见 SLEP009。
更改的模型#
使用相同数据和参数拟合的以下估计器和函数可能会产生与先前版本不同的模型。这通常是由于建模逻辑(错误修复或增强)或随机采样程序中的更改造成的。
修复
manifold.TSNE
现在避免了在亲和矩阵计算期间出现数值下溢问题。修复
manifold.Isomap
现在沿着一些最小距离对连接邻居图的断开连接的组件,而不是将所有无限距离更改为零。修复
tree.DecisionTreeClassifier
和tree.DecisionTreeRegressor
的分割标准可能会受到处理舍入误差的修复的影响。以前可能会出现一些额外的虚假分割。修复 使用
stratify
参数的model_selection.train_test_split
和model_selection.StratifiedShuffleSplit
可能会导致略微不同的结果。
详细信息列在下面的更改日志中。
(虽然我们正在努力通过提供此信息来更好地告知用户,但我们无法保证此列表完整。)
更改日志#
API变更 通过
loss
和criterion
参数使用平方误差的选项已变得更加一致。推荐的方式是将值设置为"squared_error"
。旧的选项名称仍然有效,会生成相同的模型,但已被弃用,并将在1.2版本中移除。 #19310 由 Christian Lorentzen 贡献。对于
ensemble.ExtraTreesRegressor
,criterion="mse"
已被弃用,请改用"squared_error"
,现在这是默认值。对于
ensemble.GradientBoostingRegressor
,loss="ls"
已被弃用,请改用"squared_error"
,现在这是默认值。对于
ensemble.RandomForestRegressor
,criterion="mse"
已被弃用,请改用"squared_error"
,现在这是默认值。对于
ensemble.HistGradientBoostingRegressor
,loss="least_squares"
已被弃用,请改用"squared_error"
,现在这是默认值。对于
linear_model.RANSACRegressor
,loss="squared_loss"
已被弃用,请改用"squared_error"
。对于
linear_model.SGDRegressor
,loss="squared_loss"
已被弃用,请改用"squared_error"
,现在这是默认值。对于
tree.DecisionTreeRegressor
,criterion="mse"
已被弃用,请改用"squared_error"
,现在这是默认值。对于
tree.ExtraTreeRegressor
,criterion="mse"
已被弃用,请改用"squared_error"
,现在这是默认值。
API变更 通过
loss
和criterion
参数使用绝对误差的选项已变得更加一致。推荐的方式是将值设置为"absolute_error"
。旧的选项名称仍然有效,会生成相同的模型,但已被弃用,并将在1.2版本中移除。 #19733 由 Christian Lorentzen 贡献。对于
ensemble.ExtraTreesRegressor
,criterion="mae"
已被弃用,请改用"absolute_error"
。对于
ensemble.GradientBoostingRegressor
,loss="lad"
已被弃用,请改用"absolute_error"
。对于
ensemble.RandomForestRegressor
,criterion="mae"
已被弃用,请改用"absolute_error"
。对于
ensemble.HistGradientBoostingRegressor
,loss="least_absolute_deviation"
已被弃用,请改用"absolute_error"
。对于
linear_model.RANSACRegressor
,loss="absolute_loss"
已被弃用,请改用"absolute_error"
,现在这是默认值。对于
tree.DecisionTreeRegressor
,criterion="mae"
已被弃用,请改用"absolute_error"
。对于
tree.ExtraTreeRegressor
,criterion="mae"
已被弃用,请改用"absolute_error"
。
API变更 在1.0版本中已弃用
np.matrix
的用法,并在1.2版本中将引发TypeError
。 #20165 由 Thomas Fan贡献。API变更 转换器API中添加了get_feature_names_out 来获取输出特征的名称。
get_feature_names
已被弃用。 #18444 由 Thomas Fan贡献。API变更 所有估计器在拟合pandas Dataframes时都会存储
feature_names_in_
。这些特征名称会与在非fit
方法(例如transform
)中看到的名称进行比较,如果不一致,将引发FutureWarning
。这些FutureWarning
将在1.2版本中变为ValueError
。 #18010 由 Thomas Fan贡献。
sklearn.base
#
修复
config_context
现在是线程安全的。 #18736 由 Thomas Fan贡献。
sklearn.calibration
#
新增功能 添加了
calibration.CalibrationDisplay
用于绘制校准曲线。 #17443 由 Lucy Liu贡献。修复
calibration.CalibratedClassifierCV
的predict
和predict_proba
方法现在可以正确地用于预先拟合的管道。 #19641 由 Alek Lefebvre贡献。修复 修复了在
calibration.CalibratedClassifierCV
中使用ensemble.VotingClassifier
作为base_estimator
时的错误。 #20087 由 Clément Fauchereau贡献。
sklearn.cluster
#
效率提升
cluster.KMeans
和cluster.MiniBatchKMeans
的"k-means++"
初始化现在更快,尤其是在多核环境中。 #19002 由 Jon Crall 和 Jérémie du Boisberranger贡献。效率提升 使用
algorithm='elkan'
的cluster.KMeans
现在在多核环境中更快。 #19052 由 Yusuke Nagasaka贡献。效率提升
cluster.MiniBatchKMeans
现在在多核环境中更快。 #17622 由 Jérémie du Boisberranger贡献。效率提升
cluster.OPTICS
现在可以使用memory
参数缓存树计算的输出。 #19024 由 Frankie Robertson贡献。增强
cluster.AffinityPropagation
的predict
和fit_predict
方法现在接受稀疏数据类型作为输入数据。 #20117 由 Venkatachalam Natchiappan贡献。修复 修复了
cluster.MiniBatchKMeans
中的一个bug,该bug导致在输入为稀疏数据时样本权重被部分忽略。 #17622 由 Jérémie du Boisberranger贡献。修复 基于
cluster.MiniBatchKMeans
中心变化改进的收敛检测,该检测几乎从未实现过。 #17622 由 Jérémie du Boisberranger 完成。修复
cluster.AgglomerativeClustering
现在支持只读内存映射数据集。 #19883 由 Julien Jerphanion 完成。修复 当连接性和亲和性都被预计算并且连接组件的数量大于1时,
cluster.AgglomerativeClustering
正确连接组件。 #20597 由 Thomas Fan 完成。修复
cluster.FeatureAgglomeration
的fit
函数不再接受**params
关键字参数,从而产生更简洁的错误消息。 #20899 由 Adam Li 完成。修复 修复了
cluster.KMeans
中的一个bug,确保稀疏和密集输入之间的可重复性和等效性。 #20200 由 Jérémie du Boisberranger 完成。API变更
cluster.Birch
的属性fit_
和partial_fit_
已弃用,将在1.2版本中移除。 #19297 由 Thomas Fan 完成。API变更 由于效率原因,
cluster.MiniBatchKMeans
的batch_size
参数的默认值已从100更改为1024。cluster.MiniBatchKMeans
的n_iter_
属性现在报告已启动的轮数,而n_steps_
属性报告已处理的小批次数。 #17622 由 Jérémie du Boisberranger 完成。API变更 当传递
np.matrix
时,cluster.spectral_clustering
会引发改进的错误。 #20560 由 Thomas Fan 完成。
sklearn.compose
#
增强
compose.ColumnTransformer
现在在output_indices_
中记录每个转换器的输出。 #18393 由 Luca Bittarello 完成。增强
compose.ColumnTransformer
现在允许DataFrame输入在其列在transform
中以更改的顺序出现。此外,如果remainder='drop'
,则转换中不需要丢弃的列,并且将忽略额外的列。 #19263 由 Thomas Fan 完成。增强 向
compose.TransformedTargetRegressor.predict
添加**predict_params
关键字参数,该参数将关键字参数传递给回归器。 #19244 由 Ricardo 完成。修复
compose.ColumnTransformer.get_feature_names
支持其任何转换器返回的非字符串特征名称。但是,请注意get_feature_names
已弃用,请改用get_feature_names_out
。 #18459 由 Albert Villanova del Moral 和 Alonso Silva Allende 完成。修复
compose.TransformedTargetRegressor
现在使用合适的转换器来处理nD目标。 #18898 由 Oras Phongpanagnam 完成。API 变更 向
compose.ColumnTransformer
添加了verbose_feature_names_out
。此标志控制 get_feature_names_out 中特征名称的前缀。由 Thomas Fan 完成,相关 PR:#18444 和 #21080。
sklearn.covariance
#
修复 向
covariance.ledoit_wolf
和covariance.ledoit_wolf_shrinkage
添加了数组检查。由 Hugo Defois 完成,相关 PR:#20416。API 变更 已弃用
cv_results_
中的以下键:'mean_score'
、'std_score'
和'split(k)_score'
,建议使用'mean_test_score'
、'std_test_score'
和'split(k)_test_score'
。由 Thomas Fan 完成,相关 PR:#20583。
sklearn.datasets
#
增强
datasets.fetch_openml
现在在返回 pandas DataFrame 时支持包含缺失值的类别。由 Thomas Fan、Amanda Dsouza 和 EL-ATEIF Sara 完成,相关 PR:#19365。增强
datasets.fetch_kddcup99
在缓存文件无效时会发出更清晰的错误消息。由 Thomas Fan 完成,相关 PR:#19669。增强 将与资源文件 I/O 相关的
__file__
用法替换为importlib.resources
,以避免假设这些资源文件(例如iris.csv
)已存在于文件系统中,并由此扩展以支持PyOxidizer
等工具。由 Jack Liu 完成,相关 PR:#20297。修复 缩短 openml 测试中的数据文件名,以更好地支持在 Windows 上安装以及其默认的 260 个字符的文件名限制。由 Thomas Fan 完成,相关 PR:#20209。
修复
datasets.fetch_kddcup99
在return_X_y=True
和as_frame=True
时返回 DataFrame。由 Thomas Fan 完成,相关 PR:#19011。API 变更 在 1.0 版本中弃用
datasets.load_boston
,并将在 1.2 版本中移除。文档中提供了加载类似数据集的替代代码片段。详情请参阅函数的文档字符串。由 Guillaume Lemaitre 完成,相关 PR:#20729。
sklearn.decomposition
#
增强 向
decomposition.KernelPCA
添加了一个新的近似求解器(随机 SVD,可通过eigen_solver='randomized'
使用)。当样本数量远大于所需组件数量时,这会显著加快计算速度。由 Sylvain Marié 完成,相关 PR:#12069。修复 修复了对布尔数据进行聚类时出现的多个不正确的数 据转换警告。由 Surya Prakash 完成,相关 PR:#19046。
修复 修复了
decomposition.dict_learning
(由decomposition.DictionaryLearning
使用)以确保输出的确定性。通过翻转用于初始化代码的 SVD 输出的符号来实现。由 Bruno Charron 完成,相关 PR:#18433。修复 修复了
decomposition.MiniBatchDictionaryLearning
、decomposition.MiniBatchSparsePCA
和decomposition.dict_learning_online
中字典更新不正确的错误。由 Jérémie du Boisberranger 完成,相关 PR:#19198。修复 修复了
decomposition.DictionaryLearning
、decomposition.SparsePCA
、decomposition.MiniBatchDictionaryLearning
、decomposition.MiniBatchSparsePCA
、decomposition.dict_learning
和decomposition.dict_learning_online
中的一个bug,该bug导致字典更新期间未使用的原子重启功能无法按预期工作。#19198 由 Jérémie du Boisberranger提交。API变更 在
decomposition.DictionaryLearning
、decomposition.MiniBatchDictionaryLearning
、decomposition.dict_learning
和decomposition.dict_learning_online
中,从1.2版本开始,transform_alpha
的默认值将等于alpha
,而不是1.0。#19159 由 Benoît Malézieux提交。API变更 重命名
decomposition.KernelPCA
中的变量名以提高可读性。lambdas_
和alphas_
分别重命名为eigenvalues_
和eigenvectors_
。lambdas_
和alphas_
已弃用,将在1.2版本中移除。#19908 由 Kei Ishikawa提交。API变更
decomposition.NMF
和decomposition.non_negative_factorization
的alpha
和regularization
参数已弃用,将在1.2版本中移除。请改用新的参数alpha_W
和alpha_H
。#20512 由 Jérémie du Boisberranger提交。
sklearn.dummy
#
API变更
dummy.DummyRegressor
的属性n_features_in_
已弃用,将在1.2版本中移除。#20960 由 Thomas Fan提交。
sklearn.ensemble
#
增强
HistGradientBoostingClassifier
和HistGradientBoostingRegressor
在决定OpenMP使用的线程数量时,会考虑cgroups配额。这避免了例如在docker容器中使用这些类时因过度订阅而导致的性能问题。#20477 由 Thomas Fan提交。增强
HistGradientBoostingClassifier
和HistGradientBoostingRegressor
不再是实验性的。它们现在被认为是稳定的,并遵循与所有其他估计器相同的弃用周期。#19799 由 Nicolas Hug提交。增强 改善了
ensemble.StackingClassifier
和ensemble.StackingRegressor
的HTML渲染。#19564 由 Thomas Fan提交。增强 为
ensemble.RandomForestRegressor
添加了泊松准则。#19836 由 Brian Sun提交。修复 由于scikit-learn没有提供支持这种目标类型的任何指标,因此不允许在
ensemble.RandomForestClassifier
和ensemble.ExtraTreesClassifier
中计算多类别多输出目标的包外(OOB)得分。此外,还进行了私有重构。#19162 by Guillaume Lemaitre.修复 提高
ensemble.AdaBoostClassifier
和ensemble.AdaBoostRegressor
中权重提升的数值精度,以避免下溢。#10096 by Fenil Suchak.修复 将
ensemble.RandomForestClassifier
,ensemble.RandomForestRegressor
中参数max_samples
的范围修正为(0.0, 1.0]
,其中max_samples=1.0
被解释为使用所有n_samples
进行bootstrap。#20159 by @murata-yu.修复 修复了
ensemble.AdaBoostClassifier
和ensemble.AdaBoostRegressor
中的一个bug,其中sample_weight
参数在fit
过程中被覆盖。#20534 by Guillaume Lemaitre.API变更 删除了
ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
中的tol=None
选项。请使用tol=0
以获得相同的结果。#19296 by Thomas Fan.
sklearn.feature_extraction
#
修复 修复了
feature_extraction.text.HashingVectorizer
中的一个bug,其中某些输入字符串会导致转换后的数据中出现负索引。#19035 by Liu Yu.修复 通过引发不支持的值类型的错误,修复了
feature_extraction.DictVectorizer
中的一个bug。#19520 by Jeff Zhao.修复 修复了
feature_extraction.image.img_to_graph
和feature_extraction.image.grid_to_graph
中的一个bug,其中单例连通分量未被正确处理,导致顶点索引错误。#18964 by Bertrand Thirion.修复 当存在具有大写字符的词汇表条目时,在
feature_extraction.text.CountVectorizer
中使用lowercase=True
时发出警告,以避免在结果特征向量中出现静默丢失。#19401 by Zito Relova
sklearn.feature_selection
#
功能
feature_selection.r_regression
计算特征与目标之间的皮尔逊R相关系数。#17169 by Dmytro Lituiev and Julien Jerphanion.增强
feature_selection.RFE.fit
现在接受额外传递给估计器fit
方法的估计器参数。 #20380 由 Iván Pulido, Felipe Bidu, Gil Rutter 和 Adrin Jalali 贡献。修复 修复了
isotonic.isotonic_regression
中的一个 bug,该 bug 会在fit
过程中覆盖用户传递的sample_weight
。 #20515 由 Carsten Allefeld 贡献。修复 修改了
feature_selection.SequentialFeatureSelector
以允许无监督建模,这样fit
签名就不需要进行任何y
验证,并允许y=None
。 #19568 由 Shyam Desai 贡献。API变更 当方差阈值小于零时,
feature_selection.VarianceThreshold
会引发错误。 #20207 由 Tomohiro Endo 贡献。API变更 弃用
feature_selection.RFECV
中的grid_scores_
,转而使用cv_results_
中的分数。grid_scores_
将在 1.2 版本中移除。 #20161 由 Shuhei Kayawari 和 @arka204 贡献。
sklearn.inspection
#
增强 在
inspection.permutation_importance
中添加了max_samples
参数。它可以抽取样本子集来计算置换重要性。这在评估大型数据集上的特征重要性时,有助于保持方法的可处理性。 #20431 由 Oliver Pfaffel 贡献。增强 在部分依赖图
inspection.plot_partial_dependence
和inspection.PartialDependenceDisplay.plot
中添加了 kwargs,以便分别格式化 ICE 和 PD 线。 #19428 由 Mehdi Hamoumi 贡献。修复 允许
inspection.permutation_importance
输入多个评分器。 #19411 由 Simona Maggio 贡献。API变更
inspection.PartialDependenceDisplay
公开了类方法:from_estimator
。inspection.plot_partial_dependence
已弃用,推荐使用此类方法,并在 1.2 版本中移除。 #20959 由 Thomas Fan 贡献。
sklearn.kernel_approximation
#
修复 修复了
kernel_approximation.Nystroem
中的一个 bug,该 bug 使属性component_indices_
与用于生成近似核的样本索引子集不对应。 #20554 由 Xiangyin Kong 贡献。
sklearn.linear_model
#
主要功能 添加了
linear_model.QuantileRegressor
,它实现了具有 L1 惩罚的线性分位数回归。 #9978 由 David Dale 和 Christian Lorentzen 贡献。新增功能 新的
linear_model.SGDOneClassSVM
提供了线性 One-Class SVM 的 SGD 实现。结合核近似技术,该实现近似于核化 One Class SVM 的解,同时受益于样本数量的线性复杂度。 #10027 由 Albert Thomas 完成。新增功能 为
linear_model.LassoCV
和linear_model.ElasticNetCV
添加了sample_weight
参数。 #16449 由 Christian Lorentzen 完成。新增功能 为
linear_model.Ridge
添加了新的求解器lbfgs
(使用solver="lbfgs"
可用)和positive
参数。当positive
设置为True
时,强制系数为正(仅lbfgs
支持)。 #20231 由 Toshihiro Nakae 完成。效率提升 当使用
solver='newton-cg'
和multi_class!='multinomial'
时,linear_model.LogisticRegression
的实现针对密集矩阵进行了优化。 #19571 由 Julien Jerphanion 完成。改进
linear_model.Lars
、linear_model.LassoLars
、linear_model.LarsCV
和linear_model.LassoLarsCV
的fit
方法现在会保留 numpy.float32 的数据类型。 #20155 由 Takeshi Oura 完成。改进 通过
precompute
参数验证传递给线性模型的用户提供的 Gram 矩阵。 #19004 由 Adam Midvidy 完成。错误修复
linear_model.ElasticNet.fit
现在不再就地修改sample_weight
。 #19055 由 Thomas Fan 完成。错误修复
linear_model.Lasso
和linear_model.ElasticNet
不再存在与目标函数不对应的dual_gap_
。 #19172 由 Mathurin Massias 完成。错误修复 当
normalize=True
时,线性模型中现在完全考虑了sample_weight
,用于特征中心化和特征缩放。 #19426 由 Alexandre Gramfort 和 Maria Telenczuk 完成。错误修复 残差等于
residual_threshold
的点现在被linear_model.RANSACRegressor
视为内点。当residual_threshold=0
时,这允许在某些数据集上完美拟合模型。 #19499 由 Gregory Strubel 完成。错误修复
linear_model.Ridge
的样本权重不变性已在 #19616 中修复,由 Oliver Grisel 和 Christian Lorentzen 完成。错误修复
linear_model.enet_path
和linear_model.lasso_path
中的字典params
应仅包含坐标下降求解器的参数。否则,将引发错误。 #19391 由 Shao Yang Hong 完成。API变更 在
linear_model.RANSACRegressor
中发出警告,从 1.2 版本开始,对于除linear_model.LinearRegression
之外的模型,需要显式设置min_samples
参数。 #19390 由 Shao Yang Hong 贡献。API变更:
linear_model.LinearRegression
的参数normalize
已弃用,并将从 1.2 版本中移除。弃用的原因:如果fit_intercept
设置为 False,则normalize
参数无效,因此被认为容易造成混淆。已弃用的LinearModel(normalize=True)
的行为可以通过使用包含LinearModel
(其中LinearModel
可以是LinearRegression
、Ridge
、RidgeClassifier
、RidgeCV
或RidgeClassifierCV
)的Pipeline
来重现:make_pipeline(StandardScaler(with_mean=False), LinearModel())
。LinearRegression
中的normalize
参数已在 #17743 中被 Maria Telenczuk 和 Alexandre Gramfort 弃用。Ridge
、RidgeClassifier
、RidgeCV
和RidgeClassifierCV
也一样,参见:#17772 由 Maria Telenczuk 和 Alexandre Gramfort 贡献。BayesianRidge
、ARDRegression
也一样,参见:#17746 由 Maria Telenczuk 贡献。Lasso
、LassoCV
、ElasticNet
、ElasticNetCV
、MultiTaskLasso
、MultiTaskLassoCV
、MultiTaskElasticNet
、MultiTaskElasticNetCV
也一样,参见:#17785 由 Maria Telenczuk 和 Alexandre Gramfort 贡献。API变更
OrthogonalMatchingPursuit
和OrthogonalMatchingPursuitCV
的normalize
参数在 1.2 版本中将默认为 False,并在 1.4 版本中移除。 #17750 由 Maria Telenczuk 和 Alexandre Gramfort 完成。Lars
LarsCV
LassoLars
LassoLarsCV
LassoLarsIC
同样如此, #17769 由 Maria Telenczuk 和 Alexandre Gramfort 完成。API变更 关键字验证已从以下符合 scikit-learn 规范的估计器的
__init__
和set_params
方法移动到fit
方法:SGDClassifier
,SGDRegressor
,SGDOneClassSVM
,PassiveAggressiveClassifier
和PassiveAggressiveRegressor
。 #20683 由 Guillaume Lemaitre 完成。
sklearn.manifold
#
增强 为
manifold.TSNE
中的learning_rate
实现了'auto'
启发式方法。它将在 1.2 版本中成为默认值。默认初始化将在 1.2 版本中更改为pca
。PCA 初始化的标准差将在 1.2 版本中缩放为 1e-4。 #19491 由 Dmitry Kobak 完成。修复 更改数值精度以防止
manifold.TSNE
在亲和矩阵计算期间出现下溢问题。 #19472 由 Dmitry Kobak 完成。修复
manifold.Isomap
现在使用scipy.sparse.csgraph.shortest_path
计算图的最短路径。它还在某些最小距离对上连接邻居图的断开连接的组件,而不是将所有无限距离更改为零。 #20531 由 Roman Yurchak 和 Tom Dupre la Tour 完成。修复 减小
manifold.spectral_embedding
中 lobpcg 调用的数值默认容差,以防止数值不稳定。 #21194 由 Andrew Knyazev 完成。
sklearn.metrics
#
特性
metrics.mean_pinball_loss
提供了用于分位数回归的宾球损失函数。 #19415 由 Xavier Dupré 和 Oliver Grisel 完成。特性
metrics.d2_tweedie_score
计算具有幂参数power
的 Tweedie 偏差的 D^2 回归得分。这是r2_score
的推广,可以解释为解释的 Tweedie 偏差的百分比。 #17036 由 Christian Lorentzen 完成。特性
metrics.mean_squared_log_error
现在支持squared=False
。 #20326 由 Uttam kumar 完成。效率提升 当标签为整数时,提高了
metrics.confusion_matrix
的速度。 #9843 由 Jon Crall 贡献。增强 修复了
metrics.hinge_loss
的一个错误,该错误在多分类情况下出现,当pred_decision
为一维数组,或者pred_decision
参数与labels
参数不一致时引发。 #19643 由 Pierre Attard 贡献。修复
metrics.ConfusionMatrixDisplay.plot
使用了正确的颜色映射最大值。 #19784 由 Thomas Fan 贡献。修复 样本权重
sample_weight
为零的样本不会影响metrics.det_curve
,metrics.precision_recall_curve
和metrics.roc_curve
的结果。 #18328 由 Albert Villanova del Moral 和 Alonso Silva Allende 贡献。修复 避免了在
metrics.adjusted_rand_score
中处理大量数据时出现的溢出问题。 #20312 由 Divyanshu Deoli 贡献。API变更
metrics.ConfusionMatrixDisplay
公开了两个类方法from_estimator
和from_predictions
,允许使用估计器或预测结果创建混淆矩阵图。metrics.plot_confusion_matrix
已弃用,建议使用这两个类方法代替,将在 1.2 版本中移除。 #18543 由 Guillaume Lemaitre 贡献。API变更
metrics.PrecisionRecallDisplay
公开了两个类方法from_estimator
和from_predictions
,允许使用估计器或预测结果创建精确召回曲线。metrics.plot_precision_recall_curve
已弃用,建议使用这两个类方法代替,将在 1.2 版本中移除。 #20552 由 Guillaume Lemaitre 贡献。API变更
metrics.DetCurveDisplay
公开了两个类方法from_estimator
和from_predictions
,允许使用估计器或预测结果创建检测错误率曲线图。metrics.plot_det_curve
已弃用,建议使用这两个类方法代替,将在 1.2 版本中移除。 #19278 由 Guillaume Lemaitre 贡献。
sklearn.mixture
#
修复 确保在
mixture.GaussianMixture
和mixture.BayesianGaussianMixture
发散的情况下,最佳参数被正确设置。 #20030 由 Tingshan Liu 和 Benjamin Pedigo 贡献。
sklearn.model_selection
#
新增功能 添加了
model_selection.StratifiedGroupKFold
,它结合了model_selection.StratifiedKFold
和model_selection.GroupKFold
,能够在保持每次拆分中类别分布的同时,确保每个组都在单个拆分中。 #18649 由 Leandro Hermida 和 Rodion Martynov 完成。改进 在交叉验证中,仅在主进程中针对每次拆分的拟合失败发出一次警告。 #20619 由 Loïc Estève 完成。
改进
model_selection.BaseShuffleSplit
基类现在是公开的。 #20056 由 @pabloduque0 完成。修复 避免在
model_selection.train_test_split
中过早溢出。 #20904 由 Tomasz Jakubek 完成。
sklearn.naive_bayes
#
修复 离散朴素贝叶斯分类器(
naive_bayes.BernoulliNB
,naive_bayes.CategoricalNB
,naive_bayes.ComplementNB
和naive_bayes.MultinomialNB
)的fit
和partial_fit
方法现在可以正确处理训练集中只有一个类别的简并情况。 #18925 由 David Poznik 完成。API变更 属性
sigma_
在naive_bayes.GaussianNB
中已被弃用,将在 1.2 版本中移除。请使用var_
代替。 #18842 由 Hong Shao Yang 完成。
sklearn.neighbors
#
改进
neighbors.KDTree
和neighbors.BallTree
的创建已得到改进,其最坏情况时间复杂度从 \(\mathcal{O}(n^2)\) 提高到 \(\mathcal{O}(n)\)。 #19473 由 jiefangxuanyan 和 Julien Jerphanion 完成。修复
neighbors.DistanceMetric
子类现在支持只读内存映射数据集。 #19883 由 Julien Jerphanion 完成。修复
neighbors.NearestNeighbors
,neighbors.KNeighborsClassifier
,neighbors.RadiusNeighborsClassifier
,neighbors.KNeighborsRegressor
和neighbors.RadiusNeighborsRegressor
不再在__init__
中验证weights
,而是在fit
中验证weights
。 #20072 由 Juan Carlos Alfaro Jiménez 完成。API变更
neighbors.RadiusNeighborsClassifier
的参数kwargs
已弃用,将在 1.2 版本中移除。 #20842 由 Juan Martín Loyola 完成。
sklearn.neural_network
#
修复
neural_network.MLPClassifier
和neural_network.MLPRegressor
现在可以正确支持从pickle文件中加载模型后继续训练。 #19631 由 Thomas Fan 完成。
sklearn.pipeline
#
API变更
pipeline.Pipeline
的predict_proba
和predict_log_proba
方法现在支持将预测关键字参数传递给最终估计器。 #19790 由 Christopher Flynn 完成。
sklearn.preprocessing
#
新功能 新的
preprocessing.SplineTransformer
是一个用于生成B样条的特征预处理工具,由样条的多项式degree
、节点数n_knots
和节点定位策略knots
参数化。 #18368 由 Christian Lorentzen 完成。preprocessing.SplineTransformer
还通过extrapolation
参数支持周期性样条。 #19483 由 Malte Londschien 完成。preprocessing.SplineTransformer
支持节点位置策略"quantile"
的样本权重。 #20526 由 Malte Londschien 完成。新功能
preprocessing.OrdinalEncoder
默认支持直接传递缺失值。 #19069 由 Thomas Fan 完成。新功能
preprocessing.OneHotEncoder
现在支持handle_unknown='ignore'
和丢弃类别。 #19041 由 Thomas Fan 完成。新功能
preprocessing.PolynomialFeatures
现在支持将元组传递给degree
,即degree=(min_degree, max_degree)
。 #20250 由 Christian Lorentzen 完成。效率提升
preprocessing.StandardScaler
速度更快,内存效率更高。 #20652 由 Thomas Fan 完成。效率提升 将
preprocessing.KBinsDiscretizer
中cluster.KMeans
的algorithm
参数从auto
改为full
。 #19934 由 Gleb Levitskiy 完成。效率提升
preprocessing.PolynomialFeatures
的fit
方法实现现在速度更快。在大规模稀疏输入上尤其明显。 #19734 由 Fred Robinson 完成。修复 当输入数据为一维时,
preprocessing.StandardScaler.inverse_transform
方法现在会引发错误。 #19752 由 Zhehao Liu 完成。修复
preprocessing.scale
,preprocessing.StandardScaler
和类似的缩放器检测近乎恒定的特征,以避免将其缩放至非常大的值。此问题尤其在对具有常量列和样本权重的稀疏数据使用缩放器时发生,在这种情况下,通常会禁用居中。#19527 由 Oliver Grisel 和 Maria Telenczuk 完成,以及 #19788 由 Jérémie du Boisberranger 完成。修复
preprocessing.StandardScaler.inverse_transform
现在可以正确处理整数数据类型。#19356 由 @makoeppel 完成。修复
preprocessing.OrdinalEncoder.inverse_transform
不支持稀疏矩阵,并抛出相应的错误消息。#19879 由 Guillaume Lemaitre 完成。修复 当
handle_unknown='ignore'
且未知类别被提供给fit
时,preprocessing.OrdinalEncoder
的fit
方法不会抛出错误。#19906 由 Zhehao Liu 完成。修复 修复了
preprocessing.OrdinalEncoder
中的一个回归问题,其中大型 Python 数值由于转换为 C 类型(np.float64
或np.int64
)时发生溢出而导致错误。#20727 由 Guillaume Lemaitre 完成。修复
preprocessing.FunctionTransformer
没有根据inverse_transform
的输入设置n_features_in_
。#20961 由 Thomas Fan 完成。API 变更
preprocessing.PolynomialFeatures
的n_input_features_
属性已弃用,推荐使用n_features_in_
,并将在 1.2 版本中移除。#20240 由 Jérémie du Boisberranger 完成。
sklearn.svm
#
API 变更
svm.OneClassSVM.fit
的参数**params
已弃用,并将在 1.2 版本中移除。#20843 由 Juan Martín Loyola 完成。
sklearn.tree
#
增强 在
tree.export_graphviz
中添加fontname
参数,用于处理非英文字符。#18959 由 Zero 和 wstates 完成。修复 提高了
tree.plot_tree
与高 DPI 屏幕的兼容性。#20023 由 Thomas Fan 完成。修复 修复了
tree.DecisionTreeClassifier
,tree.DecisionTreeRegressor
中的一个错误,由于舍入误差处理不正确,导致节点可能被分割,而实际上不应该分割。#19336 由 Jérémie du Boisberranger 完成。API变更
tree.DecisionTreeClassifier
、tree.DecisionTreeRegressor
、tree.ExtraTreeClassifier
和tree.ExtraTreeRegressor
的n_features_
属性已弃用,建议使用n_features_in_
属性替代,该属性将在 1.2 版本中移除。 #20272 由 Jérémie du Boisberranger 完成。
sklearn.utils
#
增强
randomized_svd
中random_state=0
的默认值已弃用。从 1.2 版本开始,random_state
的默认值将设置为None
。 #19459 由 Cindy Bezuidenhout 和 Clifford Akai-Nettey 完成。增强 添加了辅助装饰器
utils.metaestimators.available_if
,以更易读的方式为元估计器提供灵活性,使其方法可根据状态启用或禁用。 #19948 由 Joel Nothman 完成。增强
utils.validation.check_is_fitted
现在使用__sklearn_is_fitted__
(如果可用),而不是检查以下划线结尾的属性。这也使得pipeline.Pipeline
和preprocessing.FunctionTransformer
通过check_is_fitted(estimator)
检查。 #20657 由 Adrin Jalali 完成。修复 修复了
utils.sparsefuncs.mean_variance_axis
中的一个bug,当真实方差恰好为零时,计算出的方差精度非常差。 #19766 由 Jérémie du Boisberranger 完成。修复 使用
utils.deprecated
装饰的属性的文档字符串现在已正确包装。 #20385 由 Thomas Fan 完成。修复
utils.stats._weighted_percentile
现在正确地忽略了对于percentile=0
,权重为零且小于具有正权重的最小观测值的观测值。受影响的类包括quantile=0
的dummy.DummyRegressor
以及alpha=0
的ensemble.HuberLossFunction
和ensemble.HuberLossFunction
。 #20528 由 Malte Londschien 完成。修复 当提供整数索引时,
utils._safe_indexing
会显式地创建数据框的副本,避免引发 Pandas 的警告。此警告之前在重采样实用程序和使用这些实用程序的函数(例如model_selection.train_test_split
、model_selection.cross_validate
、model_selection.cross_val_score
、model_selection.cross_val_predict
)中引发。 #20673 由 Joris Van den Bossche 完成。修复 修复了
utils.is_scalar_nan
中的回归问题,其中大型 Python 数字由于 C 类型(np.float64
或np.int64
)溢出而引发错误。 #20727 由 Guillaume Lemaitre 完成。修复
check_array
中对np.matrix
的支持已在 1.0 版本中弃用,并在 1.2 版本中将引发TypeError
。 #20165 由 Thomas Fan 完成。API变更
utils._testing.assert_warns
和utils._testing.assert_warns_message
在1.0版本中已弃用,将在1.2版本中移除。请改用pytest.warns
上下文管理器。请注意,这些函数未在文档中记录,并且不是公共API的一部分。 #20521 由 Olivier Grisel提交。API变更 修复了
utils.graph.graph_shortest_path
中的几个错误,该函数现已弃用。请改用scipy.sparse.csgraph.shortest_path
。 #20531 由 Tom Dupre la Tour提交。
代码和文档贡献者
感谢自0.24版本以来为项目维护和改进做出贡献的每一个人,包括:
Abdulelah S. Al Mesfer, Abhinav Gupta, Adam J. Stewart, Adam Li, Adam Midvidy, Adrian Garcia Badaracco, Adrian Sadłocha, Adrin Jalali, Agamemnon Krasoulis, Alberto Rubiales, Albert Thomas, Albert Villanova del Moral, Alek Lefebvre, Alessia Marcolini, Alexandr Fonari, Alihan Zihna, Aline Ribeiro de Almeida, Amanda, Amanda Dsouza, Amol Deshmukh, Ana Pessoa, Anavelyz, Andreas Mueller, Andrew Delong, Ashish, Ashvith Shetty, Atsushi Nukariya, Aurélien Geron, Avi Gupta, Ayush Singh, baam, BaptBillard, Benjamin Pedigo, Bertrand Thirion, Bharat Raghunathan, bmalezieux, Brian Rice, Brian Sun, Bruno Charron, Bryan Chen, bumblebee, caherrera-meli, Carsten Allefeld, CeeThinwa, Chiara Marmo, chrissobel, Christian Lorentzen, Christopher Yeh, Chuliang Xiao, Clément Fauchereau, cliffordEmmanuel, Conner Shen, Connor Tann, David Dale, David Katz, David Poznik, Dimitri Papadopoulos Orfanos, Divyanshu Deoli, dmallia17, Dmitry Kobak, DS_anas, Eduardo Jardim, EdwinWenink, EL-ATEIF Sara, Eleni Markou, EricEllwanger, Eric Fiegel, Erich Schubert, Ezri-Mudde, Fatos Morina, Felipe Rodrigues, Felix Hafner, Fenil Suchak, flyingdutchman23, Flynn, Fortune Uwha, Francois Berenger, Frankie Robertson, Frans Larsson, Frederick Robinson, frellwan, Gabriel S Vicente, Gael Varoquaux, genvalen, Geoffrey Thomas, geroldcsendes, Gleb Levitskiy, Glen, Glòria Macià Muñoz, gregorystrubel, groceryheist, Guillaume Lemaitre, guiweber, Haidar Almubarak, Hans Moritz Günther, Haoyin Xu, Harris Mirza, Harry Wei, Harutaka Kawawari, Hassan Alsawadi, Helder Geovane Gomes de Lima, Hugo DEFOIS, Igor Ilic, Ikko Ashimine, Isaack Mungui, Ishaan Bhat, Ishan Mishra, Iván Pulido, iwhalvic, J Alexander, Jack Liu, James Alan Preiss, James Budarz, James Lamb, Jannik, Jeff Zhao, Jennifer Maldonado, Jérémie du Boisberranger, Jesse Lima, Jianzhu Guo, jnboehm, Joel Nothman, JohanWork, John Paton, Jonathan Schneider, Jon Crall, Jon Haitz Legarreta Gorroño, Joris Van den Bossche, José Manuel Nápoles Duarte, Juan Carlos Alfaro Jiménez, Juan Martin Loyola, Julien Jerphanion, Julio Batista Silva, julyrashchenko, JVM, Kadatatlu Kishore, Karen Palacio, Kei Ishikawa, kmatt10, kobaski, Kot271828, Kunj, KurumeYuta, kxytim, lacrosse91, LalliAcqua, Laveen Bagai, Leonardo Rocco, Leonardo Uieda, Leopoldo Corona, Loic Esteve, LSturtew, Luca Bittarello, Luccas Quadros, Lucy Jiménez, Lucy Liu, ly648499246, Mabu Manaileng, Manimaran, makoeppel, Marco Gorelli, Maren Westermann, Mariangela, Maria Telenczuk, marielaraj, Martin Hirzel, Mateo Noreña, Mathieu Blondel, Mathis Batoul, mathurinm, Matthew Calcote, Maxime Prieur, Maxwell, Mehdi Hamoumi, Mehmet Ali Özer, Miao Cai, Michal Karbownik, michalkrawczyk, Mitzi, mlondschien, Mohamed Haseeb, Mohamed Khoualed, Muhammad Jarir Kanji, murata-yu, Nadim Kawwa, Nanshan Li, naozin555, Nate Parsons, Neal Fultz, Nic Annau, Nicolas Hug, Nicolas Miller, Nico Stefani, Nigel Bosch, Nikita Titov, Nodar Okroshiashvili, Norbert Preining, novaya, Ogbonna Chibuike Stephen, OGordon100, Oliver Pfaffel, Olivier Grisel, Oras Phongpanangam, Pablo Duque, Pablo Ibieta-Jimenez, Patric Lacouth, Paulo S. Costa, Paweł Olszewski, Peter Dye, PierreAttard, Pierre-Yves Le Borgne, PranayAnchuri, Prince Canuma, putschblos, qdeffense, RamyaNP, ranjanikrishnan, Ray Bell, Rene Jean Corneille, Reshama Shaikh, ricardojnf, RichardScottOZ, Rodion Martynov, Rohan Paul, Roman Lutz, Roman Yurchak, Samuel Brice, Sandy Khosasi, Sean Benhur J, Sebastian Flores, Sebastian Pölsterl, Shao Yang Hong, shinehide, shinnar, shivamgargsya, Shooter23, Shuhei Kayawari, Shyam Desai, simonamaggio, Sina Tootoonian, solosilence, Steven Kolawole, Steve Stagg, Surya Prakash, swpease, Sylvain Marié, Takeshi Oura, Terence Honles, TFiFiE, Thomas A Caswell, Thomas J. Fan, Tim Gates, TimotheeMathieu, Timothy Wolodzko, Tim Vink, t-jakubek, t-kusanagi, tliu68, Tobias Uhmann, tom1092, Tomás Moreyra, Tomás Ronald Hughes, Tom Dupré la Tour, Tommaso Di Noto, Tomohiro Endo, TONY GEORGE, Toshihiro NAKAE, tsuga, Uttam kumar, vadim-ushtanit, Vangelis Gkiastas, Venkatachalam N, Vilém Zouhar, Vinicius Rios Fuck, Vlasovets, waijean, Whidou, xavier dupré, xiaoyuchai, Yasmeen Alsaedy, yoch, Yosuke KOBAYASHI, Yu Feng, YusukeNagasaka, yzhenman, Zero, ZeyuSun, ZhaoweiWang, Zito, Zito Relova