版本 0.23#

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

更新日志图例

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

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

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

  • 增强 一般性的小改进。

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

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

版本 0.23.2#

变更模型#

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

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

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

更新日志#

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 的错误,此时 changed_only 为 True(现在是默认值)。 #17205 by Nicolas Hug

版本 0.23.0#

2020 年 5 月 12 日

强制关键字参数#

为了推广清晰且无歧义的库使用方式,大多数构造函数和函数参数现在应作为关键字参数(即使用 param=value 语法)而非位置参数传递。为便于过渡,如果将关键字参数用作位置参数,则会引发 FutureWarning。在版本 1.0(0.25 的重命名版本)中,这些参数将严格为关键字参数,并会引发 TypeError#15005 by Joel Nothman, Adrin Jalali, Thomas Fan, and Nicolas Hug。有关更多详细信息,请参阅 SLEP009

更改的模型#

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

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

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

更改日志#

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#

  • Fix Efficiency 改进了 libsvmliblinear 中用于在坐标下降算法中随机选择坐标的随机数生成器。以前使用的是平台相关的 C rand(),在 Windows 平台上只能生成小于等于 32767 的数字(参见此 博客文章),并且随机化能力较差,正如 此演示文稿 所建议的。现已替换为 C++11 mt19937,一个 Mersenne Twister,它可以在所有平台上正确生成 31 位/63 位随机数。此外,用于获取有界区间的随机数的粗略“模”后处理器已被替换为修改后的 Lemire 方法,如 此博客文章 所建议的。任何使用 svm.libsvmsvm.liblinear 求解器的模型,包括 svm.LinearSVC, svm.LinearSVR, svm.NuSVC, svm.NuSVR, svm.OneClassSVM, svm.SVC, svm.SVR, linear_model.LogisticRegression, 都会受到影响。特别是,当样本数量(LibSVM)或特征数量(LibLinear)很大时,用户可以期待更好的收敛性。 #13511Sylvain Marié 贡献。

  • Fix 修复了 svm.SVCsvm.SVR 中使用不接受浮点数输入的自定义核(如字符串核)的问题。请注意,自定义核现在需要验证其输入,而以前它们会收到有效的数值数组。 #11296Alexandre GramfortGeorgi Peev 贡献。

  • API Change svm.SVRsvm.OneClassSVM 的属性 probA_probB_ 已被弃用,因为它们没有实际用途。 #15558Thomas Fan 贡献。

sklearn.tree#

sklearn.utils#

Miscellaneous#

  • Major Feature 添加了估计器的 HTML 表示,用于在 jupyter notebook 或 lab 中显示。此可视化是通过在 sklearn.set_config 中设置 display 选项来激活的。 #14180Thomas Fan 贡献。

  • Enhancement scikit-learn 现在可以与 mypy 无错误地工作。 #16726Roman Yurchak 贡献。

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

  • API Change 估计器现在有一个 requires_y 标签,默认情况下为 False,除非估计器继承自 ~sklearn.base.RegressorMixin~sklearn.base.ClassifierMixin。此标签用于确保当期望 y 但传递了 None 时,会引发正确的错误消息。 #16622Nicolas Hug 贡献。

  • API Change 默认设置 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