版本 0.15#

版本 0.15.2#

2014年9月4日

错误修复#

版本 0.15.1#

2014年8月1日

错误修复#

  • 使 cross_validation.cross_val_score 在多输出分类问题上使用 cross_validation.KFold 而不是 cross_validation.StratifiedKFold。由 Nikolay Mayorov 完成。

  • 支持 preprocessing.LabelBinarizer 中的未见标签,以恢复 0.14.1 的默认行为以实现向后兼容性。由 Hamzeh Alsalhi 完成。

  • 修复了阻止早期收敛检测的 cluster.KMeans 停止准则。由 Edward Raff 和 Gael Varoquaux 完成。

  • 修复了在每个类别投票级别出现平局时 multiclass.OneVsOneClassifier 的行为,方法是计算正确的每个类别的预测分数总和。由 Andreas Müller 完成。

  • 使 cross_validation.cross_val_scoregrid_search.GridSearchCV 接受 Python 列表作为输入数据。这对于文本处理管道的交叉验证和模型选择特别有用。由 Andreas Müller 完成。

  • 修复了大多数估计器的输入数据检查,以接受实现 NumPy __array__ 协议的输入数据。对于最新版本的 pandas 中的 pandas.Seriespandas.DataFrame 也是如此。由 Gael Varoquaux 完成。

  • 修复了 linear_model.SGDClassifier 在数据具有非连续标签时使用 class_weight="auto" 的回归问题。由 Olivier Grisel 完成。

版本 0.15#

2014年7月15日

亮点#

  • 整个代码中进行了许多速度和内存改进

  • 随机森林(以及额外树)的速度和内存得到了巨大改进,这也受益于更好的并行计算。

  • BernoulliRBM进行了增量拟合。

  • 添加了cluster.AgglomerativeClustering,用于具有平均连接、完全连接和Ward策略的分层凝聚聚类。

  • 添加了linear_model.RANSACRegressor,用于稳健的回归模型。

  • 添加了使用manifold.TSNE的降维功能,可用于可视化高维数据。

变更日志#

新增功能#

增强功能#

文档改进#

  • “文本数据处理”教程现已整合到主文档的教程部分。包含练习和教程演示的框架。原始教程由多位作者创作,包括Olivier Grisel、Lars Buitinck和许多其他人。教程集成到scikit-learn文档由Jaques Grobler完成。

  • 新增计算性能文档。讨论和举例说明了预测延迟/吞吐量以及影响速度的不同因素。提供了构建更快模型以及在速度和预测能力之间做出相关权衡的额外技巧。由Eustache Diemert完成。

错误修复#

  • 修复了decomposition.MiniBatchDictionaryLearning中的错误:partial_fit无法正常工作。

  • 修复了linear_model.stochastic_gradient中的错误:l1_ratio被用作(1.0 - l1_ratio)

  • 修复了使用字符串标签的multiclass.OneVsOneClassifier中的错误。

  • 修复了LassoCVElasticNetCV中的一个错误:它们不会使用precompute=Trueprecompute="auto"n_samples > n_features预计算Gram矩阵。由Manoj Kumar完成。

  • 修复了当变量未居中时,feature_selection.f_regression中自由度估计不正确的错误。由Virgile Fritsch完成。

  • 修复了使用pre_dispatch != "all"(例如,在cross_val_score中)的并行处理中的竞争条件。由Olivier Grisel完成。

  • cluster.FeatureAgglomerationcluster.WardAgglomeration中,如果没有提供样本,则抛出错误,而不是返回无意义的聚类结果。

  • 修复了gradient_boosting.GradientBoostingRegressor中使用loss='huber'的错误:gamma可能未初始化。

  • 修复了使用sample_weight != None和/或bootstrap=True拟合时,由随机树组成的森林计算的特征重要性。由Gilles Louppe完成。

