版本 0.15#

版本 0.15.2#

2014年9月4日

Bug 修复#

版本 0.15.1#

2014年8月1日

Bug 修复#

  • 在多输出分类问题中,使 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 贡献。

Bug 修复#

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

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

  • 修复了 multiclass.OneVsOneClassifier 处理字符串标签的 bug。

  • 修复了 LassoCVElasticNetCV 中的一个 bug:当 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.GradientBoostingRegressorloss='huber' 时的一个 bug: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 贡献。

  • 按照概率 PCA 的模型,为 decomposition.PCA 添加了 score 方法,并弃用了 score 实现不正确的 ProbabilisticPCA 模型。计算现在还利用矩阵求逆引理以加快计算速度。由 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 的 alpha 值,使其为每个 l1_ratio 而不是 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)的错误。此前,抽取特征的计数仅在分裂中出现非常数特征后才开始。此 bug 修复将影响这些算法在存在常数特征时的计算和泛化性能。要恢复以前的泛化性能,应修改 max_features 的值。由 Arnaud Joly 贡献。

  • 修复了 ensemble.ExtraTreesClassifierensemble.ExtraTreesRegressor 在每次分裂时抽取特征的最大数量(max_features)的错误。此前,只有分裂中的非常数特征才会被计数为抽取特征。现在,常数特征也会被计数为抽取特征。此外,为了进行有效的特征分裂,至少需要一个非常数特征。此 bug 修复将影响极端随机树在存在常数特征时的计算和泛化性能。要恢复以前的泛化性能,应修改 max_features 的值。由 Arnaud Joly 贡献。

  • 修复了 utils.class_weight.compute_class_weightclass_weight=="auto" 时的错误。此前,它对非整数 dtype 输入无效,并且返回的加权数组也是错误的。由 Manoj Kumar 贡献。

  • 修复了 cross_validation.Bootstrapn_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