版本 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="minknowski"的权重参数,以产生始终与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

更改的模型#

使用相同数据和参数拟合的以下估计器和函数可能会产生与先前版本不同的模型。这通常是由于建模逻辑(错误修复或增强)或随机采样程序中的更改造成的。

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

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

更改日志#

  • API变更 通过 losscriterion 参数使用平方误差的选项已变得更加一致。推荐的方式是将值设置为 "squared_error"。旧的选项名称仍然有效,会生成相同的模型,但已被弃用,并将在1.2版本中移除。 #19310Christian Lorentzen 贡献。

  • API变更 通过 losscriterion 参数使用绝对误差的选项已变得更加一致。推荐的方式是将值设置为 "absolute_error"。旧的选项名称仍然有效,会生成相同的模型,但已被弃用,并将在1.2版本中移除。 #19733Christian Lorentzen 贡献。

  • API变更 在1.0版本中已弃用np.matrix 的用法,并在1.2版本中将引发TypeError#20165Thomas Fan贡献。

  • API变更 转换器API中添加了get_feature_names_out 来获取输出特征的名称。get_feature_names 已被弃用。 #18444Thomas Fan贡献。

  • API变更 所有估计器在拟合pandas Dataframes时都会存储feature_names_in_。这些特征名称会与在非fit 方法(例如transform)中看到的名称进行比较,如果不一致,将引发FutureWarning。这些FutureWarning将在1.2版本中变为ValueError#18010Thomas Fan贡献。

sklearn.base#

sklearn.calibration#

sklearn.cluster#

sklearn.compose#

sklearn.covariance#

sklearn.datasets#

  • 增强 datasets.fetch_openml 现在在返回 pandas DataFrame 时支持包含缺失值的类别。由 Thomas FanAmanda DsouzaEL-ATEIF Sara 完成,相关 PR:#19365

  • 增强 datasets.fetch_kddcup99 在缓存文件无效时会发出更清晰的错误消息。由 Thomas Fan 完成,相关 PR:#19669

  • 增强 将与资源文件 I/O 相关的 __file__ 用法替换为 importlib.resources,以避免假设这些资源文件(例如 iris.csv)已存在于文件系统中,并由此扩展以支持 PyOxidizer 等工具。由 Jack Liu 完成,相关 PR:#20297

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

  • 修复 datasets.fetch_kddcup99return_X_y=Trueas_frame=True 时返回 DataFrame。由 Thomas Fan 完成,相关 PR:#19011

  • API 变更 在 1.0 版本中弃用 datasets.load_boston,并将在 1.2 版本中移除。文档中提供了加载类似数据集的替代代码片段。详情请参阅函数的文档字符串。由 Guillaume Lemaitre 完成,相关 PR:#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 中的 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, Gleb Levitskiy, Glen, Glòria Macià Muñoz, gregorystrubel, groceryheist, Guillaume Lemaitre, guiweber, Haidar Almubarak, Hans Moritz Günther, Haoyin Xu, Harris Mirza, Harry Wei, Harutaka Kawawari, 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