版本 0.21#

更新日志图例

  • 主要功能 之前无法实现的重大功能。

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

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

  • 改进 一些杂项的微小改进。

  • 修复 之前未按文档工作或未符合合理预期的问题现已修复。

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

版本 0.21.3#

2019年7月30日

更改的模型#

以下估计器和函数在用相同数据和参数进行拟合时,可能会产生与之前版本不同的模型。这通常是由于建模逻辑的更改(错误修复或增强)或随机抽样过程的更改而引起的。

  • v0.20.0 版本说明未能提及 metrics.make_scorerneeds_proba=Truey_true 为二元时存在的向后不兼容性。现在,评分器函数应该接受一个 1D 的 y_pred(即正类的概率,形状为 (n_samples,)),而不是 2D 的 y_pred(即形状为 (n_samples, 2))。

更新日志#

sklearn.cluster#

sklearn.compose#

  • 修复 修复了 compose.ColumnTransformer 中的一个问题,该问题导致在使用 fittransform 之间列顺序不同的 DataFrames 时,可能会悄无声息地将错误的列传递给 remainder 转换器。#14237Andreas Schuderer <schuderer> 提交。

sklearn.datasets#

sklearn.ensemble#

sklearn.impute#

sklearn.inspection#

  • 修复 修复了 inspection.plot_partial_dependence 中的一个错误,该错误导致在多分类问题中未考虑 target 参数。#14393Guillem G. Subies 提交。

sklearn.linear_model#

sklearn.neighbors#

sklearn.tree#

  • 修复 修复了 tree.export_text 中的一个错误,该错误发生在树只有一个特征且传入单个特征名称时。#14053Thomas Fan 提交。

  • 修复 修复了 tree.plot_tree 的一个问题,该问题导致即使对于 DecisionTreeClassifiers 中的 gini 标准,它也显示熵计算。#13947Frank Hoang 提交。

版本 0.21.2#

2019年5月24日

更新日志#

sklearn.decomposition#

sklearn.metrics#

sklearn.preprocessing#

sklearn.utils.sparsefuncs#

版本 0.21.1#

2019年5月17日

这是一个错误修复版本,主要解决了 0.21.0 版本中的一些打包问题。它还包括一些次要的文档改进和错误修复。

更新日志#

sklearn.inspection#

sklearn.metrics#

sklearn.neighbors#

版本 0.21.0#

2019年5月

更改的模型#

以下估计器和函数在用相同数据和参数进行拟合时,可能会产生与之前版本不同的模型。这通常是由于建模逻辑的更改(错误修复或增强)或随机抽样过程的更改而引起的。

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

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

已知主要错误#

  • 对于许多求解器而言,linear_model.LogisticRegression 的默认 max_iter 值相对于默认的 tol 值太小了。特别是,在 0.16 版本发布的 #3591 中,我们意外地将 liblinear 求解器的默认 max_iter 从 1000 次迭代更改为 100 次迭代。在未来的版本中,我们希望根据求解器启发式地选择更好的默认 max_itertol 值(参见 #13317)。

更新日志#

已正式停止支持 Python 3.4 及更低版本。

sklearn.base#

sklearn.calibration#

sklearn.cluster#

sklearn.compose#

sklearn.datasets#

sklearn.decomposition#

sklearn.discriminant_analysis#

sklearn.dummy#

sklearn.ensemble#

sklearn.externals#

  • API 变更 由于已停止支持 Python 2.7,externals.six 已被弃用。#12916Hanmin Qin 提交。

sklearn.feature_extraction#

