版本 0.20#

警告

版本 0.20 是 scikit-learn 支持 Python 2.7 和 Python 3.4 的最后一个版本。Scikit-learn 0.21 将需要 Python 3.5 或更高版本。

更新日志图例

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

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

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

  • 增强 一般性的小改进。

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

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

版本 0.20.4#

2019 年 7 月 30 日

这是一个错误修复版本,对版本 0.20.3 应用了一些错误修复。

更新日志#

捆绑的 joblib 版本已从 0.13.0 升级到 0.13.2。

sklearn.cluster#

sklearn.compose#

  • 修复 修复了 compose.ColumnTransformer 中的一个问题,即在 fittransform 之间列顺序不同的 DataFrames 可能会导致错误地将不正确的列静默传递给 remainder 转换器。 #14237Andreas Schuderer <schuderer> 提交。

sklearn.decomposition#

sklearn.model_selection#

sklearn.neighbors#

版本 0.20.3#

2019 年 3 月 1 日

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

更新日志#

sklearn.cluster#

sklearn.compose#

sklearn.covariance#

sklearn.decomposition#

sklearn.datasets#

sklearn.feature_extraction#

sklearn.impute#

sklearn.linear_model#

sklearn.preprocessing#

sklearn.svm#

代码和文档贡献者#

感谢

Adrin Jalali, Agamemnon Krasoulis, Albert Thomas, Andreas Mueller, Aurélien Bellet, bertrandhaut, Bharat Raghunathan, Dowon, Emmanuel Arias, Fibinse Xavier, Finn O’Shea, Gabriel Vacaliuc, Gael Varoquaux, Guillaume Lemaitre, Hanmin Qin, joaak, Joel Nothman, Joris Van den Bossche, Jérémie Méhault, kms15, Kossori Aruku, Lakshya KD, maikia, Manuel López-Ibáñez, Marco Gorelli, MarcoGorelli, mferrari3, Mickaël Schoentgen, Nicolas Hug, pavlos kallis, Pierre Glaser, pierretallotte, Prabakaran Kumaresshan, Reshama Shaikh, Rohit Kapoor, Roman Yurchak, SandroCasagrande, Tashay Green, Thomas Fan, Vishaal Kapoor, Zhuyi Xue, Zijie (ZJ) Poh

版本 0.20.2#

2018 年 12 月 20 日

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

变更模型#

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

  • metric=='jaccard'sklearn.neighbors (bug fix)

  • 在某些情况下使用 'seuclidean''mahalanobis' 指标 (bug fix)

更新日志#

sklearn.compose#

sklearn.metrics#

sklearn.neighbors#

  • 修复 修复了 sklearn.neighbors.DistanceMetric jaccard 距离函数,使其在比较两个全零向量时返回 0。 #12685Thomas Fan 提交。

sklearn.utils#

代码和文档贡献者#

感谢

adanhawth, Adrin Jalali, Albert Thomas, Andreas Mueller, Dan Stine, Feda Curic, Hanmin Qin, Jan S, jeremiedbb, Joel Nothman, Joris Van den Bossche, josephsalmon, Katrin Leinweber, Loic Esteve, Muhammad Hassaan Rafique, Nicolas Hug, Olivier Grisel, Paul Paczuski, Reshama Shaikh, Sam Waterbury, Shivam Kotwalia, Thomas Fan

版本 0.20.1#

2018 年 11 月 21 日

这是一个错误修复版本,包含一些次要的文档改进和对 0.20.0 版本中发布的功能的增强。请注意,此版本中还包含一些 API 更改,因此从 0.20.0 更新到 0.20.1 后可能会收到一些额外的警告。

更改的模型#

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

更新日志#

sklearn.cluster#

sklearn.compose#

sklearn.datasets#

sklearn.decomposition#

  • 修复 修复了 decomposition.IncrementalPCA 中的回归问题,其中 0.20.0 在拟合 IncrementalPCA 的最后一个批次中的样本数小于 n_components 时引发错误。 #12234Ming Li 提交。

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.linear_model#

sklearn.metrics#

sklearn.mixture#

sklearn.neighbors#

sklearn.preprocessing#

sklearn.utils#

