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.TransformerMixinmaintains 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_valueorunknown_valueset 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_targetcan 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只会包裹transformmethod if the class definestransformitself. #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_scorevalues. #23101 by András Simon and Thomas Fan .
sklearn.neural_network#
Fix
neural_network.MLPClassifierandneural_network.MLPRegressorno longer raise warnings when fitting data with feature names. #24873 by Tim Head.Fix 改进了中的错误消息
neural_network.MLPClassifier和neural_network.MLPRegressor,当early_stopping=Trueandpartial_fitis 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_arraypandas的行为布尔类型的系列。类型将被保留,而不是转换为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 的默认值
epsmetrics.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.FastICAmight 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_outputAPI has been adopted by all transformers. Meta-estimators that contain transformers such aspipeline.Pipelineorcompose.ColumnTransformeralso 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
parserindatasets.fetch_openml.parser="pandas"allows to use the very CPU and memory efficientpandas.read_csvparser 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_solverparameter, which supportssvdandeigh.whiten_solverdefaults tosvdalthougheighmay 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.PCAis 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 仅在
fitand 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_weighttoensemble.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
fitmethod ofgaussian_process.GaussianProcessRegressorwill not modify the input X in case a custom kernel is used, with adiagmethod 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 newnormalizeparameter 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_stressargument inmanifold.MDSandmanifold.smacof. Note thatnormalized_stressis only valid for non-metric MDS, therefore the"auto"option enablesnormalized_stresswhenmetric=Falseand disables it whenmetric=True."auto"will become the default value fornormalized_stressin version 1.4. #23834 by Meekail Zain
sklearn.metrics#
Feature
metrics.ConfusionMatrixDisplay.from_estimator,metrics.ConfusionMatrixDisplay.from_predictions,而且metrics.ConfusionMatrixDisplay.plot接受一个text_kwparameter which is passed to matplotlib'stextfunction. #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 为所有
SearchCVclasses和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 thevalidateparameter. #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现在接受dtypeparameter 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_Xtag correctly. #24667 by Thomas Fan .Fix
utils.check_array现在支持熊猫系列pd.NAby 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