sklearn.impute#

  • 主要特性 新增了 impute.IterativeImputer,这是一种通过以循环方式将每个带有缺失值的特征建模为其他特征的函数来插补缺失值的策略。#8478#12177Sergey FeldmanBen Lawson 提交。

    IterativeImputer 的 API 是实验性的,可能会在没有任何弃用周期的情况下发生变化。要使用它们,您需要显式导入 enable_iterative_imputer

    >>> from sklearn.experimental import enable_iterative_imputer  # noqa
    >>> # now you can import normally from sklearn.impute
    >>> from sklearn.impute import IterativeImputer
    
  • 特性 impute.SimpleImputerimpute.IterativeImputer 有一个新的参数 'add_indicator',它将 impute.MissingIndicator 变换简单地堆叠到插补器的变换输出中。这允许预测估计器考虑缺失情况。#12583#13601Danylo Baibak 提交。

  • 修复impute.MissingIndicator 中,如果输入是稀疏的并且 missing_values 属性设置为 0,则会引发异常以避免隐式稠密化。#13240Bartosz Telenczuk 提交。

  • 修复 修复了 impute.MissingIndicator 中的两个错误。首先,当 X 是稀疏时,所有非零且非缺失的值在转换后的数据中都会变为显式的 False。其次,当 features='missing-only' 时,如果完全没有缺失值,所有特征都会被保留。#13562Jérémie du Boisberranger 提交。

sklearn.inspection#

(新子包)

  • 特性 现在支持对任何回归器或分类器(前提是它们具有 predict_proba 方法)生成部分依赖性图 (inspection.plot_partial_dependence)。#12599Trevor StephensNicolas Hug 提交。

sklearn.isotonic#

sklearn.linear_model#

sklearn.manifold#

  • 效率提升 manifold.trustworthiness 现在使用倒排索引而非 np.where 查找来确定输入空间中邻居的排名。这尤其在邻居数量多和/或数据集较小的情况下提高了效率。 #9907William de Vazelhes 贡献。

sklearn.metrics#

sklearn.mixture#

sklearn.model_selection#

sklearn.multiclass#

sklearn.multioutput#

sklearn.neighbors#

sklearn.neural_network#

sklearn.pipeline#

sklearn.preprocessing#

sklearn.svm#

  • 修复 修复了 svm.SVC.decision_function 中,当 decision_function_shape='ovr' 时的一个问题。由于 `decision_function` 中使用的缩放比例,给定样本的 `decision_function` 值在单独评估该样本或在包含该样本的批次上评估时是不同的。 #10440Jonathan Ohayon 贡献。

sklearn.tree#

sklearn.utils#

多个模块#

  • 主要功能 所有估计器的 __repr__() 方法(在调用 print(estimator) 时使用)已完全重写,基于 Python 的美观打印标准库。默认情况下会打印所有参数,但这可以通过 sklearn.set_config 中的 print_changed_only 选项进行更改。 #11705Nicolas Hug 贡献。

  • 主要功能 添加了估计器标签:这些是对估计器的注解,允许以编程方式检查其功能,例如稀疏矩阵支持、支持的输出类型和支持的方法。估计器标签还决定了在调用 check_estimator 时对估计器运行的测试。更多信息请参阅用户指南#8022Andreas Müller 贡献。

  • 效率提升 在多个估计器中将数组转换为不同数据类型时,避免了内存复制。 #11973Roman Yurchak 贡献。

  • 修复 修复了 our_rand_r 辅助函数的实现中的一个错误,该错误导致其在不同平台上的行为不一致。 #13422Madhura ParikhClément Doumouro 贡献。

其他#

  • 改进 Joblib 不再是 scikit-learn 的内部捆绑库,而是成为了一个依赖项。最低支持版本是 joblib 0.11,但强烈建议使用 0.13 或更高版本。 #13531Roman Yurchak 贡献。

估计器检查的变更#

这些变更主要影响库开发人员。

  • check_fit_idempotent 添加到 check_estimator 中,该函数检查当 fit 方法使用相同数据调用两次时,predictpredict_probatransformdecision_function 的输出是否保持不变。 #12328Nicolas Hug 贡献。

  • 许多检查现在可以通过估计器标签进行禁用或配置。 #8022Andreas Müller 贡献。

代码和文档贡献者

感谢自 0.20 版本以来为项目的维护和改进做出贡献的所有人,包括

