-
Notifications
You must be signed in to change notification settings - Fork 735
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
merge_ebm
produces broken classifiers
#576
Comments
Ha, this was something I was avoiding because I couldn't think of a great solution, but I guess doing something would be better than nothing. Some ideas:
I don't really have a strong preference, but if I had to rank them I'd probably prefer #3, then #1, then #4, then the rest. What do you think? |
I agree, 3. seems reasonable enough. There are a few ugly edge cases, but it should be straight forward (still have to check out what's
I added 6. mostly for completeness, and don't think this is a particular desirable option. 7. seems to me like a very clean approach, but would probably require considerable work (where should these classes live in the class hierarchy?). I doubt that the benefit is worth the effort. Should I go ahead implementing option 3.? |
Nice, I hadn't thought of 7, but that would work too. If you want to implement 3, that would be a very nice PR. We'll have warm_start someday, so it's probably a step in the right direction. |
The result of
merge_ebm
is not a valid classifier, as attributes are missing. Therepr
raises anAttributeError
which makes it horrible to debug.The following is a minimal reproducible example:
Which results in the error
AttributeError: 'ExplainableBoostingClassifier' object has no attribute 'cyclic_progress'
.A hotfix is simply copying the attributes of the first classifier in the list:
The question is, what the desired strategy is to fix this error. (I haven't delved into
merge_ebms
to know what's going on.) Another option would be setting the parameters where all classifiers agree, and setting all other parameters to None. This avoids immediateAttributeError
s but might cause problems later, in caseNone
is not a valid parameter.The text was updated successfully, but these errors were encountered: