版本 0.14#
版本 0.14#
2013年8月7日
更新日志#
稀疏和密集矩阵中的缺失值可以通过转换器
preprocessing.Imputer
进行插补,由 Nicolas Trésegnie 实现。决策树的核心实现已从头重写,使得所有基于树的估计器在树的诱导速度更快,内存消耗更低。由 Gilles Louppe 实现。
增加了
ensemble.AdaBoostClassifier
和ensemble.AdaBoostRegressor
,由 Noel Dawe 和 Gilles Louppe 实现。详情和示例请参阅用户指南中的 AdaBoost 部分。增加了
grid_search.RandomizedSearchCV
和grid_search.ParameterSampler
用于随机超参数优化。由 Andreas Müller 实现。增加了 双聚类 算法 (
sklearn.cluster.bicluster.SpectralCoclustering
和sklearn.cluster.bicluster.SpectralBiclustering
),数据生成方法 (sklearn.datasets.make_biclusters
和sklearn.datasets.make_checkerboard
),以及评分指标 (sklearn.metrics.consensus_score
)。由 Kemal Eren 实现。增加了 受限玻尔兹曼机 (
neural_network.BernoulliRBM
)。由 Yann Dauphin 实现。Python 3 支持由 Justin Vincent , Lars Buitinck ,Subhodeep Moitra 和 Olivier Grisel 实现。所有测试现在在 Python 3.3 下通过。
在
linear_model.Ridge
中可以为每个目标传递一个惩罚(alpha 值),由 @eickenberg 和 Mathieu Blondel 实现。修复了
sklearn.linear_model.stochastic_gradient.py
中的 L2 正则化问题(实际意义较小)。由 Norbert Crombach 和 Mathieu Blondel 实现。增加了 Andreas Müller 的
机器学习速查表(适用于 scikit-learn)
的交互版本。grid_search.GridSearchCV
和cross_validation.cross_val_score
现在支持使用高级评分函数,如ROC曲线下面积和f-beta分数。 详情请参阅 scoring_parameter 。由 Andreas Müller 和 Lars Buitinck 贡献。 传递来自sklearn.metrics
的函数作为score_func
已被弃用。多标签分类输出现在由
metrics.accuracy_score
、metrics.zero_one_loss
、metrics.f1_score
、metrics.fbeta_score
、metrics.classification_report
、metrics.precision_score
和metrics.recall_score
支持, 由 Arnaud Joly 贡献。新增两个度量标准
metrics.hamming_loss
和metrics.jaccard_similarity_score
, 支持多标签,由 Arnaud Joly 贡献。feature_extraction.text.CountVectorizer
和feature_extraction.text.TfidfVectorizer
的速度和内存使用改进, 由 Jochen Wersdörfer 和 Roman Sinayev 贡献。feature_extraction.text.CountVectorizer
和feature_extraction.text.TfidfVectorizer
中的min_df
参数, 之前为2,已被重置为1,以避免新手用户在小文档集合上尝试时出现不愉快的意外(空词汇表)。 实际使用中仍建议使用至少为2的值。svm.LinearSVC
、linear_model.SGDClassifier
和linear_model.SGDRegressor
现在有一个sparsify
方法, 可以将它们的coef_
转换为稀疏矩阵,这意味着使用这些估计器训练的存储模型可以变得更加紧凑。linear_model.SGDClassifier
现在在逻辑损失或修改后的Huber损失下训练时生成多类概率估计。网站上的示例代码中添加了文档的超链接,由 Martin Luessi 提供。
修复了
preprocessing.MinMaxScaler
中的一个错误,该错误导致在非默认feature_range
设置下特征的缩放不正确。由 Andreas Müller 修复。tree.DecisionTreeClassifier
、tree.DecisionTreeRegressor
以及所有派生的集成估计器中的max_features
现在支持百分比值。由 Gilles Louppe 实现。isotonic.IsotonicRegression
的性能改进,由 Nelle Varoquaux 完成。metrics.accuracy_score
新增了一个 normalize 选项,用于返回正确分类样本的比例或数量,由 Arnaud Joly 实现。添加了
metrics.log_loss
,用于计算对数损失,即交叉熵损失。由 Jochen Wersdörfer 和 Lars Buitinck 实现。修复了
ensemble.AdaBoostClassifier
输出不正确概率的错误。特征选择器现在共享一个提供一致的
transform
、inverse_transform
和get_support
方法的 mixin。由 Joel Nothman 实现。现在可以一般性地对
grid_search.GridSearchCV
或grid_search.RandomizedSearchCV
进行拟合后的序列化。由 Joel Nothman 实现。重构并矢量化实现了
metrics.roc_curve
和metrics.precision_recall_curve
。由 Joel Nothman 完成。新增了估计器
sklearn.decomposition.TruncatedSVD
,用于在稀疏矩阵上使用 SVD 进行降维,并可用于潜在语义分析(LSA)。由 Lars Buitinck 实现。添加了一个独立的示例,展示了对文本数据进行外存学习的示例 文本文档的外存分类 。由 Eustache Diemert 提供。
sklearn.decomposition.RandomizedPCA
的默认组件数量现在正确地记录为n_features
。这是默认行为,因此使用它的程序将继续按原样工作。sklearn.cluster.KMeans
现在在稀疏数据上拟合速度提高了几个数量级(加速取决于稀疏程度)。由 Lars Buitinck 贡献。通过 Denis Engemann 和 Alexandre Gramfort 减少了 FastICA 的内存占用。
sklearn.ensemble.gradient_boosting
中的详细输出现在使用列格式,并按递减频率打印进度。它还显示剩余时间。由 Peter Prettenhofer 贡献。sklearn.ensemble.gradient_boosting
提供了用于模型选择的袋外改进oob_improvement_
,而不是 OOB 分数。添加了一个示例,展示了如何使用 OOB 估计来选择树的数量。由 Peter Prettenhofer 贡献。大多数指标现在支持多类分类的字符串标签,由 Arnaud Joly 和 Lars Buitinck 贡献。
新增了 OrthogonalMatchingPursuitCV 类,由 Alexandre Gramfort 和 Vlad Niculae 贡献。
修复了
sklearn.covariance.GraphLassoCV
中的一个错误:当给定一个值列表时,’alphas’ 参数现在按预期工作。由 Philippe Gervais 修复。修复了
sklearn.covariance.GraphLassoCV
中的一个重要错误,该错误阻止了 CV 对象提供的所有折被使用(仅使用了前 3 折)。当提供一个 CV 对象时,执行时间可能比之前的版本显著增加(现在错误结果已修正)。由 Philippe Gervais 修复。cross_validation.cross_val_score
和grid_search
模块现在通过 Arnaud Joly 支持多输出数据测试。datasets.make_multilabel_classification
现在可以通过 Arnaud Joly 以标签指示器多标签格式返回输出。K 近邻,
neighbors.KNeighborsRegressor
和neighbors.RadiusNeighborsRegressor
,以及半径近邻,neighbors.RadiusNeighborsRegressor
和neighbors.RadiusNeighborsClassifier
现在通过 Arnaud Joly 支持多输出数据。现在可以控制
svm.OneClassSVM
、svm.SVR
、svm.NuSVR
的概率校准。这对于确保使用probability=True
训练的分类器的概率估计的一致性非常有用。由 Vlad Niculae 提供。离线学习支持离散朴素贝叶斯分类器
sklearn.naive_bayes.MultinomialNB
和sklearn.naive_bayes.BernoulliNB
,通过添加partial_fit
方法,由 Olivier Grisel 提供。新的网站设计和导航,由 Gilles Louppe 、 Nelle Varoquaux 、Vincent Michel 和 Andreas Müller 提供。
改进了关于 多类、多标签和多输出分类 的文档,由 Yannick Schwartz 和 Arnaud Joly 提供。
在
sklearn.metrics
模块中改进了输入和错误处理,由 Arnaud Joly 和 Joel Nothman 提供。hmm
模块的速度优化,由 Mikhail Korobov 提供。sklearn.cluster.DBSCAN
的显著速度提升,由 cleverless 提供。
API 变更总结#
auc_score
已重命名为metrics.roc_auc_score
。使用
sklearn.test()
测试 scikit-learn 已被弃用。请从命令行使用nosetests sklearn
。tree.DecisionTreeClassifier
、tree.DecisionTreeRegressor
以及所有派生的集成估计器的特征重要性现在在访问feature_importances_
属性时实时计算。不再需要设置compute_importances=True
。由 Gilles Louppe 提供。linear_model.lasso_path
和linear_model.enet_path
可以以与linear_model.lars_path
相同的格式返回其结果。通过将return_models
参数设置为False
实现。由 Jaques Grobler 和 Alexandre Gramfort 提供。grid_search.IterGrid
已重命名为grid_search.ParameterGrid
。修复了
KFold
中的错误,该错误导致某些情况下的类别不平衡。
案例。由 Alexandre Gramfort 和 Tadej Janež 提供。
sklearn.neighbors.BallTree
已被重构,并新增了与相同接口的sklearn.neighbors.KDTree
。Ball Tree 现在支持多种距离度量。 这两个类都有许多新方法,包括单树和双树查询、广度优先和深度优先搜索, 以及更高级的查询,如核密度估计和2点相关函数。 由 Jake Vanderplas 提供在邻居查询中对
scipy.spatial.cKDTree
的支持已被移除, 其功能已被新的sklearn.neighbors.KDTree
类替代。新增了
sklearn.neighbors.KernelDensity
, 它使用多种核函数进行高效的核密度估计。sklearn.decomposition.KernelPCA
现在总是返回包含n_components
个分量的输出,除非新参数remove_zero_eig
被设置为True
。这一新行为与核PCA的文档一致; 以前,所有数据中零特征值的分量被默认移除。在
sklearn.linear_model.RidgeCV
中,gcv_mode="auto"
不再尝试对稠密化的稀疏矩阵执行SVD。sklearn.decomposition.RandomizedPCA
中的稀疏矩阵支持 现已弃用,推荐使用新的TruncatedSVD
。cross_validation.KFold
和cross_validation.StratifiedKFold
现在强制要求n_folds >= 2
, 否则会引发ValueError
。由 Olivier Grisel 提供。datasets.load_files
的charset
和charset_errors
参数已重命名为encoding
和decode_errors
。sklearn.ensemble.GradientBoostingRegressor
和sklearn.ensemble.GradientBoostingClassifier
中的属性oob_score_
已弃用,并被oob_improvement_
替代。OrthogonalMatchingPursuit 中的属性已弃用 (copy_X, Gram, …) 和 precompute_gram 已重命名为 precompute 以保持一致性。参见 #2224。
sklearn.preprocessing.StandardScaler
现在将整数输入转换为浮点数,并发出警告。 以前对于密集的整数输入会进行四舍五入。sklearn.multiclass.OneVsRestClassifier
现在有一个decision_function
方法。 只要底层估计器实现了decision_function
方法,这将返回每个样本与每个类别的决策边界之间的距离。 由 Kyle Kastner 提供。更好的输入验证,对 y 的意外形状发出警告。
贡献者#
按提交次数列出的 0.14 版本贡献者名单。
277 Gilles Louppe
245 Lars Buitinck
187 Andreas Mueller
124 Arnaud Joly
112 Jaques Grobler
109 Gael Varoquaux
107 Olivier Grisel
102 Noel Dawe
99 Kemal Eren
79 Joel Nothman
75 Jake VanderPlas
73 Nelle Varoquaux
71 Vlad Niculae
65 Peter Prettenhofer
64 Alexandre Gramfort
54 Mathieu Blondel
38 Nicolas Trésegnie
35 eustache
27 Denis Engemann
25 Yann N. Dauphin
19 Justin Vincent
17 Robert Layton
15 Doug Coleman
14 Michael Eickenberg
13 Robert Marchman
11 Fabian Pedregosa
11 Philippe Gervais
10 Jim Holmström
10 Tadej Janež
10 syhw
9 Mikhail Korobov
9 Steven De Gryze
8 sergeyf
7 Ben Root
7 Hrishikesh Huilgolkar
6 Kyle Kastner
6 Martin Luessi
6 Rob Speer
5 Federico Vaggi
5 Raul Garreta
5 Rob Zinkov
4 Ken Geis
3 A. Flaxman
3 Denton Cockburn
3 Dougal Sutherland
3 Ian Ozsvald
3 Johannes Schönberger
3 Robert McGibbon
3 Roman Sinayev
3 Szabo Roland
2 Diego Molla
2 Imran Haque
2 Jochen Wersdörfer
2 Sergey Karayev
2 Yannick Schwartz
2 jamestwebber
1 Abhijeet Kolhe
1 Alexander Fabisch
1 Bastiaan van den Berg
1 Benjamin Peterson
1 Daniel Velkov
1 Fazlul Shahriar
1 Felix Brockherde
1 Félix-Antoine Fortin
1 Harikrishnan S
1 Jack Hale
1 JakeMick
1 James McDermott
1 John Benediktsson
1 John Zwinck
1 Joshua Vredevoogd
1 Justin Pati
1 Kevin Hughes
1 Kyle Kelley
1 Matthias Ekman
1 Miroslav Shubernetskiy
1 Naoki Orii
1 Norbert Crombach
1 Rafael Cunha de Almeida
1 Rolando Espinoza La fuente
1 Seamus Abshere
1 Sergey Feldman
1 Sergio Medina
1 Stefano Lattarini
1 Steve Koch
1 Sturla Molden
1 Thomas Jarosch
1 Yaroslav Halchenko