版本 0.21#

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.

版本 0.21.3#

2019年7月30日

变更的模型#

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

  • v0.20.0 发布说明中未能提及当 needs_proba=Truey_true 为二元时,metrics.make_scorer 中的向后不兼容性。现在,评分器函数应接受一维 y_pred (即,正类的概率,形状为 (n_samples,) ),而不是二维 y_pred (即,形状为 (n_samples, 2) )。

变更日志#

sklearn.cluster#

sklearn.compose#

  • Fix 修复了 compose.ColumnTransformer 中的一个问题,当使用列顺序在 :func:fit 和 :func:transform 之间不同的 DataFrame 时,可能会导致将错误的列静默传递给 remainder 转换器。#14237Andreas Schuderer <schuderer> 贡献。

sklearn.datasets#

datasets.fetch_kddcup99 , datasets.fetch_olivetti_faces , datasets.fetch_rcv1 , 以及 datasets.fetch_species_distributions 尝试使用新的 joblib 持久化先前缓存的数据,如果缓存数据是使用已弃用的 sklearn.externals.joblib 持久化的。此行为将被弃用,并在 v0.23 中移除。 #14197Adrin Jalali 提交。

sklearn.ensemble#

sklearn.impute#

sklearn.inspection#

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

sklearn.linear_model#

sklearn.neighbors#

Jérémie du Boisberranger .

sklearn.tree#

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

  • Fix 修复了 tree.plot_tree 中的一个问题,该问题在 DecisionTreeClassifiers 中使用 gini 准则时仍显示熵计算。#13947Frank Hoang 提交。

Version 0.21.2#

2019年5月24日

更新日志#

sklearn.decomposition#

sklearn.metrics#

sklearn.preprocessing#

sklearn.utils.sparsefuncs


Version 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#

ensemble.GradientBoostingRegressorensemble.GradientBoostingClassifier 快得多, 当样本数量大于数万个样本时。这些新估计器的API略有不同, 并且 ensemble.GradientBoostingClassifierensemble.GradientBoostingRegressor 的一些功能尚未支持。

这些新估计器是实验性的,这意味着它们的结果或API可能会在没有任何弃用周期的情况下发生变化。要使用它们,您需要显式导入 enable_hist_gradient_boosting

>>> # 显式要求此实验性功能
>>> from sklearn.experimental import enable_hist_gradient_boosting  # noqa
>>> # 现在可以从 sklearn.ensemble 正常导入
>>> from sklearn.ensemble import HistGradientBoostingClassifier

Note

更新:自版本1.0起,这些估计器不再是实验性的,您不需要使用 from sklearn.experimental import enable_hist_gradient_boosting

#12807Nicolas Hug 贡献。

sklearn.externals


  • API Change 由于我们已放弃对 Python 2.7 的支持,因此弃用了 externals.six#12916Hanmin Qin 提交。

sklearn.feature_extraction#

sklearn.impute#

  • Major Feature 添加了 impute.IterativeImputer ,这是一种通过循环方式将每个具有缺失值的特征建模为其他特征的函数来填补缺失值的策略。 #8478#12177Sergey FeldmanBen Lawson 提交。

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

    >>> from sklearn.experimental import enable_iterative_imputer  # noqa
    >>> # 现在您可以正常从 sklearn.impute 导入
    
    >>> from sklearn.impute import IterativeImputer
    
  • Feature impute.SimpleImputerimpute.IterativeImputer 新增了一个参数 'add_indicator' , 该参数简单地将一个 impute.MissingIndicator 转换堆叠到 填补器的转换输出中。这允许预测估计器考虑缺失性。#12583 , #13601Danylo Baibak 贡献。

  • Fiximpute.MissingIndicator 中,通过在输入为稀疏且 missing_values 属性 设置为 0 时抛出异常,避免隐式稠密化。#13240Bartosz Telenczuk 贡献。

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

sklearn.inspection#

(新子包)

  • Feature 部分依赖图 ( inspection.plot_partial_dependence ) 现在支持任何回归器或分类器(前提是它们有 predict_proba 方法)。#12599Trevor StephensNicolas Hug 贡献。

sklearn.isotonic#

sklearn.linear_model#

使用 ‘saga’ 求解器。#11646Nicolas Hug 贡献。

sklearn.manifold#

sklearn.metrics#

Jaccard系数作为二元、多标签和多类任务的评估指标,具有类似于:func:metrics.f1_score 的接口。#13151Gaurav DhingraJoel Nothman 贡献。

sklearn.mixture#

sklearn.model_selection#

sklearn.multiclass#

sklearn.multioutput#

predict_proba 方法错误地检查了估计器对象中的 predict_proba 属性。

#12222Rebekah Kim 提交。

sklearn.neighbors#

sklearn.neural_network#

sklearn.pipeline#

sklearn.preprocessing#

sklearn.svm#

  • Fix 修复了 svm.SVC.decision_functiondecision_function_shape='ovr' 时的问题。 由于在 decision_function 中使用的缩放,给定样本的 decision_function 值会因评估是在单个样本上还是在包含相同样本的批次上而有所不同。 #10440Jonathan Ohayon 提交。

sklearn.tree#

#12300Adrin Jalali 提交。

sklearn.utils#

多个模块#

  • Major Feature 所有估计器的 __repr__() 方法(在调用 print(estimator) 时使用)已完全重写,基于 Python 的漂亮打印标准库。默认情况下打印所有参数,但可以通过 sklearn.set_config 中的 print_changed_only 选项进行更改。#11705Nicolas Hug 提交。

  • Major Feature 添加估计器标签:这些是估计器的注解,允许程序化检查它们的功能,如稀疏矩阵支持、支持的输出类型和支持的方法。估计器

标签还决定了在调用 check_estimator 时对估计器运行的测试。更多信息请参阅 用户指南#8022Andreas Müller 贡献。

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

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

杂项#

  • Enhancement Joblib 不再嵌入在 scikit-learn 中,而是成为了一个依赖项。最低支持版本是 joblib 0.11,但强烈建议使用版本 >= 0.13。#13531Roman Yurchak 贡献。

估计器检查的变更#

这些变更主要影响库的开发者。

  • check_estimator 添加了 check_fit_idempotent ,该检查确保当 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, ^__^