版本 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 中发布的功能进行了一些次要的文档改进和增强。

已更改的模型#

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

  • sklearn.neighborsmetric=='jaccard' 时 (错误修复)

  • 在某些情况下使用 'seuclidean''mahalanobis' 度量 (错误修复)

更新日志#

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 后,您可能会收到一些额外的警告。

已更改的模型#

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

更新日志#

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 时,增加了与 joblib 0.11 以及 0.12+ 的兼容性。 #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 作为非线性变换。

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

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

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

已更改的模型#

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

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

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

已知的主要错误#

  • #11924: linear_model.LogisticRegressionCVsolver='lbfgs'multi_class='multinomial' 时,在 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#

  • 效率提升 manifold.TSNE 中 'exact' 和 'barnes_hut' 方法的速度得到提升。 #10593#10610 作者:Tom Dupre la Tour

  • 新特性 manifold.Isomap.fit 现在支持稀疏输入。 #8554 作者:Leland McInnes

  • 新特性 manifold.t_sne.trustworthiness 除了欧几里得度量外,还接受其他度量。 #9775 作者:William de Vazelhes

  • 修复 修复了 manifold.spectral_embedding 中的一个错误,其中频谱的归一化使用了除法而非乘法。 #8129 作者:Jan MargetaGuillaume LemaitreDevansh D.

  • API 变更 新特性 弃用函数 manifold.t_sne.trustworthiness 中的 precomputed 参数。作为替代,应使用新参数 metric 及任何兼容的度量(包括 'precomputed'),在这种情况下,输入矩阵 X 应是成对距离或平方距离矩阵。 #9775 作者:William de Vazelhes

  • API 变更 弃用函数 manifold.t_sne.trustworthiness 中的 precomputed 参数。作为替代,应使用新参数 metric 及任何兼容的度量(包括 'precomputed'),在这种情况下,输入矩阵 X 应是成对距离或平方距离矩阵。 #9775 作者:William de Vazelhes

sklearn.metrics#

sklearn.mixture#

sklearn.model_selection#

sklearn.multioutput#

sklearn.naive_bayes#

sklearn.neighbors#

sklearn.neural_network#

sklearn.pipeline#

sklearn.preprocessing#

sklearn.svm#

  • 修复 修复了 svm.SVC 中的一个错误,即在 Python2 中,当参数 kernel 是 unicode 时,predict_proba 方法在给定密集输入时会引发意外的 TypeError。 #10412,由 张炯琰 提交。

  • API 变更 弃用 svm.OneClassSVM 中的 random_state 参数,因为底层实现不是随机的。 #9497,由 Albert Thomas 提交。

  • API 变更 svm.SVCNuSVCSVRNuSVROneClassSVMgamma 参数的默认值将在0.22版本中从 'auto' 更改为 'scale',以便更好地处理未缩放的特征。 #8361,由 Gaurav DhingraTing Neo 提交。

sklearn.tree#

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

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

  • 修复 修复了 tree.MAE 中的一个错误,以确保在计算树 MAE 杂质时使用样本权重。之前的行为可能导致选择次优的分裂,因为杂质计算认为所有样本的权重重要性相等。 #11464,由 John 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