Skip to content

Cannot access leaf nodes of trained trees #3083

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
daholste opened this issue Mar 25, 2019 · 3 comments
Closed

Cannot access leaf nodes of trained trees #3083

daholste opened this issue Mar 25, 2019 · 3 comments

Comments

@daholste
Copy link
Contributor

daholste commented Mar 25, 2019

In this review #2753, I notice the methods to traverse thru trained tree ensembles have been removed from the public API

@wschin @TomFinley

I understand the logic for removing.

However, in our forked copy of SMAC, we require / have been using this functionality. Any advice on how to proceed?

@sfilipi
Copy link
Member

sfilipi commented Mar 26, 2019

@wschin @abgoswam @TomFinley is this is good candidate for the Experimental nuget?

cc @shauheen

@TomFinley
Copy link
Contributor

@wschin @abgoswam @TomFinley is this is good candidate for the Experimental nuget?

cc @shauheen

I suppose, for the short term. In the more medium term, it looks like this code is duplicating much of the same logic that exists in tree featurization, specifically, getting the leaf values for an example. Once we make tree featurziation part of the public API, then perhaps we could use that instead. (This would also probably simplify SMAC. I think SMAC's writing by @george-microsoft predates @yaeldekel's introduction of the tree featurizer, so presumably that was not an option at the time.)

Presumably we want tree featurization exposed in our public API at some point. It was a useful embedding. But, currently it appears to adhere to the old IDataTransform idiom (and so must be hidden), not the new IEstimator/ITransformer idioms.

@artidoro
Copy link
Contributor

artidoro commented Jul 3, 2019

We have reintroduced the tree featurizer and we have an API to access the trained tree ensemble parameters (leaves and other things). See:

public RegressionTreeEnsemble TrainedTreeEnsemble { get; }

I am closing this issue, but feel free to reopen it in case we are still missing some functionality.

@artidoro artidoro closed this as completed Jul 3, 2019
@ghost ghost locked as resolved and limited conversation to collaborators Mar 23, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants