版本 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#

sklearn.metrics#

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

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

sklearn.multiclass#

sklearn.neighbors#

sklearn.preprocessing#

sklearn.tree#

  • 修复 防止 tree.plot_tree 绘制超出图形边界。#21917Thomas Fan 贡献。

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

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_ 属性中。#21389Jé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 #20002Joel NothmanAdrin JalaliThomas FanNicolas HugTom Dupre la Tour 贡献。有关更多详细信息,请参阅 SLEP009

更改的模型#

以下估计器和函数,当使用相同的数据和参数进行拟合时,可能会产生与以前版本不同的模型。这通常是由于建模逻辑(错误修复或增强)或随机抽样过程的变化而发生的。

详情列于下方变更日志中。

(尽管我们正在努力通过提供此信息更好地告知用户,但我们无法保证此列表是完整的。)

变更日志#

sklearn.base#

sklearn.calibration#

sklearn.cluster#

sklearn.compose#

sklearn.covariance#

sklearn.datasets#

  • 改进 datasets.fetch_openml 现在在返回 pandas 数据框时支持带缺失值的类别。 #19365 作者:Thomas FanAmanda DsouzaEL-ATEIF Sara

  • 改进 当缓存文件无效时,datasets.fetch_kddcup99 会引发更详细的消息。 #19669 作者:Thomas Fan

  • 改进 将所有与资源文件 I/O 相关的 __file__ 用法替换为 importlib.resources,以避免假定这些资源文件(例如 iris.csv)已存在于文件系统上,从而实现与 PyOxidizer 等工具的兼容性。 #20297 作者:Jack Liu

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

  • 修复return_X_y=Trueas_frame=True 时,datasets.fetch_kddcup99 返回数据框。 #19011 作者:Thomas Fan

  • API 变更 datasets.load_boston 在 1.0 版本中已弃用,并将在 1.2 版本中移除。提供了加载类似数据集的替代代码片段。详情请参阅该函数的文档字符串。 #20729 作者:Guillaume Lemaitre

sklearn.decomposition#

sklearn.dummy#

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.feature_selection#

sklearn.inspection#

sklearn.kernel_approximation#

sklearn.linear_model#

sklearn.manifold#

  • 改进manifold.TSNE 中为 learning_rate 实现 '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, 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