杂项#

  • 修复 当通过设置环境变量 SKLEARN_SITE_JOBLIB 使用 site joblib 时,除了 0.12+ 之外,还添加了对 joblib 0.11 的兼容性。 #12350Joel NothmanRoman Yurchak 提交。

  • 修复 确保在使用 numpy 1.16 及更高版本调用 np.vstack 时避免引发 FutureWarning(在 scikit-learn 代码库的许多位置使用列表推导式而不是生成器表达式)。 #12467Olivier Grisel 提交。

  • API 更改 移除了所有对 sklearn.externals.joblib 的提及,并弃用了暴露在 sklearn.utils 中的 joblib 方法,除了 utils.parallel_backendutils.register_parallel_backend,它们允许用户配置 scikit-learn 中的并行计算。其他功能是 joblib 包的一部分,应通过安装它直接使用。此更改的目标是为未来版本的 scikit-learn 中取消捆绑 joblib 做准备。 #12345Thomas Moreau 提交

代码和文档贡献者#

感谢

^__^, Adrin Jalali, Andrea Navarrete, Andreas Mueller, bauks, BenjaStudio, Cheuk Ting Ho, Connossor, Corey Levinson, Dan Stine, daten-kieker, Denis Kataev, Dillon Gardner, Dmitry Vukolov, Dougal J. Sutherland, Edward J Brown, Eric Chang, Federico Caselli, Gabriel Marzinotto, Gael Varoquaux, GauravAhlawat, Gustavo De Mari Pereira, Hanmin Qin, haroldfox, JackLangerman, Jacopo Notarstefano, janvanrijn, jdethurens, jeremiedbb, Joel Nothman, Joris Van den Bossche, Koen, Kushal Chauhan, Lee Yi Jie Joel, Lily Xiong, mail-liam, Mark Hannel, melsyt, Ming Li, Nicholas Smith, Nicolas Hug, Nikolay Shebanov, Oleksandr Pavlyk, Olivier Grisel, Peter Hausamann, Pierre Glaser, Pulkit Maloo, Quentin Batista, Radostin Stoyanov, Ramil Nugmanov, Rebekah Kim, Reshama Shaikh, Rohan Singh, Roman Feldbauer, Roman Yurchak, Roopam Sharma, Sam Waterbury, Scott Lowe, Sebastian Raschka, Stephen Tierney, SylvainLan, TakingItCasual, Thomas Fan, Thomas Moreau, Tom Dupré la Tour, Tulio Casagrande, Utkarsh Upadhyay, Xing Han Lu, Yaroslav Halchenko, Zach Miller

版本 0.20.0#

2018 年 9 月 25 日

此版本为 Scikit-learn 库打包了大量的错误修复、功能和增强功能,以及对文档和示例的改进。感谢我们的贡献者!

此版本是为了纪念 Raghav Rajagopalan 而发布的。

亮点#

我们试图改进对常见数据科学用例的支持,包括缺失值、分类变量、异构数据以及具有异常分布的特征/目标。特征中的缺失值(用 NaNs 表示)现在在列式预处理(例如缩放器)中被接受。每个特征都会在不考虑 NaNs 的情况下进行拟合,并且包含 NaNs 的数据可以被转换。新的 sklearn.impute 模块提供了用于在缺失数据下学习的估计器。

ColumnTransformer 处理 pandas.DataFrame 的不同特征或列需要不同预处理的情况。字符串或 pandas 分类列现在可以使用 OneHotEncoderOrdinalEncoder 进行编码。

TransformedTargetRegressor 在回归目标需要转换才能建模时提供帮助。 PowerTransformerKBinsDiscretizer 加入 QuantileTransformer 作为非线性变换。

除此之外,我们还为多个估计器添加了 sample_weight 支持(包括 KMeansBayesianRidgeKernelDensity),并改进了其他估计器中的停止标准(包括 MLPRegressorGradientBoostingRegressorSGDRegressor)。

此版本也是第一个附带由 Joel Nothman 开发的 常见术语和 API 元素词汇表。该词汇表是一个参考资源,可帮助用户和贡献者熟悉 Scikit-learn 中使用的术语和约定。

很抱歉,如果您的贡献没有被列入重点。这里有很多内容……

更改的模型#

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

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

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

已知的主要错误#

  • #11924: 带有 solver='lbfgs'multi_class='multinomial'linear_model.LogisticRegressionCV 在 macOS 上可能不确定或以其他方式损坏。这似乎发生在 Travis CI 服务器上,但在个人 MacBook 上尚未得到证实!此问题在以前的版本中也存在。

  • #9354: metrics.pairwise.euclidean_distances(在整个库中多次使用)给出的结果精度较差,这尤其影响了它与 32 位浮点输入的使用。在版本 0.18 和 0.19 中,当某些算法更改为避免将 32 位数据转换为 64 位时,这个问题变得更加严重。

更新日志#

已正式取消对 Python 3.3 的支持。

sklearn.cluster#

sklearn.compose#

sklearn.covariance#

sklearn.datasets#

