IP Library Granted Patent US 11,620,537
Granted Patent B2
US 11,620,537 · App. 16/858,143 · Granted Apr 4, 2023

Optimizing gradient boosting feature selection

Inventor: Jacques Doan Huu (Montigny le Bretonneux, FR)
Assignee: SAP SE
G06N5/02G06F16/2228G06F16/2365
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,620,537
App. No.
16/858,143
Granted
Apr 4, 2023
Kind
B2
Abstract

Gradient Boosting Decision Tree (GBDT) successively stacks many decision trees which at each step try to fix the residual errors from the previous steps. The final score produced by the GBDT is the sum of the individual scores obtained by the decision trees for an input vector. Overfitting in GBDT can be reduced by removing the input values that have the least impact on the output from the training data. One way to determine which input variable has the lowest predictive value is to determine the input variable that is used for the first time in the latest decision tree in the GBDT. This method of identifying the low-predictive features to be removed does not require that earlier trees be regenerated to generate the new GBDT. Since the removed feature was already not used in the earlier trees, those trees already ignore the removed feature.

Claims (91)

1. A method comprising:

generating, by one or more processors, a first decision tree for partitioning a feature space, the first decision tree using a first set of features, the first set of features being a first subset of an available set of features;

generating, by the one or more processors, a second decision tree that refines the first decision tree to improve the partitioning of the feature space, the second decision tree using zero or more features of the first set of features and a second set of features not included in the first set of features, the second set of features being a second subset of the available set of features;

storing, in a database, first data that associates the first decision tree with the first set of features;

storing, in the database, second data that associates the second decision tree with the second set of features;

removing a feature of the second set of features from the available set of features;

based on the second data associating the second decision tree with the second set of features comprising the removed feature, generating a third decision tree that refines the first decision tree to improve the partitioning of the feature space, the third decision tree not using the removed feature;

generating, by the one or more processors, a fourth decision tree that refines the first decision tree and the second decision tree to improve the partitioning of the feature space, the fourth decision tree using zero or more features of the first set of features, zero or more features of the second set of features, and a third set of features not included in the first set of features or the second set of features, the third set of features being a third subset of the available set of features;

storing, in the database, third data that associates the fourth decision tree with the third set of features; and

based on the third data associating the fourth decision tree with the third set of features not comprising the removed feature, determining, using the second data, that the removed feature is in the second set of features.

2. The method of claim 1 , further comprising:

determining a quality difference between a first model comprising the first decision tree and the second decision tree and a second model comprising the first decision tree and the third decision tree; and

based on the quality difference and a predetermined threshold, using the first model to partition the feature space.

3. The method of claim 2 , further comprising:

determining a first quality for the first model based on a validation dataset; and

determining a second quality for the second model based on the validation dataset;

wherein the determining of the quality difference is based on the first quality and the second quality.

4. The method of claim 2 , wherein the determining of the quality difference between the first model and the second model comprises:

determining a quality of the first model by determining a first error measure for the first decision tree and a second error measure for the second decision tree;

storing, in the database, the first error measure; and

determining a quality of the second model by accessing the stored first error measure for the first decision tree and determining a third error measure for the third decision tree.

5. The method of claim 1 , further comprising:

determining a quality difference between a first model comprising the first decision tree and the second decision tree and a second model comprising the first decision tree and the third decision tree; and

based on the quality difference and a predetermined threshold, removing a second feature from the available set of features.

6. The method of claim 1 , further comprising:

determining a first quality for the first decision tree based on a validation dataset;

determining a second quality for the first decision tree in conjunction with the second decision tree based on the validation dataset;

storing, in the database, third data associating the first quality with the first decision tree; and

storing, in the database, fourth data associating the second quality with the second decision tree.

7. The method of claim 1 , wherein the generating of the first decision tree comprises using an objective function.

8. A system comprising:

a memory that stores instructions; and

one or more processors configured by the instructions to perform operations comprising:

generating a first decision tree for partitioning a feature space, the first decision tree using a first set of features, the first set of features being a first subset of an available set of features;

generating a second decision tree that refines the first decision tree to improve the partitioning of the feature space, the second decision tree using zero or more features of the first set of features and a second set of features not included in the first set of features, the second set of features being a second subset of the available set of features;

storing, in a database, first data that associates the first decision tree with the first set of features;

storing, in the database, second data that associates the second decision tree with the second set of features;

removing a feature of the second set of features from the available set of features;

based on the second data associating the second decision tree with the second set of features comprising the removed feature, generating a third decision tree that refines the first decision tree to improve the partitioning of the feature space, the third decision tree not using the removed feature;