API变更总结#

  • sklearn.hmm已弃用。计划在0.17版本中移除。

  • 弃用后,covariance.EllipticEnvelop的使用现已移除。请改用covariance.EllipticEnvelope

  • cluster.Ward已弃用。请改用cluster.AgglomerativeClustering

  • cluster.WardClustering 已弃用。请使用

  • cluster.AgglomerativeClustering 代替。

  • cross_validation.Bootstrap 已弃用。建议改用 cross_validation.KFoldcross_validation.ShuffleSplit

  • 直接支持序列的序列(或列表的列表)多标签格式已弃用。要转换到和从支持的二元指示矩阵格式转换,请使用 preprocessing.MultiLabelBinarizer。 作者:Joel Nothman

  • decomposition.PCA 中添加 score 方法,遵循概率 PCA 模型,并弃用 ProbabilisticPCA 模型(其 score 实现不正确)。计算现在还利用矩阵求逆引理来加快计算速度。作者:Alexandre Gramfort

  • decomposition.FactorAnalysis 的 score 方法现在返回样本的平均对数似然。使用 score_samples 获取每个样本的对数似然。作者:Alexandre Gramfort

  • 从交叉验证生成器生成布尔掩码(设置 indices=False)已弃用。0.17 版本将删除对掩码的支持。自 0.10 版本以来,生成器默认情况下生成索引数组。作者:Joel Nothman

  • 现在,包含字符串且 dtype=object 的一维数组(如 Pandas 中使用的)被认为是有效的分类目标。这修复了某些分类器中 0.13 版本的回归问题。作者:Joel Nothman

  • 修复 RandomizedPCA 中错误的 explained_variance_ratio_ 属性。作者:Alexandre Gramfort

  • linear_model.ElasticNetCVlinear_model.LassoCV 中,为每个 l1_ratio 拟合 alpha,而不是 mean_l1_ratio。如果提供的 l1_ratio 是长度大于 1 的一维数组类对象,这会将 alphas_ 的形状从 (n_alphas,) 更改为 (n_l1_ratio, n_alphas)。作者:Manoj Kumar

  • 修复在拟合截距且输入数据稀疏时 linear_model.ElasticNetCVlinear_model.LassoCV 的问题。alpha 的自动网格计算不正确,并且 normalize 的缩放也不正确。作者:Manoj Kumar

  • 修复决策树、随机森林和梯度树提升中每个分割处绘制的特征数(max_features)错误的问题。以前,绘制特征数的计数仅在分割中出现一个非常数特征后才开始。此错误修复将影响在存在常数特征的情况下这些算法的计算和泛化性能。要恢复以前的泛化性能,应修改 max_features 的值。作者:Arnaud Joly

  • 修复 ensemble.ExtraTreesClassifierensemble.ExtraTreesRegressor 中每个分割处绘制的特征数(max_features)错误的问题。以前,只有分割中的非常数特征才计为已绘制。现在,常数特征也计为已绘制。此外,为了进行有效的分割,至少必须有一个特征是非常数的。此错误修复将影响在存在常数特征的情况下额外树的计算和泛化性能。要恢复以前的泛化性能,应修改 max_features 的值。作者:Arnaud Joly

  • 修复当 class_weight=="auto"utils.class_weight.compute_class_weight 的问题。以前,它对于非整数 dtype 的输入已损坏,并且返回的加权数组是错误的。作者:Manoj Kumar

  • 修复 cross_validation.Bootstrap,使其在 n_train + n_test > n 时返回 ValueError。作者:Ronald Phlypo

人员#

