Version 0.14#
Version 0.14#
August 7, 2013
更新日志#
缺失值(包括稀疏和密集矩阵)可以使用
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.pyL2 正则化问题(实际意义不大)。由 Norbert Crombach 和 Mathieu Blondel 完成。添加了 Andreas Müller 的 机器学习备忘单(针对 scikit-learn)的交互式版本到文档中。请参阅 选择合适的估计器。由 Jaques Grobler 完成。
grid_search.GridSearchCV和cross_validation.cross_val_score现在支持使用高级评分函数,例如 ROC 曲线下面积和 f-beta 分数。有关详细信息,请参阅 评分参数:定义模型评估规则。由 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现在在 log loss 或 modified Huber loss 下训练时会生成多分类概率估计。网站上示例代码中指向文档的超链接由 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,用于计算 log loss,也称为交叉熵损失。由 Jochen Wersdörfer 和 Lars Buitinck 完成。修复了一个导致
ensemble.AdaBoostClassifier输出不正确概率的错误。特征选择器现在共享一个 mixin,提供一致的
transform、inverse_transform和get_support方法。由 Joel Nothman 完成。拟合后的
grid_search.GridSearchCV或grid_search.RandomizedSearchCV现在通常可以被 pickle。由 Joel Nothman 完成。metrics.roc_curve和metrics.precision_recall_curve的重构和向量化实现。由 Joel Nothman 完成。新的估计器
sklearn.decomposition.TruncatedSVD使用稀疏矩阵上的 SVD 执行降维,可用于潜在语义分析 (LSA)。由 Lars Buitinck 完成。添加了文本数据核外学习的独立示例 Out-of-core classification of text documents。由 Eustache Diemert 完成。
sklearn.decomposition.RandomizedPCA的默认组件数现在已正确记录为n_features。这是默认行为,因此使用它的程序将继续像以前一样工作。sklearn.cluster.KMeans现在在稀疏数据上拟合速度快了几个数量级(加速取决于稀疏性)。由 Lars Buitinck 完成。FastICA 的内存占用减少了,由 Denis Engemann 和 Alexandre Gramfort 完成。
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 完成。基于 LibSVM 的估计器(
svm.SVC、svm.NuSVC、svm.OneClassSVM、svm.SVR、svm.NuSVR)的随机状态现在可以控制。这对于确保使用probability=True训练的分类器的概率估计一致性非常有用。由 Vlad Niculae 完成。通过添加
partial_fit方法,离散朴素贝叶斯分类器sklearn.naive_bayes.MultinomialNB和sklearn.naive_bayes.BernoulliNB支持核外学习,由 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 现在支持各种距离指标。这两个类都有许多新方法,包括单树和双树查询、广度优先和深度优先搜索以及更高级的查询,例如核密度估计和两点相关函数。由 Jake Vanderplas 完成。已删除对 neighbors 查询中 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