* fix the issue with max_depth and BestFirstTreeBuilder
* fix the test
* fix max_depth overshoot in BFS expansion
* fix forest tests
* remove the warning, add whats_new entry
* remove extra line
* add affected classes to changed classes
* add other affected estimators to the whats_new changed models
* shorten whats_new changed models entry
* TST add test checking the behaviour of constant/no-constant features
* FIX/TST factorize test
* TST Add additional constant features
* FIX/TST remove ExtraTree from test
* remove stuff to be removed 0.19
* more changes
* remove classes from 0.19 whatsnew
* remove _LearntSelectorMixin
* remove ProjectedGradientNMF, load_lwf_*
* minor fixes
* remove more copy from logistic regression path
* remove lda, qda from __init__.__all__
* remove pg solver in nmf from tests etc
* remove class_weight="auto" from tests
* doctest change for decision_function_shape="ovr"
* remove transfrom from tree test, minor fixes to tree tests
* some fixes in the tests
* undo changes in functions which still allow 1d input...
* also allow 1d in scale
* more test fixes...
* last test fixes in forest and tree
* svm default value change doctest failures
* pep8
* remove more class_weight="auto" stuff
* minor cosmetics in docstrings deprecated / removed behavior.
* say that store_covariance has been moved to __init__ in discriminant_analysis
* fix min_weight_fraction_leaf when sample_weights is None
* fix flake8 error
* remove added newline and unnecessary assignment
* remove max bc it's implemented in cython and add interaction test
* edit weight calculation formula and add test to check equality
* remove test that sees if two parameter build the same tree
* reword min_weight_fraction_leaf docstring
* clarify uniform weight in forest docstrings
* update docstrings for all classes
* add what's new entry
* move whatsnew entry to bug fixes and explain previous behavior
* feature: add beta-threshold early stopping for decision tree growth
* check if value of beta is greater than or equal to 0
* test if default value of beta is 0 and edit input validation error message
* feature: separately validate beta for reg. and clf., and add tests for it
* feature: add beta to forest-based ensemble methods
* feature: add separate condition to determine that beta is float
* feature: add beta to gradient boosting estimators
* rename parameter to min_impurity_split, edit input validation and associated tests
* chore: fix spacing in forest and force recompilation of grad boosting extension
* remove trivial comment in grad boost and add whats new
* edit wording in test comment / rebuild
* rename constant with the same name as our parameter
* edit line length for what's new
* remove constant and set min_impurity_split to 1e-7 by default
* fix docstrings for new default
* fix defaults in gradientboosting and forest classes
* feature: add initial node_value method
* testing code for node_impurity and node_value
This code runs into 'Bus Error: 10' at node_value final assignment.
* fix: node_value now correctly calculating weighted median for sorted data.
Still need to change the code to work with unsorted data.
* fix: node_value now correctly calculates median regardless of initial order
* fix: correct bug in calculating median when taking midpoint is necessary
* feature: add initial version of children_impurity
* feature: refactor median calculation into one function
* fix: fix use of DOUBLE_t vs double
* feature: move helper functions to _utils.pyx, fix mismatched pointer type
* fix: fix some bugs in children_impurity method
* push a debug version to try to solve segfault
* push latest changes, segfault probably happening bc of something in _utils.pyx
* fix: fix segfault in median calculation and remove excessive logging
* chore: revert some misc spacing changes I accidentally made
* chore: one last spacing fix in _splitter.pyx
* feature: don't calculate weighted median if no weights are passed in
* remove extraneous logging statement
* fix: fix children impurity calculation
* fix: fix bug with children impurity not being initally set to 0
* fix: hacky fix for a float accuracy error
* fix: incorrect type cast in median array generation for node_impurity
* slightly tweak node_impurity function
* fix: be more explicit with casts
* feature: revert cosmetic changes and free temporary arrays
* fix: only free weight array in median calcuation if it was created
* style: remove extraneous newline / trigger CI build
* style: remove extraneous 0 from range
* feature: save sorts within a node to speed it up
* fix: move parts of dealloc to regression criterion
* chore: add comment to splitter to try to force recythonizing
* chore: add comment to _tree.pyx to try to force recythonizing
* chore: add empty comment to gradient boosting to force recythonizing
* fix: fix bug in weighted median
* try moving sorted values to a class variable
* feature: refactor criterion to sort once initially, then draw all samples from this sorted data
* style: remove extraneous parens from if condition
* implement median-heap method for calculating impurity
* style: remove extra line
* style: fix inadvertent cosmetic changes; i'll address some of these in a separate PR
* feature: change minmaxheap to internally use sorted arrays
* refactored MAE and push to share work
* fix errors wrt median insertion case
* spurious comment to force recythonization
* general code cleanup
* fix typo in _tree.pyx
* removed some extraneous comments
* [ci skip] remove earlier microchanges
* [ci skip] remove change to priorityheap
* [ci skip] fix indentation
* [ci skip] fix class-specific issues with heaps
* [ci skip] restore a newline
* [ci skip] remove microchange to refactor later
* reword a comment
* remove heapify methods from queue class
* doc: update docstrings for dt, rf, and et regressors
* doc: revert incorrect spacing to shorten diff
* convert get_median to return value directly
* [ci skip] remove accidental whitespace
* remove extraneous unpacking of values
* style: misc changes to identifiers
* add docstrings and more informative variable identifiers
* [ci skip] add trivial comments to recythonize
* remove trivial comments for recythonizing
* force recythonization for real this time
* remove trivial comments for recythonization
* rfc: harmonize arg. names and remove unnecessary checks
* convert allocations to safe_realloc
* fix bug in weighted case and add tests for MAE
* change all medians to DOUBLE_t
* add loginc allocate mediancalculators once, and reset otherwise
* misc style fixes
* modify cinit of regressioncriterion to take n_samples
* add MAE formula and force rebuild bc. travis was down
* add criterion parameter to gradient boosting and add forest tests
* add entries to what's new
ENH NonBLASDotWarning -> EfficiencyWarning; Improve error message
DOC Add exceptions module to modules/classes.rst
MAINT Move ConvergenceWarning, UndefinedMetricWarning et al into exceptions
MAINT Remove ChangedBehaviorWarning from base
DOC/FIX Improve DataConversionWarning's docstring
Passing 1D arrays to check_array, without setting `ensure_2d` to false now
raises a deprecation warning before reshaping it. This will later throw an
error.
All Scaler classes also throw warnings when 1D arrays are passed.
All unit tests/doctests are modified to ensure that no 1D arrays are passed,
except in explicit 1D array tests where the warnings have been silenced.
Additional tests are also included which check for different 1D array cases.
2D array tests with one samples and one features are also added and where
they failed, `check_array` call has been modified to give a more useful error
message
MAINT Remove sequence of sequence support from datasets
MAINT Remove return_indicator param
MAINT Remove multilabel-seq test in OVR
MAINT Remove multilable-seq test in check_cv
MAINT Remove multilabel seq test in label_binarizer
TST type_of_target returns "unknown" for multilabel-sequence types
TST _check_targets should raise a ValueError
DOC show multilabel indicator as an example; remove return_indicator param
DOC use consistent lower case y for target