按提交次数列出的 0.15 版本贡献者列表。

  • 312 Olivier Grisel

  • 275 Lars Buitinck

  • 221 Gael Varoquaux

  • 148 Arnaud Joly

  • 134 Johannes Schönberger

  • 119 Gilles Louppe

  • 113 Joel Nothman

  • 111 Alexandre Gramfort

  • 95 Jaques Grobler

  • 89 Denis Engemann

  • 83 Peter Prettenhofer

  • 83 Alexander Fabisch

  • 62 Mathieu Blondel

  • 60 Eustache Diemert

  • 60 Nelle Varoquaux

  • 49 Michael Bommarito

  • 45 Manoj-Kumar-S

  • 28 Kyle Kastner

  • 26 Andreas Mueller

  • 22 Noel Dawe

  • 21 Maheshakya Wijewardena

  • 21 Brooke Osborn

  • 21 Hamzeh Alsalhi

  • 21 Jake VanderPlas

  • 21 Philippe Gervais

  • 19 Bala Subrahmanyam Varanasi

  • 12 Ronald Phlypo

  • 10 Mikhail Korobov

  • 8 Thomas Unterthiner

  • 8 Jeffrey Blackburne

  • 8 eltermann

  • 8 bwignall

  • 7 Ankit Agrawal

  • 7 CJ Carey

  • 6 Daniel Nouri

  • 6 Chen Liu

  • 6 Michael Eickenberg

  • 6 ugurthemaster

  • 5 Aaron Schumacher

  • 5 Baptiste Lagarde

  • 5 Rajat Khanduja

  • 5 Robert McGibbon

  • 5 Sergio Pascual

  • 4 Alexis Metaireau

  • 4 Ignacio Rossi

  • 4 Virgile Fritsch

  • 4 Sebastian Säger

  • 4 Ilambharathi Kanniah

  • 4 sdenton4

  • 4 Robert Layton

  • 4 Alyssa

  • 4 Amos Waterland

  • 3 Andrew Tulloch

  • 3 murad

  • 3 Steven Maude

  • 3 Karol Pysniak

  • 3 Jacques Kvam

  • 3 cgohlke

  • 3 cjlin

  • 3 Michael Becker

  • 3 hamzeh

  • 3 Eric Jacobsen

  • 3 john collins

  • 3 kaushik94

  • 3 Erwin Marsi

  • 2 csytracy

  • 2 LK

  • 2 Vlad Niculae

  • 2 Laurent Direr

  • 2 Erik Shilts

  • 2 Raul Garreta

  • 2 Yoshiki Vázquez Baeza

  • 2 Yung Siang Liau

  • 2 abhishek thakur

  • 2 James Yu

  • 2 Rohit Sivaprasad

  • 2 Roland Szabo

  • 2 amormachine

  • 2 Alexis Mignon

  • 2 Oscar Carlsson

  • 2 Nantas Nardelli

  • 2 jess010

  • 2 kowalski87

  • 2 Andrew Clegg

  • 2 Federico Vaggi

  • 2 Simon Frid

  • 2 Félix-Antoine Fortin

  • 1 Ralf Gommers

  • 1 t-aft

  • 1 Ronan Amicel

  • 1 Rupesh Kumar Srivastava

  • 1 Ryan Wang

  • 1 Samuel Charron

  • 1 Samuel St-Jean

  • 1 Fabian Pedregosa

  • 1 Skipper Seabold

  • 1 Stefan Walk

  • 1 Stefan van der Walt

  • 1 Stephan Hoyer

  • 1 Allen Riddell

  • 1 Valentin Haenel

  • 1 Vijay Ramesh

  • 1 Will Myers

  • 1 Yaroslav Halchenko

  • 1 Yoni Ben-Meshulam

  • 1 Yury V. Zaytsev

  • 1 adrinjalali

  • 1 ai8rahim

  • 1 alemagnani

  • 1 alex

  • 1 benjamin wilson

  • 1 chalmerlowe

  • 1 dzikie drożdże

  • 1 jamestwebber

  • 1 matrixorz

  • 1 popo

  • 1 samuela

  • 1 François Boulogne

  • 1 Alexander Measure

  • 1 Ethan White

  • 1 Guilherme Trein

  • 1 Hendrik Heuer

  • 1 IvicaJovic

  • 1 Jan Hendrik Metzen

  • 1 Jean Michel Rouly

  • 1 Eduardo Ariño de la Rubia

  • 1 Jelle Zijlstra

  • 1 Eddy L O Jansson

  • 1 Denis

  • 1 John

  • 1 John Schmidt

  • 1 Jorge Cañardo Alastuey

  • 1 Joseph Perla

  • 1 Joshua Vredevoogd

  • 1 José Ricardo

  • 1 Julien Miotte

  • 1 Kemal Eren

  • 1 Kenta Sato

  • 1 David Cournapeau

  • 1 Kyle Kelley

  • 1 Daniele Medri

  • 1 Laurent Luce

  • 1 Laurent Pierron

  • 1 Luis Pedro Coelho

  • 1 DanielWeitzenfeld

  • 1 Craig Thompson

  • 1 Chyi-Kwei Yau

  • 1 Matthew Brett

  • 1 Matthias Feurer

  • 1 Max Linke

  • 1 Chris Filo Gorgolewski

  • 1 Charles Earl

  • 1 Michael Hanke

  • 1 Michele Orrù

  • 1 Bryan Lunt

  • 1 Brian Kearns

  • 1 Paul Butler

  • 1 Paweł Mandera

  • 1 Peter

  • 1 Andrew Ash

  • 1 Pietro Zambelli

  • 1 staubda