.. include:: _contributors.rst .. currentmodule:: sklearn ============ 版本 0.13 ============ .. _changes_0_13_1: 版本 0.13.1 ============== **2013年2月23日** 0.13.1 版本仅修复了一些错误,并未增加任何新功能。 更新日志 --------- - 修复了 `cross_validation.train_test_split` 函数被 `Yaroslav Halchenko`_ 误认为是测试的测试错误。 - 修复了 :class:`cluster.MiniBatchKMeans` 中对小簇重新分配的错误,由 `Gael Varoquaux`_ 修复。 - 修复了 :class:`decomposition.KernelPCA` 中 ``gamma`` 的默认值,由 `Lars Buitinck`_ 修复。 - 将 joblib 更新至 ``0.7.0d`` ,由 `Gael Varoquaux`_ 完成。 - 修复了 :class:`ensemble.GradientBoostingClassifier` 中偏差的比例,由 `Peter Prettenhofer`_ 修复。 - 改进了 :class:`multiclass.OneVsOneClassifier` 中的平局决胜机制,由 `Andreas Müller`_ 完成。 - 其他对测试和文档的小改进。 贡献者 ------ 按提交次数列出的 0.13.1 版本贡献者名单。 * 16 `Lars Buitinck`_ * 12 `Andreas Müller`_ * 8 `Gael Varoquaux`_ * 5 Robert Marchman * 3 `Peter Prettenhofer`_ * 2 Hrishikesh Huilgolkar * 1 Bastiaan van den Berg * 1 Diego Molla * 1 `Gilles Louppe`_ * 1 `Mathieu Blondel`_ * 1 `Nelle Varoquaux`_ * 1 Rafael Cunha de Almeida * 1 Rolando Espinoza La fuente * 1 `Vlad Niculae`_ * 1 `Yaroslav Halchenko`_ .. _changes_0_13: 版本 0.13 ============ **2013年1月21日** 新的估计器类 --------------------- - :class:`dummy.DummyClassifier` 和 :class:`dummy.DummyRegressor` ,两个数据无关的预测器,由 `Mathieu Blondel`_ 实现。用于检查你的估计器的合理性。参见用户指南中的 :ref:`dummy_estimators` 。多输出支持由 `Arnaud Joly`_ 添加。 - :class:`decomposition.FactorAnalysis` ,一个实现经典因子分析的转换器,由 `Christian Osendorfer`_ 和 `Alexandre Gramfort`_ 实现。参见用户指南中的 :ref:`FA` 。 - :class:`feature_extraction.FeatureHasher` ,一个实现“哈希技巧”的转换器,用于通过 `Lars Buitinck`_ 和 :class:`feature_extraction.text.HashingVectorizer` 对文本文档进行快速、低内存的特征提取,由 `Olivier Grisel`_ 开发。请参阅 :ref:`feature_hashing` 和 :ref:`hashing_vectorizer` 获取文档和示例用法。 - :class:`pipeline.FeatureUnion` ,一个通过 `Andreas Müller`_ 开发的转换器,用于连接多个其他转换器的结果。请参阅用户指南中的 :ref:`feature_union` 。 - :class:`random_projection.GaussianRandomProjection` ,:class:`random_projection.SparseRandomProjection` 以及函数 :func:`random_projection.johnson_lindenstrauss_min_dim` 。前两个是实现高斯和稀疏随机投影矩阵的转换器,由 `Olivier Grisel`_ 和 `Arnaud Joly`_ 开发。请参阅用户指南中的 :ref:`random_projection` 。 - :class:`kernel_approximation.Nystroem` ,一个通过 `Andreas Müller`_ 开发的转换器,用于近似任意核函数。请参阅用户指南中的 :ref:`nystroem_kernel_approx` 。 - :class:`preprocessing.OneHotEncoder` ,一个通过 `Andreas Müller`_ 开发的转换器,用于计算分类特征的二进制编码。请参阅用户指南中的 :ref:`preprocessing_categorical_features` 。 - :class:`linear_model.PassiveAggressiveClassifier` 和 :class:`linear_model.PassiveAggressiveRegressor` ,通过 `Rob Zinkov`_ 和 `Mathieu Blondel`_ 开发的预测器,实现了一种高效的线性模型的随机优化。请参阅用户指南中的 :ref:`passive_aggressive` 。 - :class:`ensemble.RandomTreesEmbedding` ,一个通过 `Andreas Müller`_ 开发的转换器,用于使用完全随机树的集成创建高维稀疏表示。请参阅用户指南中的 :ref:`random_trees_embedding` 。 - :class:`manifold.SpectralEmbedding` 和函数 :func:`manifold.spectral_embedding` ,实现了用于非线性降维的“拉普拉斯特征映射”变换,由 Wei 李。参见用户指南中的 :ref:`spectral_embedding` 。 - :class:`isotonic.IsotonicRegression` 由 `Fabian Pedregosa`_ 、 `Alexandre Gramfort`_ 和 `Nelle Varoquaux`_ 编写, 更新日志 -------- - :func:`metrics.zero_one_loss` (以前为 ``metrics.zero_one`` )现在有一个标准化输出的选项,报告错误分类的比例,而不是错误分类的原始数量。由 Kyle Beauchamp 编写。 - :class:`tree.DecisionTreeClassifier` 及其所有派生集合模型现在支持样本加权,由 `Noel Dawe`_ 和 `Gilles Louppe`_ 编写。 - 在使用随机树森林中的自助样本时,速度改进,由 `Peter Prettenhofer`_ 和 `Gilles Louppe`_ 编写。 - 梯度提升的偏依赖图在 `ensemble.partial_dependence.partial_dependence` 中,由 `Peter Prettenhofer`_ 编写。参见示例 :ref:`sphx_glr_auto_examples_inspection_plot_partial_dependence.py` 。 - 网站上的目录现在已变得可展开,由 `Jaques Grobler`_ 编写。 - :class:`feature_selection.SelectPercentile` 现在以确定性方式打破平局,而不是返回所有排名相同的特征。 - :class:`feature_selection.SelectKBest` 和 :class:`feature_selection.SelectPercentile` 由于使用分数而不是 p 值来排名结果,因此更加数值稳定。这意味着它们有时可能会选择与之前不同的特征。 - 使用 ``sparse_cg`` 求解器的岭回归和岭分类拟合不再具有二次内存复杂度,由 `Lars Buitinck`_ 和 `Fabian Pedregosa`_ 编写。 - 岭回归和岭分类现在支持一种新的快速求解器,称为 ``lsqr`` ,由 `Mathieu Blondel`_ 编写。 - :func:`metrics.precision_recall_curve` 的速度提升,由 Conrad Lee 编写。 - 在 :func:`datasets.dump_svmlight_file` 中增加了对读写具有成对偏好属性(svmlight 文件格式中的 qid)的 svmlight 文件的支持。 :func:`datasets.load_svmlight_file` by `Fabian Pedregosa`_ 。 - 更快速且更健壮的 :func:`metrics.confusion_matrix` 和 :ref:`clustering_evaluation` 由 Wei Li 实现。 - `cross_validation.cross_val_score` 现在支持预计算的核函数 和亲和矩阵,由 `Andreas Müller`_ 实现。 - LARS 算法通过启发式方法变得更加数值稳定,这些方法可以丢弃 过于相关的回归变量,并在数值噪声变得占主导地位时停止路径, 由 `Gael Varoquaux`_ 实现。 - 更快速的 :func:`metrics.precision_recall_curve` 实现 由 Conrad Lee 完成。 - 新的核函数 `metrics.chi2_kernel` 由 `Andreas Müller`_ 实现, 常用于计算机视觉应用。 - 长期存在的 :class:`naive_bayes.BernoulliNB` 错误由 Shaun Jackman 修复。 - 在 :class:`multiclass.OneVsRestClassifier` 中实现了 ``predict_proba`` ,由 Andrew Winterman 完成。 - 改进了梯度提升的一致性:估计器 :class:`ensemble.GradientBoostingRegressor` 和 :class:`ensemble.GradientBoostingClassifier` 使用估计器 :class:`tree.DecisionTreeRegressor` 而不是 `tree._tree.Tree` 数据结构,由 `Arnaud Joly`_ 实现。 - 修复了 :ref:`决策树 ` 模块中的浮点异常, 由 Seberg 完成。 - 修复了当 y_true 只有一个类别时 :func:`metrics.roc_curve` 失败的问题, 由 Wei Li 完成。 - 添加了 :func:`metrics.mean_absolute_error` 函数,用于计算 平均绝对误差。:func:`metrics.mean_squared_error` 、 :func:`metrics.mean_absolute_error` 和 :func:`metrics.r2_score` 指标支持多输出,由 `Arnaud Joly`_ 实现。 - 修复了 :class:`svm.LinearSVC` 和 :class:`linear_model.LogisticRegression` 中的 ``class_weight`` 支持, 由 `Andreas Müller`_ 完成。在早期版本中, ``class_weight`` 的含义被错误地反转, 即更高的权重意味着给定类别的正例更少。 - 改进了 :mod:`sklearn.metrics` 中回归和分类指标的叙述文档和一致性, 由 `Arnaud Joly`_ 完成。 - 修复了在使用带有未排序索引的csr矩阵时,:class:`sklearn.svm.SVC` 中的一个错误,由Xinfan Meng和 `Andreas Müller`_ 完成。 - :class:`cluster.MiniBatchKMeans` : 添加了随机重新分配具有少量观测值的聚类中心,由 `Gael Varoquaux`_ 完成。 API变更总结 ------------ - 为了保持一致性,将所有出现的 ``n_atoms`` 重命名为 ``n_components`` 。这适用于:class:`decomposition.DictionaryLearning` 、 :class:`decomposition.MiniBatchDictionaryLearning` 、 :func:`decomposition.dict_learning` 、:func:`decomposition.dict_learning_online` 。 - 为了保持一致性,将所有出现的 ``max_iters`` 重命名为 ``max_iter`` 。这适用于 `semi_supervised.LabelPropagation` 和 `semi_supervised.label_propagation.LabelSpreading` 。 - 为了保持一致性,将所有出现的 ``learn_rate`` 重命名为 ``learning_rate`` 。这适用于 `ensemble.BaseGradientBoosting` 和 :class:`ensemble.GradientBoostingRegressor` 。 - ``sklearn.linear_model.sparse`` 模块已被移除。稀疏矩阵支持已经集成到“常规”线性模型中。 - `sklearn.metrics.mean_square_error` ,错误地返回了累积误差,已被移除。请改用:func:`metrics.mean_squared_error` 。 - 不再支持将 ``class_weight`` 参数传递给 ``fit`` 方法。请改为传递给估计器构造函数。 - GMMs不再具有 ``decode`` 和 ``rvs`` 方法。请改用 ``score`` 、 ``predict`` 或 ``sample`` 方法。 - Ridge回归和分类中的 ``solver`` 拟合选项现已弃用,并将在v0.14中移除。请改用构造函数选项。 - `feature_extraction.text.DictVectorizer` 现在返回CSR格式的稀疏矩阵,而不是COO格式。 - 在 `cross_validation.KFold` 和 `cross_validation.StratifiedKFold` 中将 ``k`` 重命名为 ``n_folds`` ,在 ``cross_validation.Bootstrap`` 中将 ``n_bootstraps`` 重命名为 ``n_iter`` 。 - 为了保持一致性,将所有出现的 ``n_iterations`` 重命名为 ``n_iter`` 。 这适用于 `cross_validation.ShuffleSplit` 、 `cross_validation.StratifiedShuffleSplit` 、 :func:`utils.extmath.randomized_range_finder` 和 :func:`utils.extmath.randomized_svd` 。 - 在 :class:`linear_model.ElasticNet` 和 :class:`linear_model.SGDClassifier` 中用 ``l1_ratio`` 替换了 ``rho`` 。 ``rho`` 参数有不同的含义;引入 ``l1_ratio`` 是为了避免混淆。 它的含义与之前在 :class:`linear_model.ElasticNet` 中的 ``rho`` 相同, 以及在 :class:`linear_model.SGDClassifier` 中的 ``(1-rho)`` 。 - :class:`linear_model.LassoLars` 和 :class:`linear_model.Lars` 现在 在多目标情况下存储路径列表,而不是路径数组。 - `hmm.GMMHMM` 的属性 ``gmm`` 被重命名为 ``gmm_`` , 以更严格地遵守 API。 - `cluster.spectral_embedding` 被移动到 :func:`manifold.spectral_embedding` 。 - 在 :func:`manifold.spectral_embedding` 和 :class:`cluster.SpectralClustering` 中将 ``eig_tol`` 重命名为 ``eigen_tol`` , 将 ``mode`` 重命名为 ``eigen_solver`` 。 - 在 :func:`manifold.spectral_embedding` 和 :class:`cluster.SpectralClustering` 中将 ``mode`` 重命名为 ``eigen_solver`` 。 - :class:`tree.DecisionTreeClassifier` 及其所有派生集成模型的 ``classes_`` 和 ``n_classes_`` 属性现在在单输出问题中是扁平的, 在多输出问题中是嵌套的。 - :class:`ensemble.GradientBoostingRegressor` 和 :class:`ensemble.GradientBoostingClassifier` 的 ``estimators_`` 属性 现在是一个 :class:`tree.DecisionTreeRegressor` 数组。 - 在 :class:`decomposition.MiniBatchDictionaryLearning` 和 :class:`decomposition.MiniBatchSparsePCA` 中将 ``chunk_size`` 重命名为 ``batch_size`` , 以保持一致性。 - :class:`svm.SVC` 和 :class:`svm.NuSVC` 现在提供 ``classes_`` 属性, 并支持任意数据类型的标签 ``y`` 。 另外, ``predict`` 返回的 dtype 现在反映了 ``fit`` 期间 ``y`` 的 dtype(以前是 ``np.float`` )。 - 更改了 `cross_validation.train_test_split` 中的默认 test_size 为 None,增加了从 `cross_validation.ShuffleSplit` 和 `cross_validation.StratifiedShuffleSplit` 中的 ``train_size`` 推断 ``test_size`` 的可能性。 - 将函数 `sklearn.metrics.zero_one` 重命名为 `sklearn.metrics.zero_one_loss` 。请注意, `sklearn.metrics.zero_one_loss` 的默认行为与 `sklearn.metrics.zero_one` 不同: ``normalize=False`` 已更改为 ``normalize=True`` 。 - 将函数 `metrics.zero_one_score` 重命名为 :func:`metrics.accuracy_score` 。 - :func:`datasets.make_circles` 现在具有相同数量的内点和外点。 - 在朴素贝叶斯分类器中, ``class_prior`` 参数已从 ``fit`` 移动到 ``__init__`` 。 人员 ------ 按提交次数列出的 0.13 版本贡献者名单。 * 364 `Andreas Müller`_ * 143 `Arnaud Joly`_ * 137 `Peter Prettenhofer`_ * 131 `Gael Varoquaux`_ * 117 `Mathieu Blondel`_ * 108 `Lars Buitinck`_ * 106 Wei Li * 101 `Olivier Grisel`_ * 65 `Vlad Niculae`_ * 54 `Gilles Louppe`_ * 40 `Jaques Grobler`_ * 38 `Alexandre Gramfort`_ * 30 `Rob Zinkov`_ * 19 Aymeric Masurelle * 18 Andrew Winterman * 17 `Fabian Pedregosa`_ * 17 Nelle Varoquaux * 16 `Christian Osendorfer`_ * 14 `Daniel Nouri`_ * 13 :user:`Virgile Fritsch ` * 13 syhw * 12 `Satrajit Ghosh`_ * 10 Corey Lynch * 10 Kyle Beauchamp * 9 Brian Cheung * 9 Immanuel Bayer * 9 mr.Shu * 8 Conrad Lee * 8 `James Bergstra`_ * 7 Tadej Janež * 6 Brian Cajes * 6 `Jake Vanderplas`_ * 6 Michael * 6 Noel Dawe * 6 Tiago Nunes * 6 cow * 5 Anze * 5 Shiqiao Du * 4 Christian Jauvin * 4 Jacques Kvam * 4 Richard T. Guy * 4 `Robert Layton`_ * 3 Alexandre Abraham * 3 Doug Coleman * 3 Scott Dickerson * 2 ApproximateIdentity * 2 John Benediktsson * 2 Mark Veronda * 2 Matti Lyra * 2 Mikhail Korobov * 2 Xinfan Meng * 1 Alejandro Weinstein * 1 `Alexandre Passos`_ * 1 Christoph Deil * 1 Eugene Nizhibitsky * 1 Kenneth C. Arnold * 1 Luis Pedro Coelho * 1 Miroslav Batchkarov * 1 Pavel * 1 Sebastian Berg * 1 Shaun Jackman * 1 Subhodeep Moitra * 1 bob * 1 dengemann * 1 emanuele * 1 x006