版本 0.19#

版本 0.19.2#

2018年7月

此版本仅用于支持 Python 3.7。

相关更改#

版本 0.19.1#

2017年10月23日

这是一个修复错误的版本,包含一些小的文档改进和 0.19.0 版本中发布功能的增强。

请注意,在此版本中,TSNE 输出可能会有细微差异(由于 #9623 ),在多个样本与某些样本距离相等的情况下。

更新日志#

API 变更#

  • 恢复了 metrics.ndcg_scoremetrics.dcg_score 的添加,这些内容在 0.19.0 版本中被错误地合并。 其实现存在问题且未文档化。

  • return_train_score 在 0.19.0 版本中被添加到 model_selection.GridSearchCVmodel_selection.RandomizedSearchCVmodel_selection.cross_validate , 其默认值将在 0.21 版本中从 True 更改为 False。我们发现,在某些情况下,计算训练分数可能会对交叉验证运行时间产生重大影响。 如果预测或评分函数较慢,导致对 CV 运行时间产生不利影响,用户应显式设置 return_train_score 为 False, 或者如果希望使用计算的分数,则设置为 True。#9677Kumar AshutoshJoel Nothman 贡献。

  • 从旧版高斯过程模块中移除了 correlation_modelsregression_models 。 进程实现已被延迟弃用。#9717Kumar Ashutosh 提交。

Bug 修复#

0.19.0 中的回归问题在 0.19.1 中修复:

增强功能#

代码和文档贡献者#

感谢以下人员:

Joel Nothman, Loic Esteve, Andreas Mueller, Kumar Ashutosh, Vrishank Bhardwaj, Hanmin Qin, Rasul Kerimov, James Bourbeau, Nagarjuna Kumar, Nathaniel Saul, Olivier Grisel, Roman Yurchak, Reiichiro Nakano, Sachin Kelkar, Sam Steingold, Yaroslav Halchenko, diegodlh, felix, goncalo-rodrigues, jkleint, oliblum90, pasbi, Anthony Gitter, Ben Lawson, Charlie Brummitt, Didi Bar-Zev, Gael Varoquaux, Joan Massich, Joris Van den Bossche, nielsenmarkus11

版本 0.19#

2017年8月12日

亮点#

我们很高兴地发布了一系列令人兴奋的新功能,包括用于异常检测的 neighbors.LocalOutlierFactor ,用于鲁棒特征变换的 preprocessing.QuantileTransformer ,以及用于简化多标签问题中类别间依赖关系的 multioutput.ClassifierChain 元估计器。我们在现有的估计器中引入了一些新算法,例如 decomposition.NMF 中的乘法更新和带有 L1 损失的多项式 linear_model.LogisticRegression (使用 solver='saga' )。

交叉验证现在能够返回多个指标评估的结果。新的 model_selection.cross_validate 可以返回测试数据以及训练集性能和时间的多个分数,并且我们扩展了网格/随机搜索的 scoringrefit 参数 以处理多个指标

你还可以更快地学习。例如,pipeline.Pipeline 中的 新选项以缓存变换 使得包括慢速变换的管道网格搜索更加高效。并且你可以更快地预测:如果你确信你知道自己在做什么,你可以使用 config_context 关闭验证输入是否为有限值。

我们也进行了一些重要的修复。我们修复了 metrics.average_precision_score 中长期存在的实现错误,因此请谨慎对待之前从该函数报告的结果。manifold.TSNE 实现中的许多错误已被修复,特别是在默认的 Barnes-Hut 近似中。semi_supervised.LabelSpreadingsemi_supervised.LabelPropagation 也进行了重大修复。LabelPropagation 之前是损坏的。LabelSpreading 现在应该正确地尊重其 alpha 参数。

更改的模型#

以下估计器和函数,当使用相同的数据和 参数的变化可能导致与上一版本不同的模型。这通常是由于建模逻辑的变化(错误修复或增强),或随机抽样程序的变化引起的。

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

(虽然我们正努力通过提供这些信息来更好地通知用户,但我们不能保证此列表是完整的。)

变更日志#

新功能#

分类器和回归器

其他估计器

模型选择和评估

杂项

  • 现在可以使用 config_context 抑制对输入数据不包含 NaN 或 inf 的验证, 风险自负。这将节省运行时间,并且在预测时间可能特别有用。 #7548Joel Nothman 贡献。

  • 添加了一个测试,以确保文档字符串中的参数列表与函数/类签名匹配。 #9206Alexandre GramfortRaghav RV 贡献。

增强功能#

树和集成

线性、核化和相关模型

linear_model.Perceptron 现在公开了 max_itertol 参数,以便更精确地处理收敛问题。 n_iter 参数已被弃用,拟合的估计器公开了一个 n_iter_ 属性,表示收敛前的实际迭代次数。#5036Tom Dupre la Tour 贡献。

其他预测器

分解、流形学习和聚类

预处理和特征选择

模型评估和元估计器

多类(或多标签)数据。#9044Vlad Niculae 提供。

指标

杂项

Bug 修复#

树和集成

当传递一个numpy数组作为权重时。#7983Vincent Pham 修复。

  • 修复了一个错误,当 features_names 的长度与决策树中的 n_features 不匹配时,tree.export_graphviz 会引发错误。#8512Li Li 修复。

线性、核化和相关模型

整数类。#8676Vathsala Achar 贡献。

其他预测器

分解、流形学习和聚类

预处理和特征选择

模型评估和元估计器

Metrics

杂项

API 变更总结#

树和集成#

  • 梯度提升基础模型不再是估计器。由 Andreas Müller 完成。

  • 所有基于树的估计器现在接受 min_impurity_decrease 参数,以替代已弃用的 min_impurity_splitmin_impurity_decrease 有助于停止分裂那些加权不纯度减少不再至少为 min_impurity_decrease 的节点。#8449Raghav RV 完成。

线性、核化和相关模型#

其他预测器#

分解、流形学习和聚类#

预处理和特征选择

模型评估和元估计器

其他

  • 弃用 transforminverse_transform 中的 y 参数。该方法不应接受 y 参数,因为它用于预测时。#8174Tahar ZanoudaAlexandre GramfortRaghav RV 贡献。

  • SciPy >= 0.13.3 和 NumPy >= 1.8.2 现在是 scikit-learn 支持的最低版本。以下在 sklearn.utils 中的回溯功能已被相应移除或弃用。#8854#8874Naoya Kanai 提交。

  • discriminant_analysis.QuadraticDiscriminantAnalysisstore_covariancescovariances_ 参数已重命名为 store_covariancecovariance_ ,以与 discriminant_analysis.LinearDiscriminantAnalysis 的相应参数名称保持一致。它们将在 0.21 版本中被移除。#7998Jiacheng 提交。

    在 0.19 版本中移除:

    • utils.fixes.argpartition

    • utils.fixes.array_equal

    • utils.fixes.astype

    • utils.fixes.bincount

    • utils.fixes.expit

    • utils.fixes.frombuffer_empty

    • utils.fixes.in1d

    • utils.fixes.norm

    • utils.fixes.rankdata

    • utils.fixes.safe_copy

    在 0.19 版本中弃用,将在 0.21 版本中移除:

    • utils.arpack.eigs

    • utils.arpack.eigsh

    • utils.arpack.svds

    • utils.extmath.fast_dot

    • utils.extmath.logsumexp

    • utils.extmath.norm

    • utils.extmath.pinvh

    • utils.graph.graph_laplacian

    • utils.random.choice

    • utils.sparsetools.connected_components

    • utils.stats.rankdata

  • 具有 decision_functionpredict_proba 方法的估计器现在需要它们之间具有单调关系。已在 utils.estimator_checks 中添加了 check_decision_proba_consistency 方法来检查它们的一致性。#7578Shubham Bhardwaj 提交。

  • utils.estimator_checks 中的所有检查,特别是 utils.estimator_checks.check_estimator 现在接受估计器实例。大多数其他检查不再接受估计器类。#9019Andreas Müller 提交。

  • 确保估计器的属性不以 _ 结尾。

在构造函数中,但仅在 fit 方法中可用。最值得注意的是,集成估计器(继承自 ensemble.BaseEnsemble )现在只有在 fit 之后才可访问 self.estimators_#7464Lars BuitinckLoic Esteve 贡献。

代码和文档贡献者#

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

Joel Nothman, Loic Esteve, Andreas Mueller, Guillaume Lemaitre, Olivier Grisel, Hanmin Qin, Raghav RV, Alexandre Gramfort, themrmax, Aman Dalmia, Gael Varoquaux, Naoya Kanai, Tom Dupré la Tour, Rishikesh, Nelson Liu, Taehoon Lee, Nelle Varoquaux, Aashil, Mikhail Korobov, Sebastin Santy, Joan Massich, Roman Yurchak, RAKOTOARISON Herilalaina, Thierry Guillemot, Alexandre Abadie, Carol Willing, Balakumaran Manoharan, Josh Karnofsky, Vlad Niculae, Utkarsh Upadhyay, Dmitry Petrov, Minghui Liu, Srivatsan, Vincent Pham, Albert Thomas, Jake VanderPlas, Attractadore, JC Liu, alexandercbooth, chkoar, Óscar Nájera, Aarshay Jain, Kyle Gilliam, Ramana Subramanyam, CJ Carey, Clement Joudet, David Robles, He Chen, Joris Van den Bossche, Karan Desai, Katie Luangkote, Leland McInnes, Maniteja Nandana, Michele Lacchia, Sergei Lebedev, Shubham Bhardwaj, akshay0724, omtcyfz, rickiepark, waterponey, Vathsala Achar, jbDelafosse, Ralf Gommers, Ekaterina Krivich, Vivek Kumar, Ishank Gulati, Dave Elliott, ldirer, Reiichiro Nakano, Levi John Wolf, Mathieu Blondel, Sid Kapur, Dougal J. Sutherland, midinas, mikebenfield, Sourav Singh, Aseem Bansal, Ibraim Ganiev, Stephen Hoover, AishwaryaRK, Steven C. Howell, Gary Foreman, Neeraj Gangwar, Tahar, Jon Crall, dokato, Kathy Chen, ferria, Thomas Moreau, Charlie Brummitt, Nicolas Goix, Adam Kleczewski, Sam Shleifer, Nikita Singh, Basil Beirouti, Giorgio Patrini, Manoj Kumar, Rafael Possas, James Bourbeau, James A. Bednar, Janine Harper, Jaye, Jean Helie, Jeremy Steward, Artsiom, John Wei, Jonathan Ligo, Jonathan Rahn, seanpwilliams, Arthur Mensch, Josh Levy, Julian Kuhlmann, Julien Aubert, Jörn Hees, Kai, shivamgargsya, Kat Hempstalk, Kaushik Lakshmikanth, Kennedy, Kenneth Lyons, Kenneth Myers, Kevin Yap, Kirill Bobyrev, Konstantin Podshumok, Arthur Imbert, Lee Murray, toastedcornflakes, Lera, Li Li, Arthur Douillard, Mainak Jas, tobycheese, Manraj Singh, Manvendra Singh, Marc Meketon, MarcoFalke, Matthew Brett, Matthias Gilch, Mehul Ahuja, Melanie Goetz, Meng, Peng, Michael Dezube, Michal Baumgartner, vibrantabhi19, Artem Golubin, Milen Paskov, Antonin Carette, Morikko, MrMjauh, NALEPA Emmanuel, Namiya, Antoine Wendlinger, Narine Kokhlikyan, NarineK, Nate Guerin, Angus Williams, Ang Lu, Nicole Vavrova, Nitish Pandey, Okhlopkov Daniil Olegovich, Andy Craze, Om Prakash, Parminder Singh, Patrick Carlson, Patrick Pei, Paul Ganssle, Paulo Haddad, Paweł Lorek, Peng Yu, Pete Bachant, Peter Bull, Peter Csizsek, Peter Wang, Pieter Arthur de Jong, Ping-Yao, Chang, Preston Parry, Puneet Mathur, Quentin Hibon, Andrew Smith, Andrew Jackson, 1kastner, Rameshwar Bhaskaran, Rebecca Bilbro, Remi Rampin, Andrea Esuli, Rob Hall, Robert Bradshaw, Romain Brault, Aman Pratik, Ruifeng Zheng, Russell Smith, Sachin Agarwal, Sailesh Choyal, Samson Tan, Samuël Weber, Sarah Brown, Sebastian Pölsterl, Sebastian Raschka, Sebastian Saeger, Alyssa Batula, Abhyuday Pratap Singh, Sergey Feldman, Sergul Aydore, Sharan Yalburgi, willduan, Siddharth Gupta, Sri Krishna, Almer, Stijn Tonk, Allen Riddell, Theofilos Papapanagiotou, Alison, Alexis Mignon, Tommy Boucher, Tommy Löfstedt, Toshihiro Kamishima, Tyler Folkman, Tyler Lanigan, Alexander Junge, Varun Shenoy, Victor Poughon, Vilhelm von Ehrenheim, Aleksandr Sandrovskii, Alan Yee, Vlasios Vasileiou, Warut Vijitbenjaronk, Yang Zhang, Yaroslav Halchenko, Yichuan Liu, Yuichi Fujikawa, affanv14, aivision2020, xor, andreh7, brady salz, campustrampus, Agamemnon Krasoulis, ditenberg, elena-sharova, filipj8, fukatani, gedeck, guiniol, guoci, hakaa1, hongkahjun, i-am-xhy, jakirkham, jaroslaw-weber, jayzed82, jeroko, jmontoyam, jonathan.striebel, josephsalmon, jschendel, leereeves, martin-hahn, mathurinm, mehak-sachdeva, mlewis1729, mlliou112, mthorrell, ndingwall, nuffe, yangarbiter, plagree, pldtc325, Breno Freitas, Brett Olsen, Brian A. Alfano, Brian Burns, polmauri, Brandon Carter, Charlton Austin, Chayant T15h, Chinmaya Pancholi, Christian Danielsen, Chung Yen, Chyi-Kwei Yau, pravarmahajan, DOHMATOB Elvis, Daniel LeJeune, Daniel Hnyk, Darius Morawiec, David DeTomaso, David Gasquez, David Haberthür, David Heryanto, David Kirkby, David Nicholson, rashchedrin, Deborah Gertrude Digges, Denis Engemann, Devansh D, Dickson, Bob Baxley, Don86, E. Lynch-Klarup, Ed Rogers, Elizabeth Ferriss, Ellen-Co2, Fabian Egli, Fang-Chieh Chou, Bing Tian Dai, Greg Stupp, Grzegorz Szpak, Bertrand Thirion, Hadrien Bertrand, Harizo Rajaona, zxcvbnius, Henry Lin, Holger Peters, Icyblade Dai, Igor Andriushchenko, Ilya, Isaac Laughlin, Iván Vallés, Aurélien Bellet, JPFrancoia, Jacob Schreiber, Asish Mahapatra