* 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
* add reingold tillford tree layout algorithm
* add first silly implementation of matplotlib based plotting for trees
* object oriented design for export_graphviz so it can be extended
* add class for mlp export
* add colors
* separately scale x and y, add arrowheads, fix strings
* implement max_depth
* don't use alpha for coloring because it makes boxes transparent
* remove unused variables
* vertical center of boxes
* fix/simplify newline trimming
* somewhere in the middle of stuff
trying to get rid of scalex, scaley
* remove "find_longest_child" for now, fix tests
* make scalex and scaley internal, and ax local.
render everything once to get the bbox sizes, then again to actually plot it with known extents.
* add some margin to the max bbox width
* add _BaseTreeExporter baseclass
* add docstring to plot_tree
* use data coordinates so we can put the plot in a subplot, remove some hacks.
* remove scalex, scaley, add automatic font size
* use rendered stuff for setting limits (well nearly there)
* import plot_tree into tree module
* set limits before font size adjustment?
* add tree plotting via matplotlib to iris example and to docs
* pep8 fix
* skip doctest on plot_tree because matplotlib is not installed on all CI machines
* redo everything in axis pixel coordinates
re-introduce scalex, scaley
add max_extents to tree to get tree size before plotting
* fix max-depth
parent node positioning and don't consider deep nodes in layouting
* consider height in fontsize computation
in case someone gave us a very flat figure
* fix error when max_depth is None
* add docstring for tree plotting fontsize
* starting on jnothman's review
* renaming fixes
* whatsnew for tree plotting
* clear axes prior to doing anything.
* fix doctests
* skip matplotlib doctest
* trying to debug circle failure
* trying to show full traceback
* more print debugging
* remove debugging crud
* hack around matplotlib <1.5 issues
* copy bbox args because old matplotlib is weird.
* pep8 fixes
* add explicit boxstyle
* more pep8
* even more pep8
* add comment about matplotlib version requirement
* remove redundant file
* add whatsnew entry that the merge lost
* fix merge issue
* more merge issues
* whitespace ...
* remove doctest skip to see what's happening
* added some simple invariance tests buchheim function
* refactor
___init__ into superclass
* added some tests of plot_tree
* put skip back in, fix typo, fix versionadded number
* remove unused parameters special_characters and parallel_leaves from mpl plotting
* rename tests to test_reingold_tilford
* added license header from pymag-trees repo
* remove duplicate test file.
There is one test case that fails undefined behavior test. This happens
when n is 0, which resutls in log(n) evalutes to -inf. And to convert
-inf to integer is undefined behavior and causes exception when
undefined behavior check is turned on.
Properly handle this by early return when sorting array is zero length.
I agree this might be an usage error instead of a bug, but to leave it
vulnerable to undefined behavior exception might not a good idea.
Undefined behavior check is happy after this fix.
Use a sparse matrix representation of the neighbors.
Re-factored the QuadTree implementation to avoid insertion errors.
Various fixes in the gradient descent schedule to get the Barnes Hut and exact solvers to behave more robustly and consistently.
* Extended explanation of using class_weight in RandomForestClassifier
* Extended explanation of using class_weight in DecisionTreeClassifier,ExtraTreesClassifier and compute_sample_weight()
* Rephrased description.
* Rephrased description (remove "indicator")
* #8477
check length of feature_names in export_graphviz
- raise ValueError if len(feature_names) > tree.n_features
- add unit test for len(feature_names) > tree.n_features
- change the comment of existing unit test for len(feature_names) <
tree.n_features
* fix error and warning
- include length of feature_names and number of features in tree in the
error and warning message.
- raise error for too few feature_names
- for too much feature_names, will use the first n_features. raise an
warning for users
- use assert_raise_message and assert_warns_message in test to check
message.
* move the error and warning from node_to_str to export_graphviz so it will fail early for wrong length of feature_names
* raise error if length of feature_names does not match number of features in the decision tree
* fix pep8
* remove unused assert_warns_message import in test_export.py
* add bug fix in doc/whats_new.rst
* fix the english in doc/whats_new.rst
* fix the format and english in sklearn/tree/export.py
* fix contributor format in doc/whats_new.rst
* fix english, use bracket and avoid \ in error message
* fix pep8
* fix pep8