版本 1.0#

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

Legend for changelogs

  • Major Feature something big that you couldn’t do before.

  • Feature something that you couldn’t do before.

  • Efficiency an existing feature now may not require as much computation or memory.

  • Enhancement a miscellaneous minor improvement.

  • Fix something that previously didn’t work as documented – or according to reasonable expectations – should now work.

  • API Change you will need to change your code to have the same effect in the future; or a feature will be removed in the future.

版本 1.0.2#

2021年12月

更新日志#

sklearn.cluster#

sklearn.datasets#

sklearn.decomposition#

sklearn.ensemble#

#21295 Haoyin Xu .

sklearn.feature_selection#

sklearn.impute#

sklearn.linear_model#

sklearn.manifold#

  • Fix 修复了在使用预计算的密集距离矩阵拟合 manifold.Isomap 时,当邻居图具有多个不连通组件时出现的不必要错误。 #21915Tom Dupre la Tour 提交。

sklearn.metrics#

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

  • Fix 所有 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#

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

  • Fix 支持加载决策树模型的 pickle 文件,当 pickle 是在具有不同位数的平台上生成时。一个典型的例子是在 64 位机器上训练和 pickle 模型,然后在 32 位机器上加载模型进行预测。#21552Loïc Estève 贡献。

sklearn.utils#

版本 1.0.1#

2021年10月

修复的模型#

neighbors.RadiusNeighborsRegressor . #21199Thomas Fan 提交。

sklearn.calibration#

sklearn.cluster#

sklearn.ensemble#

sklearn.gaussian_process#

sklearn.feature_extraction#

sklearn.linear_model#

sklearn.neighbors#

sklearn.pipeline#

sklearn.svm#

sklearn.utils#

#20880Guillaume LemaitreAndrás Simon 贡献。

  • Fix 修复了 sklearn.utils.metaestimators.if_delegate_has_method 中的一个错误,该错误在检查属性时无法与 NumPy 数组一起工作。#21145Zahlii 贡献。

杂项#

  • Fix 在数据集没有特征名称的情况下拟合估计器,之前在具有特征名称的数据集上拟合的估计器不再保留旧的特征名称存储在 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 Change 通过 losscriterion 参数使用平方误差的选项变得更加一致。首选方法是将其值设置为 "squared_error" 。旧的选项名称仍然有效,生成相同的模型,但已被弃用,并将在版本 1.2 中移除。 #19310 作者:Christian Lorentzen

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

  • API Change np.matrix 的使用在 1.0 版本中已被弃用,并将在 1.2 版本中引发 TypeError#20165Thomas Fan 提交。

  • API Change 已向转换器 API 添加了 get_feature_names_out 以获取输出特征的名称。 get_feature_names 已被弃用。#18444Thomas Fan 提交。

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

sklearn.base#

sklearn.calibration#

sklearn.cluster#

sklearn.compose#

sklearn.covariance#

sklearn.datasets#

  • Enhancement datasets.fetch_openml 现在支持在返回 pandas DataFrame 时处理缺失值的类别。#19365Thomas FanAmanda DsouzaEL-ATEIF Sara 提交。

  • Enhancement datasets.fetch_kddcup99 在缓存文件无效时提供更好的错误信息。#19669Thomas Fan 提交。

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

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

  • Fix datasets.fetch_kddcup99return_X_y=Trueas_frame=True 时返回 DataFrame。#19011Thomas Fan 提交。

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

sklearn.decomposition#

sklearn.dummy#

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.feature_selection#

sklearn.inspection#

sklearn.kernel_approximation#

sklearn.linear_model#

sklearn.manifold#

sklearn.metrics#

sklearn.mixture#

sklearn.model_selection#

sklearn.naive_bayes#

sklearn.neighbors#

sklearn.neural_network#

neural_network.MLPRegressor 现在正确支持从 pickle 文件加载后的继续训练。#19631Thomas Fan 贡献。

sklearn.pipeline#

sklearn.preprocessing#

sklearn.svm#

sklearn.tree#

sklearn.utils#

preprocessing.FunctionTransformer pass

check_is_fitted(estimator) . #20657 by Adrin Jalali .

公共 API。#20521Olivier Grisel 贡献。

  • API Change 修复了 utils.graph.graph_shortest_path 中的几个错误,该功能现已弃用。请改用 scipy.sparse.csgraph.shortest_path#20531Tom Dupre la Tour 贡献。

代码和文档贡献者

感谢自版本 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 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