Skip to content
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

Inaccurate labeling of WeakClassifiers/DecisionTree methods #13

Closed
mcfarljm opened this issue Jan 26, 2021 · 0 comments · Fixed by #19
Closed

Inaccurate labeling of WeakClassifiers/DecisionTree methods #13

mcfarljm opened this issue Jan 26, 2021 · 0 comments · Fixed by #19

Comments

@mcfarljm
Copy link
Contributor

In qboost.py, the WeakClassifiers class is misleading because its fit and predict methods actually implement the AdaBoost algorithm. In demo.py, this method is then compared with AdaBoost from sklearn. In the demo.py output, "Adaboost" refers to the sklearn implementation and "Decision tree" refers to the Adaboost implementation from the WeakClassifiers class. As far as I can tell, the only real difference between the two is that the demo runs the WeakClassifiers AdaBoost method with a tree depth of 3, whereas the call to sklearn's AdaBoost model uses the default, which is a tree depth of 1.

Need to review the best way to address this. Some points to consider:

  • The screen output from demo.py should be updated to use a more accurate description than "Decision tree"
  • Perhaps remove one of the two AdaBoost implementations from demo.py
  • Or, if both are kept, consider using the same tree depth for consistency
  • Use a better class name than WeakClassifiers
  • Update comments/docstrings to describe what is actually being done by the different methods
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant