版本 0.14#
版本 0.14#
2013年8月7日
更新日志#
稀疏矩阵和密集矩阵的缺失值可以通过 Nicolas Trésegnie 提供的转换器
preprocessing.Imputer进行填充。决策树的核心实现已被完全重写,这使得所有基于树的估计器都能实现更快的树归纳和更低的内存消耗。由 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 版) 的交互式版本。请参阅 选择合适的估计器。由 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现在在对数损失或修改后的 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方法。由 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 提供。添加了文本数据的核外学习的独立示例 文本文档的核外分类。由 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 提供。对邻域查询中
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