tvnisxq
Smoking-Status-Prediction-ML-Model
Python

A machine learning project to predict smoking status (Smoker/Non-Smoker) using health and lifestyle data. It includes data preprocessing, model training, evaluation, visualizations, and FastAPI-based deployment, supporting CI/CD and multiple datasets for robustness.

Last updated Jun 22, 2026
16
Stars
0
Forks
2
Issues
0
Stars/day
Attention Score
5
Language breakdown
Python 98.6%
Batchfile 0.9%
CSS 0.5%
โ–ธ Files click to expand
README

SmokingML: Advanced Smoking Behavior Prediction Using Machine Learning

Project Overview

An advanced machine learning system that predicts smoking behavior using health indicators and demographic data. The project implements multiple sophisticated ML models with extensive feature engineering and optimization techniques.

ROC Curve

๐ŸŒŸ Key Features

  • Advanced Feature Engineering
- BMI calculation and health risk indicators - Cardiovascular risk assessment - Liver function analysis - Metabolic indices - Polynomial feature interactions - Ratio-based features (HDL/LDL, AST/ALT, etc.)
  • Multiple Model Implementation
- XGBoost Classifier - Random Forest Classifier - Ensemble Voting Classifier - SMOTE for imbalanced data handling
  • Comprehensive Model Optimization
- Hyperparameter tuning using RandomizedSearchCV - Custom scoring metrics - Cross-validation - Feature selection with importance analysis
  • Robust Evaluation Framework
- Accuracy, Precision, Recall, F1-score - ROC-AUC analysis - Confusion matrices - Feature importance visualization - Detailed error analysis

๐Ÿ“Š Performance Metrics

ML Olympiad Dataset

  • Accuracy: 0.777
  • Precision: 0.720
  • Recall: 0.798
  • F1-Score: 0.757
  • ROC-AUC: 0.860

Archive Dataset

  • Accuracy: 0.772
  • Precision: 0.696
  • Recall: 0.677
  • F1-Score: 0.686
  • ROC-AUC: 0.863

๐Ÿ› ๏ธ Technical Stack

  • Programming Language: Python
  • Key Libraries:
- scikit-learn - XGBoost - pandas - numpy - imbalanced-learn - matplotlib/seaborn

๐Ÿ“‚ Project Structure

SmokingML V2/
โ”œโ”€โ”€ artifacts/            # Model artifacts and results
โ”œโ”€โ”€ config/              # Configuration files
โ”œโ”€โ”€ data/                # Dataset directory
โ”‚   โ”œโ”€โ”€ processed/       # Processed datasets
โ”‚   โ””โ”€โ”€ raw/            # Raw data files
โ”œโ”€โ”€ models/              # Trained model files
โ”œโ”€โ”€ notebooks/          # Jupyter notebooks
โ”œโ”€โ”€ src/                # Source code
โ”‚   โ””โ”€โ”€ components/     # Model components
โ””โ”€โ”€ tests/              # Unit tests

๐Ÿ” Key Components

  • Data Preprocessing
- Feature scaling and normalization - Missing value handling - Advanced feature engineering - Dataset splitting and validation
  • Model Development
- Multiple model architectures - Ensemble methods - Custom scoring functions - Advanced hyperparameter optimization
  • Evaluation Framework
- Comprehensive metrics calculation - Visualization generation - Error analysis - Feature importance analysis

๐Ÿ“ˆ Improvements and Optimizations

  • Implementation of advanced feature interactions
  • Custom ensemble methods for improved prediction
  • Sophisticated handling of imbalanced data
  • Enhanced model selection and validation process

๐Ÿ”ง Installation and Usage

  • Clone the repository
  • Create and activate virtual environment:
python -m venv SmokeMLv2venv
   source SmokeMLv2venv/bin/activate  # Linux/Mac
   # or
   SmokeMLv2venv\Scripts\activate  # Windows
  • Install dependencies:
pip install -e .
  • Run the training pipeline:
python src/components/model_training.py

๐Ÿ“š Model Details

  • Feature Set: 23 health indicators including:
- Demographic data - Physical measurements - Blood test results - Health indicators - Derived features
  • Model Architecture:
- Ensemble of XGBoost and Random Forest - Custom feature selection - Optimized hyperparameters - Balanced class handling

๐ŸŽฏ Future Improvements

  • Integration of deep learning models
  • Real-time prediction API
  • Additional feature engineering
  • Extended model interpretability
  • Cross-population validation

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.
Note: This project demonstrates advanced machine learning techniques, feature engineering, and model optimization for healthcare applications.
๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท tvnisxq/Smoking-Status-Prediction-ML-Model ยท Updated daily from GitHub