版本 1.0#

有关此版本主要亮点的简短描述,请参阅scikit-learn 1.0 版本亮点

更新日志图例

  • 重大功能 以前无法实现的大功能。

  • 功能 以前无法实现的功能。

  • 效率提升 现有功能现在可能不需要那么多计算或内存。

  • 增强 一般性的小改进。

  • 修复 以前无法按文档或合理预期工作的问题现在应该可以了。

  • API 变更 未来你需要更改代码才能达到相同的效果;或者未来某个功能将被移除。

版本 1.0.2#

2021 年 12 月

更新日志#

sklearn.cluster#

sklearn.datasets#

sklearn.decomposition#

sklearn.ensemble#

sklearn.feature_selection#

sklearn.impute#

sklearn.linear_model#

sklearn.manifold#

  • 修复 修复了当使用预计算的稠密距离矩阵拟合 manifold.Isomap 时,如果邻居图有多个不连通分量,会引发不必要的错误的问题。由 Tom Dupre la Tour 提交的 #21915

sklearn.metrics#

  • 修复 所有 sklearn.metrics.DistanceMetric 子类现在都正确支持只读缓冲区属性。这修复了 1.0.0 相对于 0.24.2 引入的回归。由 Julien Jerphanion 提交的 #21694

  • 修复 所有 sklearn.metrics.MinkowskiDistance 现在都接受一个权重参数,这使得编写在 scipy 1.8 和早期版本中行为一致的代码成为可能。反过来,这意味着所有基于邻居的估计器(除了使用 algorithm="kd_tree" 的估计器)现在都接受带有 metric="minkowski" 的权重参数,以产生始终与 scipy.spatial.distance.cdist 一致的结果。由 Olivier Grisel 提交的 #21741

sklearn.multiclass#

sklearn.neighbors#

sklearn.preprocessing#

sklearn.tree#

  • 修复 防止 tree.plot_tree 绘制超出图形边界。由 Thomas Fan 提交的 #21917

  • 修复 支持加载决策树模型的 pickle 文件,即使该 pickle 文件是在不同位数平台上生成的。一个典型的例子是在 64 位机器上训练和 pickle 模型,然后在 32 位机器上加载模型进行预测。由 Loïc Estève 提交的 #21552

sklearn.utils#

版本 1.0.1#

2021 年 10 月

修复的模型#

sklearn.calibration#

sklearn.cluster#

sklearn.ensemble#

sklearn.gaussian_process#

sklearn.feature_extraction#

sklearn.linear_model#

sklearn.neighbors#

sklearn.pipeline#

sklearn.svm#

sklearn.utils#

杂项#

  • 修复 在没有特征名称的数据集上拟合估计器,并且之前在有特征名称的数据集上拟合过,不再保留存储在 feature_names_in_ 属性中的旧特征名称。由 Jérémie du Boisberranger 提交的 #21389

版本 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。由 Joel NothmanAdrin JalaliThomas FanNicolas HugTom Dupre la Tour 提交的 #15005 #20002。有关更多详细信息,请参阅 SLEP009

变更模型#

以下估计器和函数在用相同数据和参数拟合时,可能会产生与上一个版本不同的模型。这通常是由于建模逻辑(bug 修复或增强)或随机采样过程的更改所致。

详细信息列在下面的更改日志中。

(虽然我们正试图通过提供此信息来更好地告知用户,但我们不能保证此列表完整。)

更新日志#

sklearn.base#

sklearn.calibration#

sklearn.cluster#

sklearn.compose#

sklearn.covariance#

sklearn.datasets#

  • 增强 datasets.fetch_openml 现在在返回 pandas dataframe 时支持带有缺失值的类别。由 Thomas FanAmanda DsouzaEL-ATEIF Sara 提交的 #19365

  • 增强 datasets.fetch_kddcup99 在缓存文件无效时会引发更好的消息。由 Thomas Fan 提交的 #19669

  • 增强 将与资源文件 I/O 相关的 __file__ 用法替换为 importlib.resources,以避免假定这些资源文件(例如 iris.csv)已存在于文件系统上,并以此启用与 PyOxidizer 等工具的兼容性。由 Jack Liu 提交的 #20297

  • 修复 缩短了 openml 测试中的数据文件名,以更好地支持在 Windows 上安装及其默认 260 字符的文件名限制。由 Thomas Fan 提交的 #20209

  • 修复return_X_y=Trueas_frame=True 时,datasets.fetch_kddcup99 返回数据帧。由 Thomas Fan 提交的 #19011

  • API 更改 datasets.load_boston 在 1.0 中已弃用,并将在 1.2 中删除。提供了加载类似数据集的替代代码片段。详情请参阅函数的 docstring。由 Guillaume Lemaitre 提交的 #20729

sklearn.decomposition#

sklearn.dummy#

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.feature_selection#

sklearn.inspection#

sklearn.kernel_approximation#

sklearn.linear_model#

sklearn.manifold#

  • 增强manifold.TSNE 中实现了 'auto' 启发式学习率。它将在 1.2 版本中成为默认值。默认初始化将在 1.2 版本中更改为 pca。PCA 初始化将在 1.2 版本中缩放到标准差为 1e-4。 #19491Dmitry Kobak 提交。

  • 修复 更改数值精度以防止 manifold.TSNE 在亲和矩阵计算过程中出现下溢问题。 #19472Dmitry Kobak 提交。

  • 修复 manifold.Isomap 现在使用 scipy.sparse.csgraph.shortest_path 计算图最短路径。它还沿着一些最小距离对连接邻居图的断开分量,而不是将所有无限距离更改为零。 #20531Roman YurchakTom Dupre la Tour 提交。

  • 修复 降低 manifold.spectral_embedding 中 lobpcg 调用的默认数值容差,以防止数值不稳定。 #21194Andrew Knyazev 提交。

sklearn.metrics#

sklearn.mixture#

sklearn.model_selection#

sklearn.naive_bayes#

sklearn.neighbors#

sklearn.neural_network#

sklearn.pipeline#

sklearn.preprocessing#

sklearn.svm#

sklearn.tree#

sklearn.utils#

代码和文档贡献者

感谢自 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, Hleb Levitski, Glen, Glòria Macià Muñoz, gregorystrubel, groceryheist, Guillaume Lemaitre, guiweber, Haidar Almubarak, Hans Moritz Günther, Haoyin Xu, Harris Mirza, Harry Wei, Harutaka Kawamura, 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