This repository contains a comprehensive set of tools and functions for data preprocessing, feature engineering, and model training. It supports both regression and classification tasks with hyperparameter tuning using Optuna, ensuring efficient and accurate results.
- Anomaly Detection: Detects outliers using the Interquartile Range (IQR) method and replaces them with
NaN. - Missing Value Handling: Imputes or drops missing values with customizable strategies (
mean,median, etc.). - Scaling and Transformation: Provides multiple scaling methods (StandardScaler, MinMaxScaler), power transformations (Yeo-Johnson, Box-Cox), and log transformations.
- Feature Engineering:
- Removes low-variance features.
- Eliminates highly correlated features based on thresholds.
- Regression Models: Supports Linear Regression, Random Forest, XGBoost, and SVR with hyperparameter tuning.
- Classification Models: Includes Logistic Regression, Random Forest, and XGBoost with hyperparameter optimization.
- Customizable Parameters: Allows easy configuration for preprocessing, modeling, and evaluation.
Detect anomalies in the dataset using the Interquartile Range (IQR) method and replace them with NaN.
Impute or drop missing values from the dataset using the specified strategy (e.g., mean, median, etc.).
Apply various scaling methods and transformations (e.g., StandardScaler, MinMaxScaler, PowerTransformer, etc.).
Remove low-variance features and highly correlated features from the dataset.
Train and evaluate multiple regression models with hyperparameter tuning using Optuna.
Train and evaluate multiple classification models with hyperparameter optimization using Optuna.
This project requires the following Python libraries:
- pandas
- numpy
- scikit-learn
- seaborn
- xgboost
- optuna