This project presents a Meta-Learning powered AutoML framework that automates the entire ML pipeline — from dataset ingestion and preprocessing to intelligent model selection, hyperparameter optimization, and deployment.
Unlike conventional AutoML systems that rely heavily on trial-and-error searches, this framework introduces a Meta-Dataset Repository of dataset characteristics and past model performances to guide optimal model recommendation.
- Meta-Dataset Repository
- Curated from OpenML with 187 classification & 94 regression datasets.
- Captures dataset size, feature types, distributions, class imbalance, and historical model performance
- Automated Data Preprocessing
- 🧩 Missing Data Handling: Detects MCAR, MAR, MNAR patterns; applies Mean/Median, KNN, or Modified MICE imputation accordingly
- 🔤 Semantic Normalization: Resolves spelling variations, abbreviations, and synonyms using NLP & Fuzzy Matching (FuzzyWuzzy + WordNet).
- 📏 Adaptive Scaling & Normalization: Chooses between Min-Max, Standard, or Robust scaling based on dataset skewness, kurtosis, and outliers.
- 🔄 Feature Encoding: Efficient one-hot encoding with cardinality management.
- Target Column & Task Identification
- Identifies the target column using Regex, NLP embeddings, synonym matching, and fuzzy similarity.
- Dynamically determines whether the task is classification or regression with >96% accuracy
- Meta-Learning Driven Model Selection
- Uses KNN-based dataset similarity for finding optimal models from the repository.
- Recommends both model type & tuned hyperparameters based on historical results.
- End-to-End Pipeline Automation
- Automatically trains, validates, and deploys the best-suited model.
- Packages trained models into ready-to-use inference scripts.
- Frontend: Streamlit (for dataset upload & interactive exploration)
- Backend: Python (Pandas, NumPy, Scikit-Learn)
- Meta-Learning: KNN-based similarity for dataset-to-model mapping
- NLP & Semantic Processing: SpaCy, WordNet, FuzzyWuzzy
Clone the Repository
https://github.com/Ris15hab/AutoML.git
cd AutoML-MetaDatasetInstall Dependencies
pip install -r requirements.txtRun the Streamlit App
streamlit run app.pyUpload your dataset (CSV format) and follow the interactive workflow.
- Meta-Dataset Scale: 187 classification + 94 regression datasets.
- Imputation Performance:
- MCAR → Mean/Median (94.2% detection accuracy)
- MAR → KNN (87.6%)
- MNAR → Modified MICE (79.3%)
- Target Column Detection: 96.5% accuracy across diverse datasets.