generating a fourth decision tree that refines the first decision tree and the second decision tree to improve the partitioning of the feature space, the fourth decision tree using zero or more features of the first set of features, zero or more features of the second set of features, and a third set of features not included in the first set of features or the second set of features, the third set of features being a third subset of the available set of features;

storing, in the database, third data that associates the fourth decision tree with the third set of features; and

based on the third data associating the fourth decision tree with the third set of features not comprising the removed feature, determining, using the second data, that the removed feature is in the second set of features.

9. The system of claim 8 , wherein the operations further comprise:

determining a quality difference between a first model comprising the first decision tree and the second decision tree and a second model comprising the first decision tree and the third decision tree; and

based on the quality difference and a predetermined threshold, using the first model to partition the feature space.

10. The system of claim 9 , wherein the operations further comprise:

determining a first quality for the first model based on a validation dataset; and

determining a second quality for the second model based on the validation dataset;

wherein the determining of the quality difference is based on the first quality and the second quality.

11. The system of claim 9 , wherein the determining of the quality difference between the first model and the second model comprises:

determining a quality of the first model by determining a first error measure for the first decision tree and a second error measure for the second decision tree;

storing, in the database, the first error measure; and

determining a quality of the second model by accessing the stored first error measure for the first decision tree and determining a third error measure for the third decision tree.

12. The system of claim 8 , wherein the operations further comprise:

determining a quality difference between a first model comprising the first decision tree and the second decision tree and a second model comprising the first decision tree and the third decision tree; and

based on the quality difference and a predetermined threshold, removing a second feature from the available set of features.

13. The system of claim 8 , wherein the operations further comprise:

determining a first quality for the first decision tree based on a validation dataset;

determining a second quality for the first decision tree in conjunction with the second decision tree based on the validation dataset;

storing, in the database, third data associating the first quality with the first decision tree; and

storing, in the database, fourth data associating the second quality with the second decision tree.

14. The system of claim 8 , wherein the generating of the first decision tree comprises using an objective function.

15. A non-transitory machine-readable medium that stores instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

generating a first decision tree for partitioning a feature space, the first decision tree using a first set of features, the first set of features being a first subset of an available set of features;

generating a second decision tree that refines the first decision tree to improve the partitioning of the feature space, the second decision tree using zero or more features of the first set of features and a second set of features not included in the first set of features, the second set of features being a second subset of the available set of features;

storing, in a database, first data that associates the first decision tree with the first set of features;

storing, in the database, second data that associates the second decision tree with the second set of features;

removing a feature of the second set of features from the available set of features;

based on the second data associating the second decision tree with the second set of features comprising the removed feature, generating a third decision tree that refines the first decision tree to improve the partitioning of the feature space, the third decision tree not using the removed feature;

generating a fourth decision tree that refines the first decision tree and the second decision tree to improve the partitioning of the feature space, the fourth decision tree using zero or more features of the first set of features, zero or more features of the second set of features, and a third set of features not included in the first set of features or the second set of features, the third set of features being a third subset of the available set of features;

storing, in the database, third data that associates the fourth decision tree with the third set of features; and

based on the third data associating the fourth decision tree with the third set of features not comprising the removed feature, determining, using the second data, that the removed feature is in the second set of features.

16. The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

determining a quality difference between a first model comprising the first decision tree and the second decision tree and a second model comprising the first decision tree and the third decision tree; and

based on the quality difference and a predetermined threshold, using the first model to partition the feature space.

17. The non-transitory machine-readable medium of claim 16 , wherein the operations further comprise:

determining a first quality for the first model based on a validation dataset; and

determining a second quality for the second model based on the validation dataset;

wherein the determining of the quality difference is based on the first quality and the second quality.

18. The non-transitory machine-readable medium of claim 16 , wherein the determining of the quality difference between the first model and the second model comprises:

determining a quality of the first model by determining a first error measure for the first decision tree and a second error measure for the second decision tree;

storing, in the database, the first error measure; and

determining a quality of the second model by accessing the stored first error measure for the first decision tree and determining a third error measure for the third decision tree.

19. The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

determining a quality difference between a first model comprising the first decision tree and the second decision tree and a second model comprising the first decision tree and the third decision tree; and

based on the quality difference and a predetermined threshold, removing a second feature from the available set of features.

20. The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

determining a first quality for the first decision tree based on a validation dataset;

determining a second quality for the first decision tree in conjunction with the second decision tree based on the validation dataset;

storing, in the database, third data associating the first quality with the first decision tree; and

storing, in the database, fourth data associating the second quality with the second decision tree.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2020
From: HUU, JACQUES DOAN
To: SAP SE
Reel/Frame 052492/0386 →
Continuity (1)
Related Publication 20210334667A1 · Oct 28, 2021
Cited By (1)
US 12,197,514