1.5版#

有关该版本主要亮点的简短描述,请参阅 scikit-learn 1.5的发布亮点 .

换象传说

  • Major Feature 一些你以前做不到的大事。

  • Feature 一些你以前做不到的事情。

  • Efficiency 现有功能现在可能不需要那么多的计算或内存。

  • Enhancement 一个杂七杂八的小改进。

  • Fix 以前没有按照记录或合理预期发挥作用的事情现在应该起作用了。

  • API Change 您需要更改您的代码才能在将来产生相同的效果;或者将来将删除某个功能。

版本1.5.2#

September 2024

影响多个模块的变更#

  • Fix 修复了中一些Cython模块中的性能回归 sklearn._loss , sklearn.manifold , sklearn.metricssklearn.utils ,它们是在没有BEP支持的情况下构建的。 #29694 通过 Loïc Estèvce .

Changelog#

sklearn.calibration#

sklearn.compose#

sklearn.decomposition#

sklearn.metrics#

sklearn.svm#

版本1.5.1#

July 2024

影响多个模块的变更#

Changelog#

sklearn.compose#

sklearn.metrics#

sklearn.model_selection#

sklearn.tree#

sklearn.utils#

  • API Change utils.validation.check_array has a new parameter, force_writeable, to control the writeability of the output array. If set to True, the output array will be guaranteed to be writeable and a copy will be made if the input array is read-only. If set to False, no guarantee is made about the writeability of the output array. #29018 by Jérémie du Boisberranger.

版本1.5.0#

May 2024

安全#

  • Fix feature_extraction.text.CountVectorizerfeature_extraction.text.TfidfVectorizer 不再将训练集中丢弃的令牌存储在 stop_words_ 属性此属性将过于频繁(上图 max_df )但也有太稀有的代币(下面 min_df ).如果被丢弃的稀有令牌在模型开发人员不知情的情况下保存了来自训练集的敏感信息,这可以修复潜在的安全问题(数据泄露)。

    注意:鼓励这些类的用户使用新的scikit-learn版本重新训练他们的管道,或者手动清除 stop_words_ 来自这些变压器之前训练的实例的属性。此属性仅用于模型检查目的,对变压器的行为没有影响。 #28823 通过 Olivier Grisel .

更改型号#

  • Efficiency 中的二次抽样 preprocessing.QuantileTransformer 现在对于密集阵列来说更有效,但匹配的分位数和 transform 可能与以前略有不同(保持相同的统计属性)。 #27344 通过 Xuefeng Xu .

  • Enhancement decomposition.PCA , decomposition.SparsePCAdecomposition.TruncatedSVD 现在设置的标志, components_ 基于组件值的属性,而不是使用转换后的数据作为参考。需要进行此更改才能在所有范围内提供一致的组件标志 PCA 解决者,包括新的 svd_solver="covariance_eigh" 此版本中引入的选项。

影响多个模块的变更#

支持数组API#

其他估计器和功能已更新,以包括对所有人的支持 Array API 合规的输入。

看到 数组API支持(实验性) 了解更多详细信息。

Functions:

Classes:

支持使用Meson进行构建#

从scikit-learn 1.5开始,Meson是构建scikit-learn的主要支持方式,请参阅 Building from source 了解更多详细信息。

除非我们发现主要拦截器,否则scikit-learn 1.6中将删除setuptools支持。1.5.x版本将支持使用setuptools构建scikit-learn。

添加了对构建scikit-learn的介子支持, #28040 通过 Loïc Estève

元数据路由#

以下模型现在支持一种或多种方法中的元数据路由。参阅 Metadata Routing User Guide 了解更多详细信息。

Changelog#

sklearn.calibration#

sklearn.cluster#

sklearn.compose#

sklearn.cross_decomposition#

sklearn.datasets#

sklearn.decomposition#

  • Efficiency decomposition.PCAsvd_solver="full" 现在分配一个连续 components_ 属性,而不是奇异载体的非连续切片。当 n_components << n_features ,这可以节省一些内存,更重要的是,有助于加快后续对 transform 通过利用连续阵列上BLAS GEMM的缓存局部性,方法增加了一个数量级以上。 #27491 通过 Olivier Grisel .

  • Enhancement PCA 现在,当出现稀疏输入时,自动选择ARPACK解算器 svd_solver="auto" 而不是提出错误。 #28498 通过 Thanh Lam Dang .

  • Enhancement decomposition.PCA 现在支持名为 svd_solver="covariance_eigh" 它为具有大量数据点和少量特征的数据集提供了一个数量级的加速和减少的内存使用(例如, n_samples >> 1000 > n_features ).的 svd_solver="auto" 选项已更新,以自动对此类数据集使用新求解器。该求解器还接受稀疏输入数据。 #27491 通过 Olivier Grisel .

  • Fix decomposition.PCA 符合 svd_solver="arpack" , whiten=True 以及价值 n_components 大于训练集的排名,在转换保留数据时不再返回无限值。 #27491 通过 Olivier Grisel .

sklearn.dummy#

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.feature_selection#

sklearn.impute#

sklearn.inspection#

sklearn.linear_model#

sklearn.manifold#

sklearn.metrics#

sklearn.mixture#

sklearn.model_selection#

sklearn.multioutput#

sklearn.neighbors#

sklearn.pipeline#

  • Feature pipeline.FeatureUnion 现在可以使用 verbose_feature_names_out 属性如果 True , get_feature_names_out 将在所有功能名称的前面加上生成该功能的Transformer的名称。如果 False , get_feature_names_out 不会在任何功能名称前加上前面,并且如果功能名称不唯一,就会出错。 #25991 通过 Jiawei Zhang .

sklearn.preprocessing#

sklearn.tree#

  • Enhancement 通过matplotlib中绘制树木 tree.plot_tree 现在显示“真/假”标签,以指示给定分裂条件的样本经过的方向性。 #28552 通过 Adam Li .

sklearn.utils#

  • Fix _safe_indexing 现在对于Polars DataFrame可以正确工作, axis=0 并支持索引极系列。 #28521 通过 Yao Xiao .

  • API Change utils.IS_PYPY 已被弃用,并将在1.7版本中删除。 #28768 通过 Jérémie du Boisberranger .

  • API Change utils.tosequence 已被弃用,并将在1.7版本中删除。 #28763 通过 Jérémie du Boisberranger .

  • API Change utils.parallel_backendutils.register_parallel_backend 已弃用,并将在1.7版中删除。使用 joblib.parallel_backendjoblib.register_parallel_backend 而不是. #28847 通过 Jérémie du Boisberranger .

  • API Change 提出信息性警告消息 type_of_target 当表示为字节时。对于分类器和分类指标,不建议使用以字节形式编码的标签,并且会在v1.7中引发错误。 #18555 通过 Kaushik Amar Das .

  • API Change utils.estimator_checks.check_estimator_sparse_data 分为两个功能: utils.estimator_checks.check_estimator_sparse_matrixutils.estimator_checks.check_estimator_sparse_array . #27576 通过 Stefanie Senger .

代码和文档贡献者

感谢自1.4版本以来为项目维护和改进做出贡献的所有人,包括:

101 AlexMartin,Abdulaziz Aloqeely,Adam J. Stewart,Adam Li,Adarsh Wase,Adeyemi Biola,Aditi Juneja,Adrin Jalali,Advik Sinha,Aisha,Akash Srivastava,Akihiro Kuno,Alan Guedes,Alberto Torres,Alexis IMBERRT,alexqio,Ana Paula Gomes,Anderson Nelson,Andrei Dzis,Arif Qodari,Arnaud Capitaine,Arturo Amor,Aswathavicky,Audrey Flanders,awwwyan,baggiponte,Bharat Raghunathan,bme-git,brdav,Brendan Lu、Brigitta Sipatticz、Bruno、Cailean Carter、Cemlyn、Christian Lorentzen、Christian Veenhuis、Cindy Liang、Claudio Salvatore Arcidiacono、Connor Boyle、Conrad Stevens、Crispinlogan、David Matthew Cherney、Davide奇科、davidleon 123、dependabot [bot] 、DerWeh,dinga 92、Dipan Banik、Drew Craeton、Duarte São José、DUONG、Eddie Bergman、Edoardo Abati、Egehan Gunduz、Emad Izadifar、EmilyXyi、Erich Schubert、Evelyn、Filip Karlo Došilović、Franck Charras、Gael Varoquaux、Gönül Aycerty、Guillaume Lemaitre、Gyeongjae Choi、Harmanan Kohli、Hong Xiang Yue、Ian Faust、Ilya Komarov、itsaphel、Ivan Wiryadi、Jack Bowyer、Javier Marin Tur、Jérémie du Boisberrémie du Boisberranger、Jérôme Dockès、Jiawei Zhang、João Morais、Joe Cainey、Joel Nothman、Johanna Bayer、John Cant、John Enblom、John Hopfensperger、jpcars、jpienaar-tuks、Julian Chan、Julian Libiseller-Egger、Julien Jerphanion、KanchiMoe、Kaushik Amar Das、keyber、Koustav Ghosh、kraktus、Krsto Proroković、Lars、ldwy 4、LeoGrioGrin、lihaitao、Linus Sommer、Loic Esteve、Lucy Liu、Lukas Geiger、m-maggi、manasimj、Manuel Labbé、曼努埃尔·莫拉莱斯、马可·爱德华·戈雷利、马可·沃尔萨、马伦·韦斯特曼、玛丽亚·弗拉伊奇、马克·埃利奥特、马丁·赫尔姆、马特奥·索科什、马图林姆、马夫斯、迈克尔·道森、迈克尔·希金斯、迈克尔·梅耶尔、米格尔·席尔瓦、渡边三木、穆罕默德·哈姆迪、米enugula、内森·戈德鲍姆、纳齐亚·马希姆卡、nbrown-ScottLogic、内托、尼西什·博勒杜拉、notPlancha、奥利维尔·格里塞尔、奥马尔·萨勒曼、帕西法尔·徐、帕特里克·王、皮埃尔·德弗雷明维尔、皮奥特尔、Priyank Shroff、Priyansh Gupta、Priyash Shah、Puneeth K、Rahil Parikh、raisadz、Raj Pulapakura、Ralf Gommers、Ralph Urlus、Randolf Scholz、renaissance0 ne、Reshama Shaikh、Richard Barnes、Robert Pollak、Roberto Rosati、Rodrigo Romero、rwelsch 427、Saad Mahmood、Salim Dohri、Sandip Dutta、SarahRemus、scikit-lear-bot、Shaharyar Choudhry、Shubham、sperret 6、Stefanie Senger、Steffen Schneider、Suha Siddiqui、Thanh Lam DANG,thebabush,Thomas,Thomas J. Fan,Thomas Lazarus,Tialo,Tim Head,Tuhin Sharma,Tushar Parimi,Varun Chaduvula,Vineet Joshi,virchan,Waël Boukhobza,Weyb,Will Dean,Xavier Beltran,Xiao Yuan,Xuefeng Xu,Yao Xiao,yareyaredesuyo,Ziad Amerr,Štpán Sršeregon