.. include:: _contributors.rst .. currentmodule:: sklearn .. _changes_0_13_1: Version 0.13.1 ============== **February 23, 2013** The 0.13.1 release only fixes some bugs and does not add any new functionality. Changelog --------- - Fixed a testing error caused by the function :func:`cross_validation.train_test_split` being interpreted as a test by `Yaroslav Halchenko`_. - Fixed a bug in the reassignment of small clusters in the :class:`cluster.MiniBatchKMeans` by `Gael Varoquaux`_. - Fixed default value of ``gamma`` in :class:`decomposition.KernelPCA` by `Lars Buitinck`_. - Updated joblib to ``0.7.0d`` by `Gael Varoquaux`_. - Fixed scaling of the deviance in :class:`ensemble.GradientBoostingClassifier` by `Peter Prettenhofer`_. - Better tie-breaking in :class:`multiclass.OneVsOneClassifier` by `Andreas Müller`_. - Other small improvements to tests and documentation. People ------ List of contributors for release 0.13.1 by number of commits. * 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: Version 0.13 ============ **January 21, 2013** New Estimator Classes --------------------- - :class:`dummy.DummyClassifier` and :class:`dummy.DummyRegressor`, two data-independent predictors by `Mathieu Blondel`_. Useful to sanity-check your estimators. See :ref:`dummy_estimators` in the user guide. Multioutput support added by `Arnaud Joly`_. - :class:`decomposition.FactorAnalysis`, a transformer implementing the classical factor analysis, by `Christian Osendorfer`_ and `Alexandre Gramfort`_. See :ref:`FA` in the user guide. - :class:`feature_extraction.FeatureHasher`, a transformer implementing the "hashing trick" for fast, low-memory feature extraction from string fields by `Lars Buitinck`_ and :class:`feature_extraction.text.HashingVectorizer` for text documents by `Olivier Grisel`_ See :ref:`feature_hashing` and :ref:`hashing_vectorizer` for the documentation and sample usage. - :class:`pipeline.FeatureUnion`, a transformer that concatenates results of several other transformers by `Andreas Müller`_. See :ref:`feature_union` in the user guide. - :class:`random_projection.GaussianRandomProjection`, :class:`random_projection.SparseRandomProjection` and the function :func:`random_projection.johnson_lindenstrauss_min_dim`. The first two are transformers implementing Gaussian and sparse random projection matrix by `Olivier Grisel`_ and `Arnaud Joly`_. See :ref:`random_projection` in the user guide. - :class:`kernel_approximation.Nystroem`, a transformer for approximating arbitrary kernels by `Andreas Müller`_. See :ref:`nystroem_kernel_approx` in the user guide. - :class:`preprocessing.OneHotEncoder`, a transformer that computes binary encodings of categorical features by `Andreas Müller`_. See :ref:`preprocessing_categorical_features` in the user guide. - :class:`linear_model.PassiveAggressiveClassifier` and :class:`linear_model.PassiveAggressiveRegressor`, predictors implementing an efficient stochastic optimization for linear models by `Rob Zinkov`_ and `Mathieu Blondel`_. See :ref:`passive_aggressive` in the user guide. - :class:`ensemble.RandomTreesEmbedding`, a transformer for creating high-dimensional sparse representations using ensembles of totally random trees by `Andreas Müller`_. See :ref:`random_trees_embedding` in the user guide. - :class:`manifold.SpectralEmbedding` and function :func:`manifold.spectral_embedding`, implementing the "laplacian eigenmaps" transformation for non-linear dimensionality reduction by Wei Li. See :ref:`spectral_embedding` in the user guide. - :class:`isotonic.IsotonicRegression` by `Fabian Pedregosa`_, `Alexandre Gramfort`_ and `Nelle Varoquaux`_, Changelog --------- - :func:`metrics.zero_one_loss` (formerly ``metrics.zero_one``) now has option for normalized output that reports the fraction of misclassifications, rather than the raw number of misclassifications. By Kyle Beauchamp. - :class:`tree.DecisionTreeClassifier` and all derived ensemble models now support sample weighting, by `Noel Dawe`_ and `Gilles Louppe`_. - Speedup improvement when using bootstrap samples in forests of randomized trees, by `Peter Prettenhofer`_ and `Gilles Louppe`_. - Partial dependence plots for :ref:`gradient_boosting` in :func:`ensemble.partial_dependence.partial_dependence` by `Peter Prettenhofer`_. See :ref:`sphx_glr_auto_examples_ensemble_plot_partial_dependence.py` for an example. - The table of contents on the website has now been made expandable by `Jaques Grobler`_. - :class:`feature_selection.SelectPercentile` now breaks ties deterministically instead of returning all equally ranked features. - :class:`feature_selection.SelectKBest` and :class:`feature_selection.SelectPercentile` are more numerically stable since they use scores, rather than p-values, to rank results. This means that they might sometimes select different features than they did previously. - Ridge regression and ridge classification fitting with ``sparse_cg`` solver no longer has quadratic memory complexity, by `Lars Buitinck`_ and `Fabian Pedregosa`_. - Ridge regression and ridge classification now support a new fast solver called ``lsqr``, by `Mathieu Blondel`_. - Speed up of :func:`metrics.precision_recall_curve` by Conrad Lee. - Added support for reading/writing svmlight files with pairwise preference attribute (qid in svmlight file format) in :func:`datasets.dump_svmlight_file` and :func:`datasets.load_svmlight_file` by `Fabian Pedregosa`_. - Faster and more robust :func:`metrics.confusion_matrix` and :ref:`clustering_evaluation` by Wei Li. - :func:`cross_validation.cross_val_score` now works with precomputed kernels and affinity matrices, by `Andreas Müller`_. - LARS algorithm made more numerically stable with heuristics to drop regressors too correlated as well as to stop the path when numerical noise becomes predominant, by `Gael Varoquaux`_. - Faster implementation of :func:`metrics.precision_recall_curve` by Conrad Lee. - New kernel :class:`metrics.chi2_kernel` by `Andreas Müller`_, often used in computer vision applications. - Fix of longstanding bug in :class:`naive_bayes.BernoulliNB` fixed by Shaun Jackman. - Implemented ``predict_proba`` in :class:`multiclass.OneVsRestClassifier`, by Andrew Winterman. - Improve consistency in gradient boosting: estimators :class:`ensemble.GradientBoostingRegressor` and :class:`ensemble.GradientBoostingClassifier` use the estimator :class:`tree.DecisionTreeRegressor` instead of the :class:`tree._tree.Tree` data structure by `Arnaud Joly`_. - Fixed a floating point exception in the :ref:`decision trees ` module, by Seberg. - Fix :func:`metrics.roc_curve` fails when y_true has only one class by Wei Li. - Add the :func:`metrics.mean_absolute_error` function which computes the mean absolute error. The :func:`metrics.mean_squared_error`, :func:`metrics.mean_absolute_error` and :func:`metrics.r2_score` metrics support multioutput by `Arnaud Joly`_. - Fixed ``class_weight`` support in :class:`svm.LinearSVC` and :class:`linear_model.LogisticRegression` by `Andreas Müller`_. The meaning of ``class_weight`` was reversed as erroneously higher weight meant less positives of a given class in earlier releases. - Improve narrative documentation and consistency in :mod:`sklearn.metrics` for regression and classification metrics by `Arnaud Joly`_. - Fixed a bug in :class:`sklearn.svm.SVC` when using csr-matrices with unsorted indices by Xinfan Meng and `Andreas Müller`_. - :class:`MiniBatchKMeans`: Add random reassignment of cluster centers with little observations attached to them, by `Gael Varoquaux`_. API changes summary ------------------- - Renamed all occurrences of ``n_atoms`` to ``n_components`` for consistency. This applies to :class:`decomposition.DictionaryLearning`, :class:`decomposition.MiniBatchDictionaryLearning`, :func:`decomposition.dict_learning`, :func:`decomposition.dict_learning_online`. - Renamed all occurrences of ``max_iters`` to ``max_iter`` for consistency. This applies to :class:`semi_supervised.LabelPropagation` and :class:`semi_supervised.label_propagation.LabelSpreading`. - Renamed all occurrences of ``learn_rate`` to ``learning_rate`` for consistency in :class:`ensemble.BaseGradientBoosting` and :class:`ensemble.GradientBoostingRegressor`. - The module ``sklearn.linear_model.sparse`` is gone. Sparse matrix support was already integrated into the "regular" linear models. - :func:`sklearn.metrics.mean_square_error`, which incorrectly returned the accumulated error, was removed. Use ``mean_squared_error`` instead. - Passing ``class_weight`` parameters to ``fit`` methods is no longer supported. Pass them to estimator constructors instead. - GMMs no longer have ``decode`` and ``rvs`` methods. Use the ``score``, ``predict`` or ``sample`` methods instead. - The ``solver`` fit option in Ridge regression and classification is now deprecated and will be removed in v0.14. Use the constructor option instead. - :class:`feature_extraction.text.DictVectorizer` now returns sparse matrices in the CSR format, instead of COO. - Renamed ``k`` in :class:`cross_validation.KFold` and :class:`cross_validation.StratifiedKFold` to ``n_folds``, renamed ``n_bootstraps`` to ``n_iter`` in ``cross_validation.Bootstrap``. - Renamed all occurrences of ``n_iterations`` to ``n_iter`` for consistency. This applies to :class:`cross_validation.ShuffleSplit`, :class:`cross_validation.StratifiedShuffleSplit`, :func:`utils.randomized_range_finder` and :func:`utils.randomized_svd`. - Replaced ``rho`` in :class:`linear_model.ElasticNet` and :class:`linear_model.SGDClassifier` by ``l1_ratio``. The ``rho`` parameter had different meanings; ``l1_ratio`` was introduced to avoid confusion. It has the same meaning as previously ``rho`` in :class:`linear_model.ElasticNet` and ``(1-rho)`` in :class:`linear_model.SGDClassifier`. - :class:`linear_model.LassoLars` and :class:`linear_model.Lars` now store a list of paths in the case of multiple targets, rather than an array of paths. - The attribute ``gmm`` of :class:`hmm.GMMHMM` was renamed to ``gmm_`` to adhere more strictly with the API. - :func:`cluster.spectral_embedding` was moved to :func:`manifold.spectral_embedding`. - Renamed ``eig_tol`` in :func:`manifold.spectral_embedding`, :class:`cluster.SpectralClustering` to ``eigen_tol``, renamed ``mode`` to ``eigen_solver``. - Renamed ``mode`` in :func:`manifold.spectral_embedding` and :class:`cluster.SpectralClustering` to ``eigen_solver``. - ``classes_`` and ``n_classes_`` attributes of :class:`tree.DecisionTreeClassifier` and all derived ensemble models are now flat in case of single output problems and nested in case of multi-output problems. - The ``estimators_`` attribute of :class:`ensemble.gradient_boosting.GradientBoostingRegressor` and :class:`ensemble.gradient_boosting.GradientBoostingClassifier` is now an array of :class:'tree.DecisionTreeRegressor'. - Renamed ``chunk_size`` to ``batch_size`` in :class:`decomposition.MiniBatchDictionaryLearning` and :class:`decomposition.MiniBatchSparsePCA` for consistency. - :class:`svm.SVC` and :class:`svm.NuSVC` now provide a ``classes_`` attribute and support arbitrary dtypes for labels ``y``. Also, the dtype returned by ``predict`` now reflects the dtype of ``y`` during ``fit`` (used to be ``np.float``). - Changed default test_size in :func:`cross_validation.train_test_split` to None, added possibility to infer ``test_size`` from ``train_size`` in :class:`cross_validation.ShuffleSplit` and :class:`cross_validation.StratifiedShuffleSplit`. - Renamed function :func:`sklearn.metrics.zero_one` to :func:`sklearn.metrics.zero_one_loss`. Be aware that the default behavior in :func:`sklearn.metrics.zero_one_loss` is different from :func:`sklearn.metrics.zero_one`: ``normalize=False`` is changed to ``normalize=True``. - Renamed function :func:`metrics.zero_one_score` to :func:`metrics.accuracy_score`. - :func:`datasets.make_circles` now has the same number of inner and outer points. - In the Naive Bayes classifiers, the ``class_prior`` parameter was moved from ``fit`` to ``__init__``. People ------ List of contributors for release 0.13 by number of commits. * 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