This came up earlier in this PR.  The use case I've mentioned is exporting JSON, as that is an easy one to explain, and I have used it in that way, but this format is useful for many other tasks.  For example, in my case, I needed to convert decision trees into a set of multi-dimensional bounding boxes to fit legacy code.

For a classifier known for its simplicity and transparency, there should be a simple pythonic access to the underlying tree.  The only way to access this data structure at the moment is through an (un/poorly) documented data structure with many underscores post-fixing and pre-fixing names, a standard convention for 'private' data.

Perhaps the best solution would be a Tree.to_dict() or similar which preserves numpy types and None or other terminal values.  In addition there could be an export_json in this export.py file which exports in a json.dumps-able, terminal friendly, native python way.  I would have to read up on the file format that the Tree object is defined in to do that though, as this is the first time I've ever run into it.