Skip to content

arpit2006/Election-Party-Predictor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—³οΈ Election Party Predictor

A Machine Learning based Election Prediction System built using Python, Scikit-Learn, CatBoost, XGBoost, and Streamlit.

This project predicts the leading political party based on constituency and state-level election information using multiple machine learning classification algorithms.


πŸš€ Features

  • πŸ“Š Election Dataset Analysis
  • πŸ€– Multiple Machine Learning Models
  • πŸ“ˆ Interactive Visualizations
  • 🧩 Confusion Matrix Visualization
  • πŸ” Real-Time Election Party Prediction
  • 🌐 Streamlit Interactive Dashboard
  • ⚑ Model Accuracy Comparison
  • πŸ“„ Classification Report Display

πŸ› οΈ Technologies Used

Programming Language

  • Python

Libraries & Frameworks

  • Pandas
  • NumPy
  • Matplotlib
  • Scikit-Learn
  • CatBoost
  • XGBoost
  • Streamlit

πŸ“ Dataset Information

The dataset contains:

Column Description
State/UT State or Union Territory
Constituency Election Constituency
Const. No. Constituency Number
Leading Party Winning Political Party
Trailing Party Runner-Up Political Party
Margin Winning Margin

βš™οΈ Data Preprocessing

The project performs:

  • Missing Value Handling
  • Feature Selection
  • Data Cleaning
  • Categorical Encoding
  • Numerical Standardization
  • Pipeline-based Data Transformation

πŸ€– Machine Learning Models Used

Model Purpose
RandomForestClassifier Main Prediction Model
DecisionTreeClassifier Baseline Model
GradientBoostingClassifier Ensemble Boosting Model
CatBoostClassifier Advanced Categorical ML Model

πŸ“Š Model Performance

Model Accuracy
Random Forest ~58%
Gradient Boosting ~58%
Decision Tree ~56%
CatBoost Comparable Performance

Accuracy may vary slightly depending on train-test split.


πŸ–₯️ Streamlit Dashboard Features

The application includes:

  • Interactive Prediction UI
  • Dynamic State Selection
  • Constituency-Based Prediction
  • Dataset Overview Dashboard
  • Model Accuracy Graph
  • Constituency Distribution Graph
  • Confusion Matrix Visualization
  • Classification Report Table

πŸ“Έ Project Preview

Dashboard Includes

  • Election Prediction Interface
  • ML Model Comparison
  • Dataset Insights
  • Interactive Visualizations
  • Prediction Results

πŸ“‚ Project Structure

Election-Party-Predictor/
β”‚
β”œβ”€β”€ app.py
β”œβ”€β”€ Model.py
β”œβ”€β”€ Election_Dataset.csv
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ README.md
└── predictions.csv

βš™οΈ Installation & Setup

1️⃣ Clone Repository

git clone https://github.com/your-username/Election-Party-Predictor.git

2️⃣ Move into Project Directory

cd Election-Party-Predictor

3️⃣ Install Dependencies

pip install -r requirements.txt

4️⃣ Run Streamlit Application

streamlit run app.py

πŸ“¦ Requirements

streamlit
pandas
numpy
matplotlib
scikit-learn
catboost
xgboost

πŸ“ˆ Workflow

Dataset Loading
       ↓
Data Cleaning
       ↓
Feature Engineering
       ↓
Train-Test Split
       ↓
Preprocessing Pipeline
       ↓
Model Training
       ↓
Model Evaluation
       ↓
Prediction System
       ↓
Streamlit Deployment

πŸ” Prediction System

The application predicts the most likely leading political party using:

  • State/UT
  • Constituency
  • Constituency Number

as input features.


πŸ“Š Evaluation Metrics Used

  • Accuracy Score
  • Error Rate
  • Confusion Matrix
  • Classification Report

🌟 Key Learning Outcomes

This project demonstrates practical understanding of:

  • Data Science Workflow
  • Machine Learning Pipelines
  • Feature Engineering
  • Ensemble Learning
  • Classification Algorithms
  • Data Visualization
  • Streamlit Deployment
  • Model Evaluation

πŸš€ Future Improvements

  • Add Historical Election Data
  • Add Demographic Features
  • Add Vote Share Analysis
  • Improve Prediction Accuracy
  • Add Deep Learning Models
  • Deploy on Streamlit Cloud
  • Add Real-Time Analytics

πŸ‘¨β€πŸ’» Author

Arpit Shirbhate


⭐ Support

If you like this project, consider giving it a ⭐ on GitHub.


πŸ“œ License

This project is open-source and available under the MIT License.

About

A Machine Learning based Election Prediction System built using Python, Scikit-Learn, CatBoost, XGBoost, and Streamlit.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors