-
Notifications
You must be signed in to change notification settings - Fork 1
dt_bestguess defaulted to false #62
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
base: main
Are you sure you want to change the base?
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #62 +/- ##
==========================================
- Coverage 55.81% 55.74% -0.07%
==========================================
Files 21 21
Lines 1281 1279 -2
==========================================
- Hits 715 713 -2
Misses 566 566 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
# using SoleModels | ||
# using MLJ | ||
# using DataFrames, Random | ||
# using DecisionTree | ||
# const DT = DecisionTree | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These seem useful actually?
# using SoleModels | ||
# using MLJ | ||
# using DataFrames, Random | ||
# using DecisionTree | ||
# const DT = DecisionTree | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same
dtmodel0 = @test_nowarn DecisionTree("1") | ||
dtmodel = @test_nowarn DecisionTree(branch_r) | ||
@test_nowarn DecisionTree(branch_r_mixed) | ||
dtmodel0 = @test_nowarn SoleModels.DecisionTree("1") | ||
dtmodel = @test_nowarn SoleModels.DecisionTree(branch_r) | ||
@test_nowarn SoleModels.DecisionTree(branch_r_mixed) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mh why is this needed? Is there a clash on "DecisionTree"? Maybe with MLJ?
classlabels = nothing, | ||
featurenames = nothing, | ||
keep_condensed = false, | ||
dt_bestguess = false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay good to have a kwarg for this. Can we name it differently? Like I guess we could remove the "dt_" part, because we may want to have the same argument in other SoleModels.solemodel
methods in other package extension unrelated with "decision trees".
Maybe "alphanumeric_tiebreaker", or "argmax_tiebreaker", or "tiebreaker::Symbol" that can either be :argmax
or :alphanumeric
We had discussed a lot on this, and we ended that using a default behaviour that mimic DecisionTree behaviour on "bestguess" guesses was the way to do, with the opportunity to specify when the behaviour should stay as original SoleModels version, or to supply custom "bestguess" function.
Now @Perro2110 is pointing out the fact that, without knowing this new feature, all the experiments and tests done before this change, give different results in the end.
And this is confusing and dangerous.
So we both decided that the way to go is to defaulting "bestguess" behaviour as it's always been, and passing an opportune karg, during the creation of the solemodel, if you want a tree that strictly behave as DecisionTree's forest.