Skip to content

Model summary to show tree details for FastTree #3755

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
ganik opened this issue May 21, 2019 · 4 comments · Fixed by #3892
Closed

Model summary to show tree details for FastTree #3755

ganik opened this issue May 21, 2019 · 4 comments · Fixed by #3892
Assignees
Labels
P0 Priority of the issue for triage purpose: IMPORTANT, needs to be fixed right away.

Comments

@ganik
Copy link
Member

ganik commented May 21, 2019

Currently model summary doesnt show trees and split points for FastTree models.
FastTree model needs to implement ICanGetSummaryAsIDataView that would dump this info.

@ganik ganik self-assigned this May 21, 2019
@ganik ganik added the P0 Priority of the issue for triage purpose: IMPORTANT, needs to be fixed right away. label May 21, 2019
@yaeldekel
Copy link

Hi @ganik ,
FastTree models implement ICanGetSummaryAsIRow, so it doesn't need to implement ICanGetSummaryAsIDataView. Either way, both these interfaces are internal and are not intended to be used programatically to get information about the model.
For getting information about the model, FastTree models have a public TrainedTreeEnsemble property, that returns an object that contains information about the tree ensemble:

        public double Bias { get; }
        public IReadOnlyList<T> Trees { get; }
        public IReadOnlyList<double> TreeWeights { get; }

where T derives from RegressionTreeBase and contains information about a single tree.

@codemzs
Copy link
Member

codemzs commented May 22, 2019

@ganik Can you please comment? if this needs to be fixed can you please confirm this can go in before 1.1 release next week?

@codemzs codemzs assigned artidoro and unassigned ganik Jun 10, 2019
@artidoro
Copy link
Contributor

This issue pertains to Nimbus ML. In order to pass the model parameters to Nimbus ML the model parameters class has to implement ICanGetSummaryAsIRow or ICanGetSummaryAsIDataView.

FastTree implements ICanGetSummaryAsIRow as Yael points out. However, it does not expose all the tree structure, it only exposes the gains.

We should implement ICanGetSummaryAsIDataView to pass all the information in TrainedTreeEnsemble to Nimbus (including the tree structure).

@artidoro
Copy link
Contributor

My suggestion is to construct an IDataView where each tree in the ensemble is represented in its own row. Since Wei-Sheng did a lot of work to reduce down the list of public fields defining the trees, they should all be include in the IDataView, with each column corresponding to a different field.

@ghost ghost locked as resolved and limited conversation to collaborators Mar 21, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
P0 Priority of the issue for triage purpose: IMPORTANT, needs to be fixed right away.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants