:orphan:

.. include:: _contributors.rst
.. currentmodule:: treeple

.. _v0_7:

Version 0.7
===========

This release adds the ability to separate in-bag and out-of-bag samples for
any forest model. We also introduce a new class for fitting honest forests while
permuting the covariate index, and a new set of simulations based on Marron and Wand 1992.

In addition, various patches were made in terms of how to use scikit-tree for hypothesis
testing of feature sets.

Changelog
---------

- |Feature| Introduce a new light-weight class for fitting honest forests while
    permuting the covariate index :class:`treeple.stats.PermutationHonestForestClassifier`,
    by `Adam Li`_ (:pr:`#211`)
- |Feature| Introduce a new class method ``predict_proba_per_tree`` for all
    Forest classifiers, which will predict the probability per tree and keep the
    output as a ``(n_estimators, n_samples, n_classes)`` output,
    by `Adam Li`_ (:pr:`#211`)
- |Feature| Introduce a new class fitted attribute ``oob_samples_`` for all
    Forest models, which will keep track of the samples used.
    by `Adam Li`_ (:pr:`#211`)
- |Feature| Introduce a new set of simulations based on Marron and Wand 1992.
    by `Sambit Panda`_ (:pr:`#203`)
- |Feature| :func:`treeple.stats.build_coleman_forest` and :func:`treeple.stats.build_permutation_forest`
    are added to compute p-values given an estimator and permutation-estimator, `Adam Li`_ (:pr:`#222`)
- |API| :func:`treeple.datasets.make_trunk_classification` for generating trunk mixture and Marron-Wand
    simulations are separated out into :func:`treeple.datasets.make_marron_wand_classification` and
    :func:`treeple.datasets.make_trunk_mixture_classification`, `Adam Li`_ (:pr:`#227`)
- |API| :class:`treeple.HonestForestClassifier` and :class:`treeple.tree.HonestTreeClassifier`
    now overwrite all parameters set by the underlying ``tree_estimator`` and allow you to directly
    pass any extra parameters that ``tree_estimator`` has compared to the original
    :class:`~sklearn.tree.DecisionTreeClassifier`, `Adam Li`_ (:pr:`#228`)
- |Fix| Trunk simulators now correctly generate random values with a fixed seed,
    by `Sambit Panda`_ (:pr:`#236`)
- |Fix| Trunk simulators now correctly generate random values with a fixed seed,
    by `Sambit Panda`_ (:pr:`#236`)
- |Efficiency| All scikit-tree estimators are now at least 2X faster than they were
    in previous versions. This was due to adding in compiler-directives to turn on 
    optimizations '-03' when compiling the C++ generated code from Cython. In addition,
    we explicitly turned off bounds-checking and related runtime checks in the Cython code,
    which would lead to performance degradation during runtime. by `Adam Li`_ (:pr:`#242`)

Code and Documentation Contributors
-----------------------------------

Thanks to everyone who has contributed to the maintenance and improvement of
the project since version inception, including:

* `Adam Li`_
* `Sambit Panda`_
