mboukabous's picture
Add application file
7c045bd
"""
This module sets up a Decision Tree Classifier for hyperparameter tuning.
Features:
- Uses `DecisionTreeClassifier` from scikit-learn.
- Defines a parameter grid suitable for both binary and multi-class classification.
- Default scoring: 'accuracy'.
Considerations:
- `criterion`, `max_depth`, `min_samples_split`, and `min_samples_leaf` are common parameters to tune.
- Ordinal encoding will be used for tree-based models if implemented, but the pipeline code decides that.
"""
from sklearn.tree import DecisionTreeClassifier
estimator = DecisionTreeClassifier(random_state=42)
param_grid = {
'model__criterion': ['gini', 'entropy'],
'model__max_depth': [None, 5, 10],
'model__min_samples_split': [2, 5],
'model__min_samples_leaf': [1, 2],
# Preprocessing params
#'preprocessor__num__imputer__strategy': ['mean', 'median'],
#'preprocessor__num__scaler__with_mean': [True, False],
#'preprocessor__num__scaler__with_std': [True, False],
}
default_scoring = 'accuracy'