Skip to content

Major refactoring to adhere to Scikit-learn API #1

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

Closed
wants to merge 10 commits into from

Conversation

msamsami
Copy link
Owner

@msamsami msamsami commented Feb 8, 2025

  • The codebase is refactored into a new structure.
  • Both SEFR and LinearBoostClassifier classes are refactored so that they fully adhere to Scikit-learn's conventions and API. Now, they will be standard Scikit-learn estimators that can be used in Scikit-learn pipelines, grid search, etc.
  • Unit tests are added (using pytest) to ensure the estimators adhere to Scikit-learn conventions.
  • fit_intercept parameter is added to SEFR to make it similar to other linear estimators in Scikit-learn (e.g., LogisticRegression, LinearRegression, etc.).
  • random_state parameter is removed from LinearBoostClassifier as it doesn't affect the result, since SEFR doesn't expose random_state. According to Scikit-learn documentation for this parameter in AdaBoostClassifier:

    it is only used when estimator exposes a random_state.

  • Docstring is added to both SEFR and LinearBoostClassifier classes.
  • uv is used for project and package management.
  • ruff and isort are used for formatting and lining.
  • A GitHub workflow (.github/workflows/ci.yml) is added for CI on PRs.

@msamsami msamsami added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request labels Feb 8, 2025
@msamsami msamsami self-assigned this Feb 8, 2025
@msamsami msamsami closed this Feb 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant