版本 0.23#

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

更新日志图例

  • Major Feature 以前无法实现的重要功能。

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

  • Efficiency 现有功能现在可能不再需要大量计算或内存。

  • Enhancement 杂项小改进。

  • Fix 以前未按文档说明或合理预期工作的功能现在应该可以工作了。

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

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

杂项#

  • Fix 修复了第三方估计器 repr 中的一个错误,这些估计器在其构造函数中使用 **kwargs 参数,当 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

更改的模型#

以下估计器和函数,在使用相同数据和参数拟合时,可能会产生与之前版本不同的模型。这通常是由于建模逻辑(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#

  • 修复 效率 改进了 libsvmliblinear 中用于坐标下降算法随机选择坐标的随机数生成器。之前使用的是依赖平台的 C rand(),它在 Windows 平台上只能生成最大 32767 的数字(参见这篇博客文章),并且如此演示文稿所示,其随机化能力较弱。它已被 C++11 mt19937 替换,这是一个 Mersenne Twister,可在所有平台上正确生成 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