mboukabous's picture
Add application file
7c045bd
# Classification Models
This directory contains Python scripts that define various classification models and their associated hyperparameter grids. Each model file sets up a scikit-learn-compatible estimator and defines a parameter grid for use with the `train_classification_model.py` script.
These model definition files:
- Specify an estimator (e.g., `LogisticRegression()`, `RandomForestClassifier()`, `XGBClassifier()`).
- Define a `param_grid` dict for hyperparameter tuning using `GridSearchCV`.
- Optionally provide a `default_scoring` metric (e.g., `accuracy`).
- Work for both binary and multi-class classification tasks.
- Are intended to be flexible and modular, allowing easy swapping of models without changing other parts of the code.
**Note:** Preprocessing steps, hyperparameter tuning logic, and label encoding for categorical targets are handled externally by the scripts and utilities.
## Available Classification Models
- [Logistic Regression](logistic_regression.py)
- [Decision Tree Classifier](decision_tree_classifier.py)
- [Random Forest Classifier (Bagging)](random_forest_classifier.py)
- [Extra Trees Classifier](extra_trees_classifier.py)
- [Gradient Boosting Classifier (Boosting)](gradient_boosting_classifier.py)
- [AdaBoost Classifier (Boosting)](adaboost_classifier.py)
- [XGBoost Classifier (Boosting)](xgboost_classifier.py)
- [LightGBM Classifier (Boosting)](lightgbm_classifier.py)
- [CatBoost Classifier (Boosting)](catboost_classifier.py)
- [Support Vector Classifier (SVC)](svc.py)
- [K-Nearest Neighbors (KNN) Classifier](knn_classifier.py)
- [Multilayer Perceptron (MLP) Classifier](mlp_classifier.py)
- [GaussianNB (Naive Bayes Classifier)](gaussian_nb.py)
- [Linear Discriminant Analysis (LDA)](linear_discriminant_analysis.py)
- [Quadratic Discriminant Analysis (QDA)](quadratic_discriminant_analysis.py)
To train any of these models, specify the `--model_module` argument with the appropriate model name (e.g., `logistic_regression`) when running `train_classification_model.py`.