版本 0.23#

有关此发行版主要亮点的简短说明,请参阅 scikit-learn 0.23 的发行亮点

变更日志图例

  • 主要功能 你以前无法实现的重要功能。

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

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

  • 增强 其他一些小的改进。

  • 修复 以前未按文档说明或合理预期工作的内容现在应该可以工作了。

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

版本 0.23.2#

已更改的模型#

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

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

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

变更日志#

sklearn.cluster#

sklearn.decomposition#

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.linear_model#

sklearn.manifold#

sklearn.metrics#

sklearn.pipeline#

sklearn.utils#

版本 0.23.1#

2020年5月18日

变更日志#

sklearn.cluster#

其他#

  • 修复 修复了使用其构造函数中**kwargs参数的第三方估计器的repr中的一个bug,当changed_only为True(现在是默认值)时。 #17205Nicolas Hug 完成。

版本 0.23.0#

2020年5月12日

强制使用仅限关键字参数#

为了促进库的使用清晰明了,避免歧义,现在大多数构造函数和函数参数都应该作为关键字参数传递(即使用param=value语法),而不是位置参数。为了简化过渡,如果关键字限定参数用作位置参数,则会引发FutureWarning警告。在1.0版本(0.25版本的重命名)中,这些参数将严格限定为关键字参数,并将引发TypeError错误。#15005Joel NothmanAdrin JalaliThomas FanNicolas Hug 完成。更多详情请参见 SLEP009

已修改的模型#

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

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

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

更新日志#

sklearn.cluster#

sklearn.compose#

sklearn.datasets#

sklearn.decomposition#

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.feature_selection#

sklearn.gaussian_process#

sklearn.impute#

sklearn.inspection#

sklearn.linear_model#

sklearn.metrics#

sklearn.model_selection#

sklearn.multioutput#

sklearn.naive_bayes#

sklearn.neural_network#

sklearn.inspection#

sklearn.preprocessing#

sklearn.semi_supervised#

sklearn.svm#

  • 修复 效率提升 提升了 libsvmliblinear 中用于在坐标下降算法中随机选择坐标的随机数生成器。之前使用的是依赖于平台的 C rand(),它在 Windows 平台上只能生成高达 32767 的数字(参见这篇 博文),并且正如 此演示文稿 所建议的那样,其随机化能力较差。现在已将其替换为 C++11 mt19937,这是一种梅森旋转算法,可在所有平台上正确生成 31 位/63 位随机数。此外,用于在有界区间中获取随机数的粗略“模”后处理器已被替换为由 这篇博文 建议的改进的 Lemire 方法。任何使用 svm.libsvmsvm.liblinear 求解器的模型,包括 svm.LinearSVCsvm.LinearSVRsvm.NuSVCsvm.NuSVRsvm.OneClassSVMsvm.SVCsvm.SVRlinear_model.LogisticRegression 都会受到影响。特别是,当样本数量 (LibSVM) 或特征数量 (LibLinear) 很大时,用户可以预期更好的收敛性。#13511Sylvain Marié 完成。

  • 修复 修复了在 svm.SVCsvm.SVR 中使用自定义核函数时无法处理浮点型输入(例如字符串核函数)的问题。请注意,现在自定义核函数需要自行验证其输入,而之前则会直接接收有效的数值型数组。 #11296Alexandre GramfortGeorgi Peev 贡献。

  • API 变更 svm.SVRsvm.OneClassSVM 的属性 probA_probB_ 现已弃用,因为它们不再有用。 #15558Thomas Fan 贡献。

sklearn.tree#

sklearn.utils#

其他#

  • 主要功能 添加了估计器的 HTML 表示形式,可在 Jupyter Notebook 或 Lab 中显示。此可视化功能通过在 sklearn.set_config 中设置 display 选项来激活。 #14180Thomas Fan 提供。

  • 增强 scikit-learn 现在可以与 mypy 一起使用,且无错误。 #16726Roman Yurchak 提供。

  • API变更 大多数估计器现在都公开了一个 n_features_in_ 属性。此属性等于传递给 fit 方法的特征数量。有关详细信息,请参阅 SLEP010#16112Nicolas Hug 提供。

  • API变更 估计器现在具有 requires_y 标签,默认为 False,但继承自 ~sklearn.base.RegressorMixin~sklearn.base.ClassifierMixin 的估计器除外。此标签用于确保在预期 y 但传递 None 时引发正确的错误消息。 #16622Nicolas Hug 提供。

  • API变更 默认设置 print_changed_only 已从 False 更改为 True。这意味着估计器的 repr 现在更加简洁,在打印估计器时仅显示其默认值已更改的参数。您可以使用 sklearn.set_config(print_changed_only=False) 还原之前的行为。此外,请注意,始终可以使用 est.get_params(deep=False) 快速检查任何估计器的参数。 #17061Nicolas Hug 提供。

代码和文档贡献者

感谢自 0.22 版以来为项目维护和改进做出贡献的每一个人,包括:

Abbie Popa, Adrin Jalali, Aleksandra Kocot, Alexandre Batisse, Alexandre Gramfort, Alex Henrie, Alex Itkes, Alex Liang, alexshacked, Alonso Silva Allende, Ana Casado, Andreas Mueller, Angela Ambroz, Ankit810, Arie Pratama Sutiono, Arunav Konwar, Baptiste Maingret, Benjamin Beier Liu, bernie gray, Bharathi Srinivasan, Bharat Raghunathan, Bibhash Chandra Mitra, Brian Wignall, brigi, Brigitta Sipőcz, Carlos H Brandt, CastaChick, castor, cgsavard, Chiara Marmo, Chris Gregory, Christian Kastner, Christian Lorentzen, Corrie Bartelheimer, Daniël van Gelder, Daphne, David Breuer, david-cortes, dbauer9, Divyaprabha M, Edward Qian, Ekaterina Borovikova, ELNS, Emily Taylor, Erich Schubert, Eric Leung, Evgeni Chasnovski, Fabiana, Facundo Ferrín, Fan, Franziska Boenisch, Gael Varoquaux, Gaurav Sharma, Geoffrey Bolmier, Georgi Peev, gholdman1, Gonthier Nicolas, Gregory Morse, Gregory R. Lee, Guillaume Lemaitre, Gui Miotto, Hailey Nguyen, Hanmin Qin, Hao Chun Chang, HaoYin, Hélion du Mas des Bourboux, Himanshu Garg, Hirofumi Suzuki, huangk10, Hugo van Kemenade, Hye Sung Jung, indecisiveuser, inderjeet, J-A16, Jérémie du Boisberranger, Jin-Hwan CHO, JJmistry, Joel Nothman, Johann Faouzi, Jon Haitz Legarreta Gorroño, Juan Carlos Alfaro Jiménez, judithabk6, jumon, Kathryn Poole, Katrina Ni, Kesshi Jordan, Kevin Loftis, Kevin Markham, krishnachaitanya9, Lam Gia Thuan, Leland McInnes, Lisa Schwetlick, lkubin, Loic Esteve, lopusz, lrjball, lucgiffon, lucyleeow, Lucy Liu, Lukas Kemkes, Maciej J Mikulski, Madhura Jayaratne, Magda Zielinska, maikia, Mandy Gu, Manimaran, Manish Aradwad, Maren Westermann, Maria, Mariana Meireles, Marie Douriez, Marielle, Mateusz Górski, mathurinm, Matt Hall, Maura Pintor, mc4229, meyer89, m.fab, Michael Shoemaker, Michał Słapek, Mina Naghshhnejad, mo, Mohamed Maskani, Mojca Bertoncelj, narendramukherjee, ngshya, Nicholas Won, Nicolas Hug, nicolasservel, Niklas, @nkish, Noa Tamir, Oleksandr Pavlyk, olicairns, Oliver Urs Lenz, Olivier Grisel, parsons-kyle-89, Paula, Pete Green, Pierre Delanoue, pspachtholz, Pulkit Mehta, Qizhi Jiang, Quang Nguyen, rachelcjordan, raduspaimoc, Reshama Shaikh, Riccardo Folloni, Rick Mackenbach, Ritchie Ng, Roman Feldbauer, Roman Yurchak, Rory Hartong-Redden, Rüdiger Busche, Rushabh Vasani, Sambhav Kothari, Samesh Lakhotia, Samuel Duan, SanthoshBala18, Santiago M. Mola, Sarat Addepalli, scibol, Sebastian Kießling, SergioDSR, Sergul Aydore, Shiki-H, shivamgargsya, SHUBH CHATTERJEE, Siddharth Gupta, simonamaggio, smarie, Snowhite, stareh, Stephen Blystone, Stephen Marsh, Sunmi Yoon, SylvainLan, talgatomarov, tamirlan1, th0rwas, theoptips, Thomas J Fan, Thomas Li, Thomas Schmitt, Tim Nonner, Tim Vink, Tiphaine Viard, Tirth Patel, Titus Christian, Tom Dupré la Tour, trimeta, Vachan D A, Vandana Iyer, Venkatachalam N, waelbenamara, wconnell, wderose, wenliwyan, Windber, wornbb, Yu-Hang “Maxin” Tang