sklearn.decomposition#

sklearn.discriminant_analysis#

sklearn.dummy#

sklearn.ensemble#

sklearn.feature_extraction#

sklearn.feature_selection#

sklearn.gaussian_process#

sklearn.impute#

sklearn.isotonic#

sklearn.linear_model#

sklearn.manifold#

sklearn.metrics#

sklearn.mixture#

sklearn.model_selection#

sklearn.multioutput#

sklearn.naive_bayes#

sklearn.neighbors#

sklearn.neural_network#

sklearn.pipeline#

sklearn.preprocessing#

sklearn.svm#

sklearn.tree#

  • Enhancement 尽管是私有的(因此不保证 API 稳定性),tree._criterion.ClassificationCriteriontree._criterion.RegressionCriterion 现在可以被 cimport 和扩展。#10325Camil Staps 提供。

  • Fix 修复了 tree.BaseDecisionTree 中使用 splitter="best" 时的错误,即当 X 中的值接近无穷大时,分割阈值可能变为无穷大。#10536Jonathan Ohayon 提供。

  • Fix 修复了 tree.MAE 中的一个错误,确保在计算树 MAE 不纯度时使用样本权重。以前的行为可能导致选择次优分割,因为不纯度计算认为所有样本具有相同的权重重要性。#11464John Stott 提供。

sklearn.utils#

多个模块#

杂项#

估计器检查的更改#

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

代码和文档贡献者#

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