adanhawth, Aditya Vyas, Adrin Jalali, Agamemnon Krasoulis, Albert Thomas, Alberto Torres, Alexandre Gramfort, amourav, Andrea Navarrete, Andreas Mueller, Andrew Nystrom, assiaben, Aurélien Bellet, Bartosz Michałowski, Bartosz Telenczuk, bauks, BenjaStudio, bertrandhaut, Bharat Raghunathan, brentfagan, Bryan Woods, Cat Chenal, Cheuk Ting Ho, Chris Choe, Christos Aridas, Clément Doumouro, Cole Smith, Connossor, Corey Levinson, Dan Ellis, Dan Stine, Danylo Baibak, daten-kieker, Denis Kataev, Didi Bar-Zev, Dillon Gardner, Dmitry Mottl, Dmitry Vukolov, Dougal J. Sutherland, Dowon, drewmjohnston, Dror Atariah, Edward J Brown, Ekaterina Krivich, Elizabeth Sander, Emmanuel Arias, Eric Chang, Eric Larson, Erich Schubert, esvhd, Falak, Feda Curic, Federico Caselli, Frank Hoang, Fibinse Xavier`, Finn O’Shea, Gabriel Marzinotto, Gabriel Vacaliuc, Gabriele Calvo, Gael Varoquaux, GauravAhlawat, Giuseppe Vettigli, Greg Gandenberger, Guillaume Fournier, Guillaume Lemaitre, Gustavo De Mari Pereira, Hanmin Qin, haroldfox, hhu-luqi, Hunter McGushion, Ian Sanders, JackLangerman, Jacopo Notarstefano, jakirkham, James Bourbeau, Jan Koch, Jan S, janvanrijn, Jarrod Millman, jdethurens, jeremiedbb, JF, joaak, Joan Massich, Joel Nothman, Jonathan Ohayon, Joris Van den Bossche, josephsalmon, Jérémie Méhault, Katrin Leinweber, ken, kms15, Koen, Kossori Aruku, Krishna Sangeeth, Kuai Yu, Kulbear, Kushal Chauhan, Kyle Jackson, Lakshya KD, Leandro Hermida, Lee Yi Jie Joel, Lily Xiong, Lisa Sarah Thomas, Loic Esteve, louib, luk-f-a, maikia, mail-liam, Manimaran, Manuel López-Ibáñez, Marc Torrellas, Marco Gaido, Marco Gorelli, MarcoGorelli, marineLM, Mark Hannel, Martin Gubri, Masstran, mathurinm, Matthew Roeschke, Max Copeland, melsyt, mferrari3, Mickaël Schoentgen, Ming Li, Mitar, Mohammad Aftab, Mohammed AbdelAal, Mohammed Ibraheem, Muhammad Hassaan Rafique, mwestt, Naoya Iijima, Nicholas Smith, Nicolas Goix, Nicolas Hug, Nikolay Shebanov, Oleksandr Pavlyk, Oliver Rausch, Olivier Grisel, Orestis, Osman, Owen Flanagan, Paul Paczuski, Pavel Soriano, pavlos kallis, Pawel Sendyk, peay, Peter, Peter Cock, Peter Hausamann, Peter Marko, Pierre Glaser, pierretallotte, Pim de Haan, Piotr Szymański, Prabakaran Kumaresshan, Pradeep Reddy Raamana, Prathmesh Savale, Pulkit Maloo, Quentin Batista, Radostin Stoyanov, Raf Baluyot, Rajdeep Dua, Ramil Nugmanov, Raúl García Calvo, Rebekah Kim, Reshama Shaikh, Rohan Lekhwani, Rohan Singh, Rohan Varma, Rohit Kapoor, Roman Feldbauer, Roman Yurchak, Romuald M, Roopam Sharma, Ryan, Rüdiger Busche, Sam Waterbury, Samuel O. Ronsin, SandroCasagrande, Scott Cole, Scott Lowe, Sebastian Raschka, Shangwu Yao, Shivam Kotwalia, Shiyu Duan, smarie, Sriharsha Hatwar, Stephen Hoover, Stephen Tierney, Stéphane Couvreur, surgan12, SylvainLan, TakingItCasual, Tashay Green, thibsej, Thomas Fan, Thomas J Fan, Thomas Moreau, Tom Dupré la Tour, Tommy, Tulio Casagrande, Umar Farouk Umar, Utkarsh Upadhyay, Vinayak Mehta, Vishaal Kapoor, Vivek Kumar, Vlad Niculae, vqean3, Wenhao Zhang, William de Vazelhes, xhan, Xing Han Lu, xinyuliu12, Yaroslav Halchenko, Zach Griffith, Zach Miller, Zayd Hammoudeh, Zhuyi Xue, Zijie (ZJ) Poh, ^__^