SamarthPujari/employee_salary_predictor
1
๐ง Employee Salary Prediction โ IBM Internship Project
This repository contains the implementation of an Employee Salary Prediction System, developed during my IBM Internship under the Artificial Intelligence role. The project predicts whether an individual earns >50K or <=50K annually based on demographic and professional attributes.
๐ Project Overview
During the internship, I built an end-to-end ML system that:
- Uses data preprocessing and feature engineering to handle real-world employee data.
- Trains multiple machine learning models and combines them using ensemble learning for improved performance.
- Deploys a Streamlit-based web application that provides both single and batch predictions with user-friendly visualizations.
๐ Repository Structure
.
โโโ Dataset/
โ โโโ adult.csv # Adult Income Dataset
โโโ Images/
โ โโโ Employee.png # Visual asset for the app
โโโ Model/
โ โโโ Model Information.txt # Model summary and notes
โโโ Skillsbuild Certificates/
โ โโโ Artificial Intelligence - credly.pdf
โ โโโ Edunet-Learning Plan Completion.pdf
โ โโโ Edunet-Orientation Certificate.pdf
โโโ sample_batch.csv # Example CSV for batch predictions
โโโ Employee_Salary_Prediction.ipynb # Full Jupyter notebook (EDA to model)
โโโ app.py # Streamlit application
โโโ requirements.txt # Python dependencies
โโโ README.md # Project documentation (this file)๐ Features
- โ Preprocessing: Handles missing values, encodes categoricals, and normalizes inputs.
- ๐ Visualizations: ROC, Precision-Recall Curves, Pie charts, Class distributions.
- ๐ Models: Logistic Regression, Random Forest, SVM + Voting Ensemble.
- ๐ Batch prediction: Upload CSV for multi-row prediction.
- ๐งพ Real-time prediction summary and model confidence.
๐ How to Run
1. Clone the Repository
git clone https://github.com/Samarth4023/IBM-Internship.git
cd IBM-Internship2. Install Dependencies
pip install -r requirements.txt3. Run the Streamlit App
streamlit run app.py๐ Model Performance
โ Final Ensemble Results:
- ๐ High precision ensures fewer false positives in predicting high earners (>50K).
- ๐ Training accuracy shows strong learning capability without overfitting.
- ๐ง Macro F1 Score (Test): 0.79, indicating fair balance across classes.
Ensemble model outperforms individual base models with better generalization and robust prediction confidence.
๐ Learning Outcomes
- Hands-on experience with data pipelines, model training, and app deployment
- Understanding of bias handling, model evaluation, and user experience design
- Deployment-ready ML app using Streamlit, Pandas, Scikit-learn, and Joblib
๐งโ๐ซ Mentor Experience
Working under the guidance of industry professionals at IBM helped me sharpen both my technical and communication skills, with regular reviews and constructive feedback loops.
๐ฎ Future Scope
- Integrate deep learning models for better performance
- Add explainability using SHAP or LIME
- Enable API-based access for external systems
- Extend model to predict salary ranges, not just binary outcomes
๐ Acknowledgements
- \[IBM Internship Program โ Skillsbuild Platform and Edunet Foundation]
- Scikit-Learn
- Pandas
- Streamlit.io
- HuggingFace Spaces
๐ค Author
Samarth Pujari
AI Intern @ IBM
Connect with me on LinkedIn | Kaggle
