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
[New Feature] Interaction constraints #3135
Comments
I have an experimental version in the repo below. If possible, I would love to merge it to this main repository (see #3136). It has two arguments:
As an example, please see: Limitations
|
I followed your example and I assume int_constraints_list = list(c('V1','V2'),c('V3','V4','V5')) means V1 can only interact with V2 and vice versa. Same idea for V3, V4 and V5. But I got results like below. Basically, the constraints are not applied. Can you clarify it? Thanks. temp.int [[2]] [[3]] [[4]] [[5]] [[6]] [[7]] [[8]] [[9]] [[10]] Best, |
Hi Cassie, The changes hasn't been merged to this master repo. Just checking whether you tried the code using xgboost from my experimental branch: Cheers, |
If you are using Windows and you want an easy way to test interaction constraints, you can download the binary file here: And install in R using:
|
Consolidating to #3439. This issue should be re-opened when you and others decide to actively work on implementing this feature. I look forward to working with you to have feature interaction implemented. |
@BlueTea88 Sure. Let me know when your pull request is ready for review. |
@hcho3 It is ready for review now. Thanks |
Is there any way to constrain the feature not to interact with itself? I didn't find it in the document. Thanks. |
@yanyachen I don't think it's possible yet. Is it something you or others would find useful? If so, why and how? |
I think it's useful in these 2 slightly different scenario:
I think this is useful but also admitted this feature may be not popular to others, or say similar effect can be achieved through feature bootstrapping and then model bagging. |
Hi, I would like to add interaction constraints functionality to tree building.
Basically, this would constrain the combination of variables in each tree based on constraints specified by the user. Initial variables will still get selected in a greedy fashion (best variable at the time will be chosen) but subsequent variables will be limited to variables that have permitted interactions with the initial variables.
Potential benefits include:
The idea is discussed briefly in the paper:
Delta Boosting Machine and its Application in Actuarial Modelling (Antonio et al., 2015)
https://actuaries.asn.au/Library/Events/ASTINAFIRERMColloquium/2015/AntonioEtAlDeltaBoostingPaper.pdf
The text was updated successfully, but these errors were encountered: