1. 2版#
有关该版本主要亮点的简短描述,请参阅 sphx_glr_auto_examples_release_highlights_plot_release_highlights_1_2_0.py .
换象传说
Major Feature 一些你以前做不到的大事。
Feature 一些你以前做不到的事情。
Efficiency 现有功能现在可能不需要那么多的计算或内存。
Enhancement 一个杂七杂八的小改进。
Fix 以前没有按照记录或合理预期发挥作用的事情现在应该起作用了。
API Change 您需要更改您的代码才能在将来产生相同的效果;或者将来将删除某个功能。
版本1.2.2#
March 2023
Changelog#
sklearn.base
#
Fix 当
set_output(transform="pandas")
,base.TransformerMixin
maintains the index if the transform output is already a DataFrame. #25747 by Thomas Fan .
sklearn.calibration
#
Fix 使用时会引发弃用警告
base_estimator__
用于设置中使用的估计器参数的前置calibration.CalibratedClassifierCV
. #25477 通过 Tim Head .
sklearn.cluster
#
Fix 修复了中的一个错误
cluster.BisectingKMeans
,防止fit
在运行多个初始化时,避免因标签排列而随机失败。 #25563 通过 Jérémie du Boisberranger .
sklearn.compose
#
Fix 修复了错误
compose.ColumnTransformer
现在支持空选择列set_output(transform="pandas")
. #25570 by Thomas Fan .
sklearn.ensemble
#
Fix 使用时会引发弃用警告
base_estimator__
用于设置中使用的估计器参数的前置ensemble.AdaBoostClassifier
,ensemble.AdaBoostRegressor
,ensemble.BaggingClassifier
,而且ensemble.BaggingRegressor
. #25477 通过 Tim Head .
sklearn.feature_selection
#
Fix 修复了负值的回归
tol
不会再被接受feature_selection.SequentialFeatureSelector
. #25664 通过 Jérémie du Boisberranger .
sklearn.inspection
#
Fix 在中提出信息更多的错误消息
inspection.partial_dependence
处理无法排序的混合数据类型类别时numpy.unique
.这个问题通常发生在类别str
并且缺失值使用np.nan
. #25774 通过 Guillaume Lemaitre .
sklearn.isotonic
#
Fix 修复了错误
isotonic.IsotonicRegression
哪里isotonic.IsotonicRegression.predict
当全局配置设置时,会返回pandas DataFrametransform_output="pandas"
. #25500 通过 Guillaume Lemaitre .
sklearn.preprocessing
#
Fix
preprocessing.OneHotEncoder.drop_idx_
now properly references the dropped category in thecategories_
attribute when there are infrequent categories. #25589 by Thomas Fan .Fix
preprocessing.OrdinalEncoder
现在正确支持encoded_missing_value
orunknown_value
set to a categories' cardinality when there is missing values in the training data. #25704 by Thomas Fan .
sklearn.tree
#
Fix 修复了回归
tree.DecisionTreeClassifier
,tree.DecisionTreeRegressor
,tree.ExtraTreeClassifier
和tree.ExtraTreeRegressor
当1.2版中不再引发错误时min_sample_split=1
. #25744 通过 Jérémie du Boisberranger .
sklearn.utils
#
Fix 修复了错误
utils.check_array
它现在可以使用Array API规范正确执行非有限验证。 #25619 通过 Thomas Fan .Fix
utils.multiclass.type_of_target
can identify pandas nullable data types as classification targets. #25638 by Thomas Fan.
版本1.2.1#
January 2023
更改型号#
以下估计量和函数在与相同的数据和参数进行匹配时,可能会产生与之前版本不同的模型。这种情况通常是由于建模逻辑(错误修复或增强)或随机抽样过程的变化而发生的。
Fix 安装的组件
decomposition.MiniBatchDictionaryLearning
可能会有所不同。现在,足够统计数据的在线更新正确地考虑了批次的大小。 #25354 通过 Jérémie du Boisberranger .Fix 的
categories_
属性preprocessing.OneHotEncoder
现在总是包含一个数组object
当使用预定义的字符串类别时。编码为字节的预定义类别将不再适用X
编码为字符串。 #25174 通过 Tim Head .
影响所有模块的更改#
Fix 使用邻居搜索方法在内部消除估计器的虚假警告。 #25129 通过 Julien Jerphanion .
Fix 修复了估计器中忽略当前配置的错误
n_jobs > 1
.该错误是因辅助线程调度的任务而触发的joblib
作为sklearn.get_config
用于访问空线程本地配置,而不是从线程中可见的配置,joblib.Parallel
首先被称为。 #25363 通过 Guillaume Lemaitre .
Changelog#
sklearn.base
#
Fix 修复回归
BaseEstimator.__getstate__
这将防止某些估计器在使用Python 3.11时被腌制。 #25188 通过 Benjamin Bossan .Fix 继承自
base.TransformerMixin
只会包裹transform
method if the class definestransform
itself. #25295 by Thomas Fan .
sklearn.datasets
#
Fix 修复了
datasets.fetch_openml
当收件箱后面引入引导空间时,liac-arff和pandas解析器之间存在。ARFF规范要求忽略领先空间。 #25312 通过 Guillaume Lemaitre .Fix 修复了错误
datasets.fetch_openml
当使用parser="pandas"
其中单引号和反斜线换码字符没有得到正确处理。 #25511 通过 Guillaume Lemaitre .
sklearn.decomposition
#
Fix 修复了中的一个错误
decomposition.MiniBatchDictionaryLearning
通话时足够统计数据的在线更新不正确partial_fit
不同规模的批次。 #25354 通过 Jérémie du Boisberranger .Fix
decomposition.DictionaryLearning
更好地支持只读NumPy数组。特别是,当与坐标下降算法一起使用时,它更好地支持内存映射的大型数据集(即当fit_algorithm='cd'
). #25172 通过 Julien Jerphanion .
sklearn.ensemble
#
sklearn.feature_extraction
#
Fix
feature_extraction.FeatureHasher
当输入是字符串列表时,引发信息性错误。 #25094 通过 Thomas Fan .
sklearn.linear_model
#
Fix 修复回归
linear_model.SGDClassifier
和linear_model.SGDRegressor
这使得它们无法与verbose
参数设置为大于0的值。 #25250 通过 Jérémie Du Boisberranger .
sklearn.manifold
#
Fix
manifold.TSNE
当输出类型设置为pandas时,现在可以正常工作 #25370 通过 Tim Head .
sklearn.model_selection
#
Fix
model_selection.cross_validate
对于多指标评分,如果一些不及格的评分者,非不及格的评分者现在返回正确的分数,而不是error_score
values. #23101 by András Simon and Thomas Fan .
sklearn.neural_network
#
Fix
neural_network.MLPClassifier
andneural_network.MLPRegressor
no longer raise warnings when fitting data with feature names. #24873 by Tim Head.Fix 改进了中的错误消息
neural_network.MLPClassifier
和neural_network.MLPRegressor
,当early_stopping=True
andpartial_fit
is called. #25694 by Thomas Fan .
sklearn.preprocessing
#
Fix
preprocessing.FunctionTransformer.inverse_transform
正确地支持数据帧都是数字,check_inverse=True
. #25274 by Thomas Fan .Fix
preprocessing.SplineTransformer.get_feature_names_out
当情况下,正确返回要素名称extrapolations="periodic"
. #25296 by Thomas Fan .
sklearn.tree
#
sklearn.utils
#
Fix 恢复
utils.check_array
pandas的行为布尔类型的系列。类型将被保留,而不是转换为float64.
#25147 通过 Tim Head .API Change
utils.fixes.delayed
在1.2.1中已废弃,并将在1.5中删除。相反,进口utils.parallel.delayed
并与新推出的结合使用utils.parallel.Parallel
以确保scikit-learn配置正确地传播给工作人员。 #25363 通过 Guillaume Lemaitre .
版本1.2.0#
December 2022
更改型号#
以下估计量和函数在与相同的数据和参数进行匹配时,可能会产生与之前版本不同的模型。这种情况通常是由于建模逻辑(错误修复或增强)或随机抽样过程的变化而发生的。
Enhancement 默认
eigen_tol
为cluster.SpectralClustering
,manifold.SpectralEmbedding
,cluster.spectral_clustering
,而且manifold.spectral_embedding
现在None
当使用'amg'
或'lobpcg'
解决者。此更改提高了求解器的数值稳定性,但可能会导致不同的模型。Enhancement
linear_model.GammaRegressor
,linear_model.PoissonRegressor
和linear_model.TweedieRegressor
可以使用lbgs求解器达到更高的精度,特别是在tol
被设置为很小的值。此外,verbose
现在已正确传播到L-BFSG-B。 #23619 通过 Christian Lorentzen .Enhancement 的默认值
eps
metrics.log_loss
已经从1e-15
到"auto"
."auto"
集eps
到np.finfo(y_pred.dtype).eps
. #24354 通过 Safiuddin Khaja 和 gsiisg .Fix 签字
components_
确定性的decomposition.SparsePCA
. #23935 通过 Guillaume Lemaitre .Fix 的
components_
signs indecomposition.FastICA
might differ. It is now consistent and deterministic with all SVD solvers. #22527 by Meekail Zain and Thomas Fan .Fix 提前停止的条件现已改变
linear_model._sgd_fast._plain_sgd
使用的linear_model.SGDRegressor
和linear_model.SGDClassifier
.旧条件没有消除训练集和验证集之间的歧义,并且具有过度扩展误差容限的效果。这已在 #23798 通过 Harsh Agrawal .Fix 为
model_selection.GridSearchCV
和model_selection.RandomizedSearchCV
对应于NAN分数的等级都将被设置为最大可能等级。 #24543 通过 Guillaume Lemaitre .API Change 的默认值
tol
改为1e-3
到1e-4
为linear_model.ridge_regression
,linear_model.Ridge
和linear_model.RidgeClassifier
. #24465 通过 Christian Lorentzen .
影响所有模块的更改#
Major Feature 的
set_output
API has been adopted by all transformers. Meta-estimators that contain transformers such aspipeline.Pipeline
orcompose.ColumnTransformer
also define aset_output
. For details, see SLEP018 . #23734 和 #24699 通过 Thomas Fan .Efficiency 用于减少密集float 32数据集成对距离的低级例程已被重构。以下函数和估计器现在受益于硬件可扩展性和加速方面的改进性能:
例如
sklearn.neighbors.NearestNeighbors.kneighbors
和sklearn.neighbors.NearestNeighbors.radius_neighbors
比以前笔记本电脑上的速度分别提高20倍和5倍。此外,这两种算法的实现现在适合具有多核的机器,使它们可用于由数百万个样本组成的数据集。
#23865 通过 Julien Jerphanion .
Enhancement 通过利用NumPy的MMO优化基元,所有估计器中的精确度检查(NaN和无限值的检测)现在对于float 32数据来说效率明显更高。 #23446 通过 Meekail Zain
Enhancement 现在,通过利用更有效的第一次停止第二遍算法,所有估计器中的绝对性检查(NaN和无限值的检测)速度更快。 #23197 通过 Meekail Zain
Enhancement 已添加对所有距离指标以及float 32和float 64数据集的密集和稀疏数据集对组合的支持,或已发现以下估计器的性能有所提高:
#23604 和 #23585 通过 Julien Jerphanion , Olivier Grisel ,而且 Thomas Fan , #24556 通过 Vincent Maladière .
Fix 系统地检查文档代码示例中使用的数据集tarballs的sha 256摘要。 #24617 通过 Olivier Grisel 和 Thomas Fan .感谢 Sim4n6 为了报告。
Changelog#
sklearn.base
#
Enhancement 介绍
base.ClassNamePrefixFeaturesOutMixin
和base.ClassNamePrefixFeaturesOutMixin
定义的混音 get_feature_names_out 用于常见的Transformer用例。 #24688 通过 Thomas Fan .
sklearn.calibration
#
API Change 重命名
base_estimator
到estimator
在calibration.CalibratedClassifierCV
以提高可读性和一致性。参数base_estimator
已被弃用并将在1.4中删除。 #22054 通过 Kevin Roice .
sklearn.cluster
#
Efficiency
cluster.KMeans
与algorithm="lloyd"
现在速度更快,占用内存更少。 #24264 通过 Vincent Maladiere .Enhancement 的
predict
和fit_predict
方法cluster.OPTICS
现在接受输入数据的稀疏数据类型。 #14736 通过 Hunt Zhan , #20802 通过 Brandon Pokorny ,而且 #22965 通过 Meekail Zain .Enhancement
cluster.Birch
现在保留d类型numpy.float32
输入。 #22968 通过Meekail Zain <micky774>
.Enhancement
cluster.KMeans
和cluster.MiniBatchKMeans
现在接受新的'auto'
选择n_init
使用时,将随机初始化的数量更改为1init='k-means++'
为了效率。这开始不建议使用的默认值n_init
在这两个类别中,并且两者的默认设置都将更改为n_init='auto'
在1.4。 #23038 通过 Meekail Zain .Enhancement
cluster.SpectralClustering
和cluster.spectral_clustering
现在传播eigen_tol
所有选择的参数eigen_solver
.包括一个新选项eigen_tol="auto"
并开始弃用以更改默认值eigen_tol=0
到eigen_tol="auto"
在1.3版本中。 #23210 通过 Meekail Zain .Fix
cluster.KMeans
现在在预测时支持只读属性。 #24258 通过 Thomas FanAPI Change 的
affinity
属性现已被弃用cluster.AgglomerativeClustering
并将更名为metric
在v1.4中。 #23470 通过 Meekail Zain .
sklearn.datasets
#
Enhancement Introduce the new parameter
parser
indatasets.fetch_openml
.parser="pandas"
allows to use the very CPU and memory efficientpandas.read_csv
parser to load dense ARFF formatted dataset files. It is possible to passparser="liac-arff"
to use the old LIAC parser. Whenparser="auto"
, dense datasets are loaded with "pandas" and sparse datasets are loaded with "liac-arff". Currently,parser="liac-arff"
by default and will change toparser="auto"
in version 1.4 #21938 by Guillaume Lemaitre.Enhancement
datasets.dump_svmlight_file
现在通过Cython实现加速,提供2- 4倍的加速。 #23127 通过 Meekail ZainEnhancement 类似路径的对象(例如使用pathlib创建的对象)现在可以作为中的路径
datasets.load_svmlight_file
和datasets.load_svmlight_files
. #19075 通过 Carlos Ramos Carreño .Fix 确保
datasets.fetch_lfw_people
和datasets.fetch_lfw_pairs
基于内部裁剪图像slice_
参数. #24951 通过 Guillaume Lemaitre .
sklearn.decomposition
#
Efficiency
decomposition.FastICA.fit
已根据其内存占用和运行时间进行了优化。 #22268 通过 MohamedBsh .Enhancement
decomposition.SparsePCA
和decomposition.MiniBatchSparsePCA
现在实施一个inverse_transform
功能 #23905 通过 Guillaume Lemaitre .Enhancement
decomposition.FastICA
现在允许用户选择如何通过新whiten_solver
parameter, which supportssvd
andeigh
.whiten_solver
defaults tosvd
althougheigh
may be faster and more memory efficient in cases wherenum_features > num_samples
. #11860 by Pierre Ablin, #22527 by Meekail Zain and Thomas Fan .Enhancement
decomposition.LatentDirichletAllocation
现在保留d类型numpy.float32
输入. #24528 通过 Takeshi Oura 和 Jérémie du Boisberranger .Fix 签字
components_
确定性的decomposition.SparsePCA
. #23935 通过 Guillaume Lemaitre .API Change 的
n_iter
参数decomposition.MiniBatchSparsePCA
已废弃并被参数取代max_iter
,tol
,而且max_no_improvement
以符合decomposition.MiniBatchDictionaryLearning
.n_iter
将在1.3版本中删除。 #23726 通过 Guillaume Lemaitre .API Change The
n_features_
attribute ofdecomposition.PCA
is deprecated in favor ofn_features_in_
and will be removed in 1.4. #24421 by Kshitij Mathur.
sklearn.discriminant_analysis
#
Major Feature
discriminant_analysis.LinearDiscriminantAnalysis
现在支持 Array API 为solver="svd"
. Array API support is considered experimental and might evolve without being subjected to our usual rolling deprecation cycle policy. See 数组API支持(实验性) for more details. #22554 by Thomas Fan .Fix 仅在
fit
and not in_ _init__`用于 :class:`discriminant_analysis.QuadraticDiscriminantAnalysis
. #24218 通过 Stefanie Molin .
sklearn.ensemble
#
Major Feature
ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
现在通过论点支持交互约束interaction_cst
他们的建造者。 #21020 通过 Christian Lorentzen .使用交互约束还可以更快地适应。 #24856 通过 Christian Lorentzen .Feature 添加
class_weight
toensemble.HistGradientBoostingClassifier
. #22014 by Thomas Fan .Efficiency 提高的运行时性能
ensemble.IsolationForest
通过避免数据副本。 #23252 通过 Zhehao Liu .Enhancement
ensemble.StackingClassifier
现在接受任何类型的基本估计量。 #24538 通过 Guillem G Subies .Enhancement 使其有可能通过
categorical_features
参数ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
作为功能名称。 #24889 通过 Olivier Grisel .Enhancement
ensemble.StackingClassifier
现在支持多标签指标目标 #24146 通过 Nicolas Peretti , Nestor Navarro , Nati Tomattis ,而且 Vincent Maladiere .Enhancement
ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
现在接受他们的monotonic_cst
除了之前支持的类数组格式之外,还将作为字典传递的参数。此类词典以特征名称作为关键字,并且-1
,0
,1
作为值来指定每个特征的单调性约束。 #24855 通过 Olivier Grisel .Enhancement 的交互约束
ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
现在可以指定为两种常见情况的字符串:“no_interactions”和“pairwise”interactions。 #24849 通过 Tim Head .Fix 修复了问题
ensemble.AdaBoostClassifier
当采用非常小的样本权重时,输出NaN的特征重要性。 #20415 通过 Zhehao Liu .Fix
ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
预测编码为负值的类别时不再出错,而是将其视为“缺失类别”的成员。 #24283 通过 Thomas Fan .Fix
ensemble.HistGradientBoostingClassifier
和ensemble.HistGradientBoostingRegressor
,verbose>=1
,打印有关计算矩形图和寻找最佳分割的详细计时信息。在根节点上花费的时间以前丢失,现在包含在打印信息中。 #24894 通过 Christian Lorentzen .API Change 初始化构造函数参数
base_estimator
到estimator
在以下课程中:ensemble.BaggingClassifier
,ensemble.BaggingRegressor
,ensemble.AdaBoostClassifier
,ensemble.AdaBoostRegressor
.base_estimator
在1.2中已废弃,并将在1.4中删除。 #23819 通过 Adrian Trujillo 和 Edoardo Abati .API Change 指定适合的属性
base_estimator_
到estimator_
在以下课程中:ensemble.BaggingClassifier
,ensemble.BaggingRegressor
,ensemble.AdaBoostClassifier
,ensemble.AdaBoostRegressor
,ensemble.RandomForestClassifier
,ensemble.RandomForestRegressor
,ensemble.ExtraTreesClassifier
,ensemble.ExtraTreesRegressor
,ensemble.RandomTreesEmbedding
,ensemble.IsolationForest
.base_estimator_
在1.2中已废弃,并将在1.4中删除。 #23819 通过 Adrian Trujillo 和 Edoardo Abati .
sklearn.feature_selection
#
Fix 修复中的错误
feature_selection.mutual_info_regression
和feature_selection.mutual_info_classif
,其中连续的特征X
如果目标y
是连续的或离散的。 #24747 通过 Guillaume Lemaitre
sklearn.gaussian_process
#
Fix 修复
gaussian_process.kernels.Matern
梯度计算nu=0.5
适用于PyPy(可能还有其他非CPython解释器)。 #24245 通过 Loïc Estève .Fix The
fit
method ofgaussian_process.GaussianProcessRegressor
will not modify the input X in case a custom kernel is used, with adiag
method that returns part of the input X. #24405 by Omar Salman.
sklearn.impute
#
Enhancement 添加
keep_empty_features
参数以impute.SimpleImputer
,impute.KNNImputer
和impute.IterativeImputer
,防止在转换时删除仅包含缺失值的要素。 #16695 通过 Vitor Santa Rosa .
sklearn.inspection
#
Major Feature 扩展
inspection.partial_dependence
和inspection.PartialDependenceDisplay
来处理类别特征。 #18298 通过 Madhura Jayaratne 和 Guillaume Lemaitre .Fix
inspection.DecisionBoundaryDisplay
现在,如果输入数据不是二维的,就会引发错误。 #25077 通过 Arturo Amor .
sklearn.kernel_approximation
#
Enhancement
kernel_approximation.RBFSampler
现在保留d类型numpy.float32
输入。 #24317 通过Tim Head <betatim>
.Enhancement
kernel_approximation.SkewedChi2Sampler
现在保留d类型numpy.float32
输入。 #24350 通过 Rahil Parikh .Enhancement
kernel_approximation.RBFSampler
现在接受'scale'
参数选项gamma
. #24755 通过 Hleb Levitski .
sklearn.linear_model
#
Enhancement
linear_model.LogisticRegression
,linear_model.LogisticRegressionCV
,linear_model.GammaRegressor
,linear_model.PoissonRegressor
和linear_model.TweedieRegressor
有了新的求解器solver="newton-cholesky"
.这是一个二阶(牛顿)优化例程,使用黑森矩阵的Cholesky分解。当n_samples >> n_features
,"newton-cholesky"
已观察到求解器比"lbfgs"
解决具有一些罕见分类水平的单一热编码分类变量的问题。 #24637 和 #24767 通过 Christian Lorentzen .Enhancement
linear_model.GammaRegressor
,linear_model.PoissonRegressor
和linear_model.TweedieRegressor
可以使用lbgs求解器达到更高的精度,特别是在tol
被设置为很小的值。此外,verbose
现在已正确传播到L-BFSG-B。 #23619 通过 Christian Lorentzen .Fix
linear_model.SGDClassifier
和linear_model.SGDRegressor
将在所有验证样本的样本权重为零时引发错误。 #23275 通过Zhehao Liu <MaxwellLZH>
.Fix
linear_model.SGDOneClassSVM
不再在构造函数中执行参数验证。所有验证现在都在中处理fit()
和partial_fit()
. #24433 通过 Yogendrasingh , Arisa Y. 和 Tim Head .Fix 在中启用提前停止时修复平均损失计算
linear_model.SGDRegressor
和linear_model.SGDClassifier
.也相应更新了提前停止的条件。 #23798 通过 Harsh Agrawal .API Change 的默认值
solver
参数linear_model.QuantileRegressor
将从"interior-point"
到"highs"
在1.4版本中。 #23637 通过 Guillaume Lemaitre .API Change 字符串选项
"none"
已被废弃penalty
论点linear_model.LogisticRegression
,并将在1.4版本中删除。使用None
而不是. #23877 通过 Zhehao Liu .API Change 的默认值
tol
改为1e-3
到1e-4
为linear_model.ridge_regression
,linear_model.Ridge
和linear_model.RidgeClassifier
. #24465 通过 Christian Lorentzen .
sklearn.manifold
#
Feature Adds option to use the normalized stress in
manifold.MDS
. This is enabled by setting the newnormalize
parameter toTrue
. #10168 by Łukasz Borchmann, #12285 by Matthias Miltenberger, #13042 by Matthieu Parizy, #18094 by Roth E Conrad and #22562 by Meekail Zain.Enhancement 添加
eigen_tol
参数以manifold.SpectralEmbedding
.两manifold.spectral_embedding
和manifold.SpectralEmbedding
现在传播eigen_tol
所有的选择eigen_solver
.包括一个新选项eigen_tol="auto"
并开始弃用以更改默认值eigen_tol=0
到eigen_tol="auto"
在1.3版本中。 #23210 通过 Meekail Zain .Enhancement
manifold.Isomap
现在保留d类型np.float32
输入。 #24714 通过 Rahil Parikh .API Change Added an
"auto"
option to thenormalized_stress
argument inmanifold.MDS
andmanifold.smacof
. Note thatnormalized_stress
is only valid for non-metric MDS, therefore the"auto"
option enablesnormalized_stress
whenmetric=False
and disables it whenmetric=True
."auto"
will become the default value fornormalized_stress
in version 1.4. #23834 by Meekail Zain
sklearn.metrics
#
Feature
metrics.ConfusionMatrixDisplay.from_estimator
,metrics.ConfusionMatrixDisplay.from_predictions
,而且metrics.ConfusionMatrixDisplay.plot
接受一个text_kw
parameter which is passed to matplotlib'stext
function. #24051 by Thomas Fan .Feature
metrics.class_likelihood_ratios
添加以计算从二元分类问题的混淆矩阵推导出的正似然比和负似然比。 #22518 通过 Arturo Amor .Feature 添加
metrics.PredictionErrorDisplay
绘制残留与预测以及实际与预测,以定性评估回归量的行为。可以使用类方法创建显示metrics.PredictionErrorDisplay.from_estimator
和metrics.PredictionErrorDisplay.from_predictions
. #18020 通过 Guillaume Lemaitre .Feature
metrics.roc_auc_score
现在支持微平均 (average="micro"
对于One-vs-Rest多类情况, (multi_class="ovr"
). #24338 通过 Arturo Amor .Enhancement 增加了一个
"auto"
选项eps
在metrics.log_loss
.此选项将自动设置eps
值取决于的数据类型y_pred
.此外,的默认值eps
变更1e-15
到新"auto"
选项. #24354 通过 Safiuddin Khaja 和 gsiisg .Fix 允许
csr_matrix
作为参数的输入:y_true
的metrics.label_ranking_average_precision_score
公制的。 #23442 通过 Sean AtukoralaFix
metrics.ndcg_score
现在将触发警告y_true
值包含负值。用户可能仍然使用负值,但结果可能不在0和1之间。从v1.4开始,传递负值y_true
会引发错误。 #22710 通过 Conroy Trinh 和 #23461 通过 Meekail Zain .Fix
metrics.log_loss
与eps=0
现在返回正确的值0或np.inf
而不是nan
用于边界处的预测(0或1)。它还接受integer输入。 #24365 通过 Christian Lorentzen .API Change 参数
sum_over_features
的metrics.pairwise.manhattan_distances
已被弃用并将在1.4中删除。 #24630 通过 Rushil Desai .
sklearn.model_selection
#
Feature 添加了班级
model_selection.LearningCurveDisplay
这使得可以轻松绘制该函数获得的学习曲线model_selection.learning_curve
. #24084 通过 Guillaume Lemaitre .Fix 为所有
SearchCV
classes和scipy >= 1.10时,对应于nan分数的等级被正确地设置为最大可能等级,而不是np.iinfo(np.int32).min
. #24141 通过 Loïc Estève .Fix 无论是
model_selection.HalvingGridSearchCV
和model_selection.HalvingRandomSearchCV
具有NaN分数的参数组合现在共享最低排名。 #24539 通过 Tim Head .Fix 为
model_selection.GridSearchCV
和model_selection.RandomizedSearchCV
对应于NAN分数的等级都将被设置为最大可能等级。 #24543 通过 Guillaume Lemaitre .
sklearn.multioutput
#
Feature 添加布尔值
verbose
班级标志:multioutput.ClassifierChain
和multioutput.RegressorChain
. #23977 通过 Eric Fiegel , Chiara Marmo , Lucy Liu ,而且 Guillaume Lemaitre .
sklearn.naive_bayes
#
Feature 添加方法
predict_joint_log_proba
所有朴素贝叶斯分类器。 #23683 通过 Andrey Melnik .Enhancement 新参数
force_alpha
添加至naive_bayes.BernoulliNB
,naive_bayes.ComplementNB
,naive_bayes.CategoricalNB
,而且naive_bayes.MultinomialNB
,允许用户将参数Alpha设置为一个非常小的数字,大于或等于0,该数字之前自动更改为1e-10
而不是. #16747 通过 @arka204 , #18805 通过 @hongshaoyang , #22269 通过 Meekail Zain .
sklearn.neighbors
#
Feature 添加新功能
neighbors.sort_graph_by_row_values
对CSR稀疏图进行排序,以使每一行都以增加的值存储。当在各种估计器中使用预先计算的稀疏距离矩阵时,这对于提高效率并避免EfficiencyWarning
. #23139 by Tom Dupre la Tour .Efficiency
neighbors.NearestCentroid
速度更快,需要更少的内存,因为它可以更好地利用中央处理器的缓存来计算预测。 #24645 通过 Olivier Grisel .Enhancement
neighbors.KernelDensity
带宽参数现在接受使用Scott和Silverman估计方法的定义。 #10468 通过 Ruben 和 #22993 通过 Jovan Stojanovic .Enhancement
neighbors.NeighborsBase
现在接受Minkowski半度量(即当 \(0 < p < 1\) 为metric="minkowski"
)对于algorithm="auto"
或algorithm="brute"
. #24750 通过 Rudresh VeerkhareFix
neighbors.NearestCentroid
现在会在合适的时间引发信息性错误消息,而不是在预测时间以低级错误消息失败。 #23874 通过 Juan Gomez .Fix 设置
n_jobs=None
默认情况下(而不是1
)对于neighbors.KNeighborsTransformer
和neighbors.RadiusNeighborsTransformer
. #24075 通过 Valentin Laurent .Enhancement
neighbors.LocalOutlierFactor
现在保留d类型numpy.float32
输入。 #22665 通过 Julien Jerphanion .
sklearn.neural_network
#
Fix
neural_network.MLPClassifier
和neural_network.MLPRegressor
始终暴露参数best_loss_
,validation_scores_
,而且best_validation_score_
.best_loss_
设置为None
当early_stopping=True
而validation_scores_
和best_validation_score_
被设置为None
当early_stopping=False
. #24683 通过 Guillaume Lemaitre .
sklearn.pipeline
#
Enhancement
pipeline.FeatureUnion.get_feature_names_out
现在可以在其中一个变压器时使用pipeline.FeatureUnion
是"passthrough"
. #24058 通过 Diederik PerdokEnhancement 的
pipeline.FeatureUnion
班级现在有一个named_transformers
用于按名称访问转换器的属性。 #20331 通过 Christopher Flynn .
sklearn.preprocessing
#
Enhancement
preprocessing.FunctionTransformer
总是会尝试设置n_features_in_
andfeature_names_in_
regardless of thevalidate
parameter. #23993 by Thomas Fan .Fix
preprocessing.LabelEncoder
正确编码NaNtransform
. #22629 by Thomas Fan .API Change 的
sparse
参数preprocessing.OneHotEncoder
现已废弃,并将在1.4版本中删除。使用sparse_output
而不是. #24412 通过 Rushil Desai .
sklearn.svm
#
API Change 的
class_weight_
属性现已被弃用svm.NuSVR
,svm.SVR
,svm.OneClassSVM
. #22898 通过 Meekail Zain .
sklearn.tree
#
Enhancement
tree.plot_tree
,tree.export_graphviz
现在使用大小写x[i]
to represent featurei
. #23480 by Thomas Fan .
sklearn.utils
#
Feature A new module exposes development tools to discover estimators (i.e.
utils.discovery.all_estimators
), displays (i.e.utils.discovery.all_displays
) and functions (i.e.utils.discovery.all_functions
) in scikit-learn. #21469 by Guillaume Lemaitre.Enhancement
utils.extmath.randomized_svd
现在接受一个论点,lapack_svd_driver
,以指定在随机MVD算法使用的内部确定性MVD中使用的lapack驱动程序。 #20617 通过 Srinath KailasaEnhancement
utils.validation.column_or_1d
现在接受dtype
parameter to specificy
's dtype. #22629 by Thomas Fan .Enhancement
utils.extmath.cartesian
现在接受具有不同类型的阵列dtype
并将输出转换为最允许的dtype
. #25067 通过 Guillaume Lemaitre .Fix
utils.multiclass.type_of_target
现在可以正确处理稀疏矩阵。 #14862 通过 Léonard Binet .Fix 当估计器类是中的值时,HTML表示不再出错
get_params
. #24512 by Thomas Fan .Fix
utils.estimator_checks.check_estimator
现在考虑到requires_positive_X
tag correctly. #24667 by Thomas Fan .Fix
utils.check_array
现在支持熊猫系列pd.NA
by raising a better error message or returning a compatiblendarray
. #25080 by Thomas Fan .API Change 的额外关键字参数
utils.extmath.density
已被弃用并将在1.4中删除。 #24523 通过 Mia Bajic .
代码和文档贡献者
感谢自1.1版本以来为项目维护和改进做出贡献的所有人,包括:
2357juan, 3lLobo, Adam J. Stewart, Adam Kania, Adam Li, Aditya Anulekh, Admir Demiraj, adoublet, Adrin Jalali, Ahmedbgh, Aiko, Akshita Prasanth, Ala-Na, Alessandro Miola, Alex, Alexandr, Alexandre Perez-Lebel, Alex Buzenet, Ali H. El-Kassas, aman kumar, Amit Bera, András Simon, Andreas Grivas, Andreas Mueller, Andrew Wang, angela-maennel, Aniket Shirsat, Anthony22-dev, Antony Lee, anupam, Apostolos Tsetoglou, Aravindh R, Artur Hermano, Arturo Amor, as-90, ashah002, Ashwin Mathur, avm19, Azaria Gebremichael, b0rxington, Badr MOUFAD, Bardiya Ak, Bartłomiej Gońda, BdeGraaff, Benjamin Bossan, Benjamin Carter, berkecanrizai, Bernd Fritzke, Bhoomika, Biswaroop Mitra, Brandon TH Chen, Brett Cannon, Bsh, cache-missing, carlo, Carlos Ramos Carreño, ceh, chalulu, Changyao Chen, Charles Zablit, Chiara Marmo, Christian Lorentzen, Christian Ritter, Christian Veenhuis, christianwaldmann, Christine P. Chai, Claudio Salvatore Arcidiacono, Clément Verrier, crispinlogan, Da-Lan, DanGonite57, Daniela Fernandes, DanielGaerber, darioka, Darren Nguyen, davidblnc, david-cortes, David Gilbertson, David Poznik, Dayne, Dea María Léon, Denis, Dev Khant, Dhanshree Arora, Diadochokinetic, diederikwp, Dimitri Papadopoulos Orfanos, Dimitris Litsidis, drewhogg, Duarte OC, Dwight Lindquist, Eden Brekke, Edern, Edoardo Abati, Eleanore Denies, EliaSchiavon, Emir, ErmolaevPA, Fabrizio Damicelli, fcharras, Felipe Siola, Flynn, francesco-tuveri, Franck Charras, ftorres16, Gael Varoquaux, Geevarghese George, genvalen, GeorgiaMayDay, Gianr Lazz, Hleb Levitski, Glòria Macià Muñoz, Guillaume Lemaitre, Guillem García Subies, Guitared, gunesbayir, Haesun Park, Hansin Ahuja, Hao Chun Chang, Harsh Agrawal, harshit5674, hasan-yaman, henrymooresc, Henry Sorsky, Hristo Vrigazov, htsedebenham, humahn, i-aki-y, Ian Thompson, Ido M, Iglesys, Iliya Zhechev, Irene, ivanllt, Ivan Sedykh, Jack McIvor, jakirkham, JanFidor, Jason G, Jérémie du Boisberranger, Jiten Sidhpura, jkarolczak, João David, JohnathanPi, John Koumentis, John P, John Pangas, johnthagen, Jordan Fleming, Joshua Choo Yun Keat, Jovan Stojanovic, Juan Carlos Alfaro Jiménez, juanfe88, Juan Felipe Arias, JuliaSchoepp, Julien Jerphanion, jygerardy, ka00ri, Kanishk Sachdev, Kanissh, Kaushik Amar Das, Kendall, Kenneth Prabakaran, Kento Nozawa, kernc, Kevin Roice, Kian Eliasi, Kilian Kluge, Kilian Lieret, Kirandevraj, Kraig, krishna kumar, krishna vamsi, Kshitij Kapadni, Kshitij Mathur, Lauren Burke, Léonard Binet, lingyi1110, Lisa Casino, Logan Thomas, Loic Esteve, Luciano Mantovani, Lucy Liu, Maascha, Madhura Jayaratne, madinak, Maksym, Malte S. Kurz, Mansi Agrawal, Marco Edward Gorelli, Marco Wurps, Maren Westermann, Maria Telenczuk, Mario Kostelac, martin-kokos, Marvin Krawutschke, Masanori Kanazu, mathurinm, Matt Haberland, mauroantonioserrano, Max Halford, Maxi Marufo, maximeSaur, Maxim Smolskiy, Maxwell, m. bou, Meekail Zain, Mehgarg, mehmetcanakbay, Mia Bajić, Michael Flaks, Michael Hornstein, Michel de Ruiter, Michelle Paradis, Mikhail Iljin, Misa Ogura, Moritz Wilksch, mrastgoo, Naipawat Poolsawat, Naoise Holohan, Nass, Nathan Jacobi, Nawazish Alam, Nguyễn Văn Diễn, Nicola Fanelli, Nihal Thukarama Rao, Nikita Jare, nima10khodaveisi, Nima Sarajpoor, nitinramvelraj, NNLNR, npache, Nwanna-Joseph, Nymark Kho, o-holman, Olivier Grisel, Olle Lukowski, Omar Hassoun, Omar Salman, osman tamer, ouss1508, Oyindamola Olatunji, PAB, Pandata, partev, Paulo Sergio Soares, Petar Mlinarić, Peter Jansson, Peter Steinbach, Philipp Jung, Piet Brömmel, Pooja M, Pooja Subramaniam, priyam kakati, puhuk, Rachel Freeland, Rachit Keerti Das, Rafal Wojdyla, Raghuveer Bhat, Rahil Parikh, Ralf Gommers, ram vikram singh, Ravi Makhija, Rehan Guha, Reshama Shaikh, Richard Klima, Rob Crockett, Robert Hommes, Robert Juergens, Robin Lenz, Rocco Meli, Roman4oo, Ross Barnowski, Rowan Mankoo, Rudresh Veerkhare, Rushil Desai, Sabri Monaf Sabri, Safikh, Safiuddin Khaja, Salahuddin, Sam Adam Day, Sandra Yojana Meneses, Sandro Ephrem, Sangam, SangamSwadik, SANJAI_3, SarahRemus, Sashka Warner, SavkoMax, Scott Gigante, Scott Gustafson, Sean Atukorala, sec65, SELEE, seljaks, Shady el Gewily, Shane, shellyfung, Shinsuke Mori, Shiva chauhan, Shoaib Khan, Shogo Hida, Shrankhla Srivastava, Shuangchi He, Simon, sonnivs, Sortofamudkip, Srinath Kailasa, Stanislav (Stanley) Modrak, Stefanie Molin, stellalin7, Stéphane Collot, Steven Van Vaerenbergh, Steve Schmerler, Sven Stehle, Tabea Kossen, TheDevPanda, the-syd-sre, Thijs van Weezel, Thomas Bonald, Thomas Germer, Thomas J. Fan, Ti-Ion, Tim Head, Timofei Kornev, toastedyeast, Tobias Pitters, Tom Dupré la Tour, tomiock, Tom Mathews, Tom McTiernan, tspeng, Tyler Egashira, Valentin Laurent, Varun Jain, Vera Komeyer, Vicente Reyes-Puerta, Vinayak Mehta, Vincent M, Vishal, Vyom Pathak, wattai, wchathura, WEN Hao, William M, x110, Xiao Yuan, Xunius, yanhong-zhao-ef, Yusuf Raji, Z Adil Khwaja, zeeshan lone