211217613, Aarshay Jain, absolutelyNoWarranty, Adam Greenhall, Adam Kleczewski, Adam Richie-Halford, adelr, AdityaDaflapurkar, Adrin Jalali, Aidan Fitzgerald, aishgrt1, Akash Shivram, Alan Liddell, Alan Yee, Albert Thomas, Alexander Lenail, Alexander-N, Alexandre Boucaud, Alexandre Gramfort, Alexandre Sevin, Alex Egg, Alvaro Perez-Diaz, Amanda, Aman Dalmia, Andreas Bjerre-Nielsen, Andreas Mueller, Andrew Peng, Angus Williams, Aniruddha Dave, annaayzenshtat, Anthony Gitter, Antonio Quinonez, Anubhav Marwaha, Arik Pamnani, Arthur Ozga, Artiem K, Arunava, Arya McCarthy, Attractadore, Aurélien Bellet, Aurélien Geron, Ayush Gupta, Balakumaran Manoharan, Bangda Sun, Barry Hart, Bastian Venthur, Ben Lawson, Benn Roth, Breno Freitas, Brent Yi, brett koonce, Caio Oliveira, Camil Staps, cclauss, Chady Kamar, Charlie Brummitt, Charlie Newey, chris, Chris, Chris Catalfo, Chris Foster, Chris Holdgraf, Christian Braune, Christian Hirsch, Christian Hogan, Christopher Jenness, Clement Joudet, cnx, cwitte, Dallas Card, Dan Barkhorn, Daniel, Daniel Ferreira, Daniel Gomez, Daniel Klevebring, Danielle Shwed, Daniel Mohns, Danil Baibak, Darius Morawiec, David Beach, David Burns, David Kirkby, David Nicholson, David Pickup, Derek, Didi Bar-Zev, diegodlh, Dillon Gardner, Dillon Niederhut, dilutedsauce, dlovell, Dmitry Mottl, Dmitry Petrov, Dor Cohen, Douglas Duhaime, Ekaterina Tuzova, Eric Chang, Eric Dean Sanchez, Erich Schubert, Eunji, Fang-Chieh Chou, FarahSaeed, felix, Félix Raimundo, fenx, filipj8, FrankHui, Franz Wompner, Freija Descamps, frsi, Gabriele Calvo, Gael Varoquaux, Gaurav Dhingra, Georgi Peev, Gil Forsyth, Giovanni Giuseppe Costa, gkevinyen5418, goncalo-rodrigues, Gryllos Prokopis, Guillaume Lemaitre, Guillaume “Vermeille” Sanchez, Gustavo De Mari Pereira, hakaa1, Hanmin Qin, Henry Lin, Hong, Honghe, Hossein Pourbozorg, Hristo, Hunan Rostomyan, iampat, Ivan PANICO, Jaewon Chung, Jake VanderPlas, jakirkham, James Bourbeau, James Malcolm, Jamie Cox, Jan Koch, Jan Margeta, Jan Schlüter, janvanrijn, Jason Wolosonovich, JC Liu, Jeb Bearer, jeremiedbb, Jimmy Wan, Jinkun Wang, Jiongyan Zhang, jjabl, jkleint, Joan Massich, Joël Billaud, Joel Nothman, Johannes Hansen, JohnStott, Jonatan Samoocha, Jonathan Ohayon, Jörg Döpfert, Joris Van den Bossche, Jose Perez-Parras Toledano, josephsalmon, jotasi, jschendel, Julian Kuhlmann, Julien Chaumond, julietcl, Justin Shenk, Karl F, Kasper Primdal Lauritzen, Katrin Leinweber, Kirill, ksemb, Kuai Yu, Kumar Ashutosh, Kyeongpil Kang, Kye Taylor, kyledrogo, Leland McInnes, Léo DS, Liam Geron, Liutong Zhou, Lizao Li, lkjcalc, Loic Esteve, louib, Luciano Viola, Lucija Gregov, Luis Osa, Luis Pedro Coelho, Luke M Craig, Luke Persola, Mabel, Mabel Villalba, Maniteja Nandana, MarkIwanchyshyn, Mark Roth, Markus Müller, MarsGuy, Martin Gubri, martin-hahn, martin-kokos, mathurinm, Matthias Feurer, Max Copeland, Mayur Kulkarni, Meghann Agarwal, Melanie Goetz, Michael A. Alcorn, Minghui Liu, Ming Li, Minh Le, Mohamed Ali Jamaoui, Mohamed Maskani, Mohammad Shahebaz, Muayyad Alsadi, Nabarun Pal, Nagarjuna Kumar, Naoya Kanai, Narendran Santhanam, NarineK, Nathaniel Saul, Nathan Suh, Nicholas Nadeau, P.Eng., AVS, Nick Hoh, Nicolas Goix, Nicolas Hug, Nicolau Werneck, nielsenmarkus11, Nihar Sheth, Nikita Titov, Nilesh Kevlani, Nirvan Anjirbag, notmatthancock, nzw, Oleksandr Pavlyk, oliblum90, Oliver Rausch, Olivier Grisel, Oren Milman, Osaid Rehman Nasir, pasbi, Patrick Fernandes, Patrick Olden, Paul Paczuski, Pedro Morales, Peter, Peter St. John, pierreablin, pietruh, Pinaki Nath Chowdhury, Piotr Szymański, Pradeep Reddy Raamana, Pravar D Mahajan, pravarmahajan, QingYing Chen, Raghav RV, Rajendra arora, RAKOTOARISON Herilalaina, Rameshwar Bhaskaran, RankyLau, Rasul Kerimov, Reiichiro Nakano, Rob, Roman Kosobrodov, Roman Yurchak, Ronan Lamy, rragundez, Rüdiger Busche, Ryan, Sachin Kelkar, Sagnik Bhattacharya, Sailesh Choyal, Sam Radhakrishnan, Sam Steingold, Samuel Bell, Samuel O. Ronsin, Saqib Nizam Shamsi, SATISH J, Saurabh Gupta, Scott Gigante, Sebastian Flennerhag, Sebastian Raschka, Sebastien Dubois, Sébastien Lerique, Sebastin Santy, Sergey Feldman, Sergey Melderis, Sergul Aydore, Shahebaz, Shalil Awaley, Shangwu Yao, Sharad Vijalapuram, Sharan Yalburgi, shenhanc78, Shivam Rastogi, Shu Haoran, siftikha, Sinclert Pérez, SolutusImmensus, Somya Anand, srajan paliwal, Sriharsha Hatwar, Sri Krishna, Stefan van der Walt, Stephen McDowell, Steven Brown, syonekura, Taehoon Lee, Takanori Hayashi, tarcusx, Taylor G Smith, theriley106, Thomas, Thomas Fan, Thomas Heavey, Tobias Madsen, tobycheese, Tom Augspurger, Tom Dupré la Tour, Tommy, Trevor Stephens, Trishnendu Ghorai, Tulio Casagrande, twosigmajab, Umar Farouk Umar, Urvang Patel, Utkarsh Upadhyay, Vadim Markovtsev, Varun Agrawal, Vathsala Achar, Vilhelm von Ehrenheim, Vinayak Mehta, Vinit, Vinod Kumar L, Viraj Mavani, Viraj Navkal, Vivek Kumar, Vlad Niculae, vqean3, Vrishank Bhardwaj, vufg, wallygauze, Warut Vijitbenjaronk, wdevazelhes, Wenhao Zhang, Wes Barnett, Will, William de Vazelhes, Will Rosenfeld, Xin Xiong, Yiming (Paul) Li, ymazari, Yufeng, Zach Griffith, Zé Vinícius, Zhenqing Hu, Zhiqing Xiao, Zijie (ZJ) Poh