- Replace poetry with poetry-core as a build dependency
- Drop support for Python 3.7
- Add support for Python 3.10
- Add support for Windows
- Update scikit-learn constraint to 1.0
- Drop support for Python 3.6
- Fix quantile regression predictions for single record
- Fix Tree.value for classifiers
- Fix Tree.feature to use proper value for leaf nodes
- Allow
skranger
predictors to work with shap usingskranger.utils.shap.shap_patch
context manager - Fix package includes to prevent installing extra files to
site-packages
- Use oldest supported numpy for builds
- Remove numpy from dependency spec; numpy is already a requirement of scikit-learn
- Change tree detail training code to be optional in ensembles due to expensive operations
- Change quantile regression to use
np.quantile
in lieu of np.nanquantile` for faster predictions - Fix bug in tree classmethods when setting
sample_fraction
- Added more documentation around tree detail calculations
- Move
split_select_weights
,always_split_features
,categorical_features
params from init to fit methods. - Sample weight checking is now a base class method.
- Remove sparse matrix args from bindings.
- Fix a bug with the output of
predict_quantiles
not being oriented properly for multiple quantiles - Regression's
predict_quantiles
now requires a passed list of quantiles and the default is removed - Regression's
predict
now takes an optional list of quantiles - Remove
snp_data
andorder_snps
from bindings - Moves
class_weights
to fit in classifier, and changes the arg type to a dictionary. - Add
RangerTreeClassifier
,RangerTreeRegressor
, andRangerTreeSurvival
decision tree estimators which inherit betweenRangerMixin
andBaseRangerTree
. Also provide aBaseRangerForest
class for ensemble estimators. - Add a low level
Tree
class which implements most of thesklearn.tree._tree.Tree
interface. - Fix incorrect documentation for
num_random_splits
.
- Set an explicit lower bound on sklearn version.
- Fix a bug with
split_select_weights
- Add
get_importance_pvalues
method to estimators (thanks kmacdon) - Add
feature_importances_
attribute, similar to sklearn forests - Ensure
self.respect_categorical_features
is unchanged when fitting by introducingself.respect_categorical_features_
- Change
self.n_features_
toself.n_features_in_
- Add validation to classification targets, ensuring regression targets can't be passed to classifier
- Add sample weight validation to ensure that passing weights of ones results in identical output when passing None. We do this because ranger does additional RNG on weighted sampling when non-null weights are passed.
- Use
self._validate_data
in lieu ofcheck_X_y
when possible - Use
self._check_n_features
in lieu of manually setting n features - Add tags to estimators
- Fixed a bug related to incorrect
sample_fraction
input type - Fixed a bug in which
sample_fraction
was being passed on predict, raising a ranger error
- Fixed a bug with incorrect output for quantile regression
- Enable quantile regression on RangerForestRegressor.
- Fix bug in classifier to reorder probabilities properly using forest's
class_values
.
- Unpin sklearn/numpy deps, drop Cython dependency, since building wheels.
- Use numpy pyobjects to improve compilation.
- First release.