A machine learning-based web application that predicts employee salaries in USD based on job-related parameters using Random Forest Regression. Built with Streamlit and trained on a dataset of over 21,000 IT job roles.
🔗 Live App: https://paypredictor.streamlit.app/
📦 GitHub Repo: https://github.com/PrathmeshSose/salary-predictor
Report : Salary_Prediction_Project.pdf
This project uses a machine learning model to predict salaries based on:
- Work year
- Experience level
- Employment type
- Job title
- Employee residence
- Remote work ratio
- Company location
- Company size
It uses a dataset sourced from a public GitHub repository and scholarly research, with no missing values and more than 21,000 job records.
- Dataset Name: IT Job Salary Overview
- Records: 21,333
- Features: 11
- Source: damalialutfiani/Salary-Dataset-Project
- Top Job Title: Data Scientist (4,996 records)
- Most Common Currency: USD (19,912 records)
- Avg Salary (USD): $151,037
- Range: $15,000 to $800,000
- Missing Values: None
- Linear Regression
- Decision Tree Regressor
- Random Forest Regressor ✅
- Gradient Boosting (XGBoost/LightGBM)
- Support Vector Regression (SVR)
- Neural Networks (for large datasets)
pandas
numpy
scikit-learn
matplotlib
seaborn
streamlit
joblib- Import necessary libraries
- Load and explore dataset (
final_salaries.csv) - Drop unnecessary columns (
salary,currency) - Encode categorical features with
OrdinalEncoder - Split data into training and test sets
- Train
RandomForestRegressormodel - Evaluate using:
- Mean Absolute Error (MAE)
- R² Score
- Save trained model using
joblib
- Dataset – View raw job data and shapes
- Graphs – EDA: experience level, salary vs. remote, company size
- Prediction – Input parameters to get live salary prediction 💵
- Hosted on Streamlit Cloud
- GitHub repo connected to auto-deploy on commit
# 1. Clone this repo
git clone https://github.com/PrathmeshSose/salary-predictor
cd salary-predictor
# 2. Install dependencies
pip install -r requirements.txt
# 3. Run the Streamlit app
streamlit run app.pysalary-predictor/
├── app.py # Streamlit application
├── train.py # Model training script
├── final_salaries.csv # Cleaned dataset
├── salary_model.pkl # Trained model
├── requirements.txt # Required Python packages
└── README.md # Documentation file
View of raw data and structure
EDA using seaborn and matplotlib
Form input and real-time prediction result
- Push files to GitHub repo
- Go to: https://streamlit.io/cloud
- Connect GitHub and select your repo
- Choose
app.pyas the main file - Click Deploy
- 📘 DELNET Research Portal – https://delnet.in
- 📄 Paper: Salary Prediction Using Machine Learning
- 📊 Dataset: damalialutfiani/Salary-Dataset-Project
- 🧰 Libraries:
pandas,sklearn,streamlit,joblib, etc. - 🌐 Streamlit Cloud: https://streamlit.io/cloud
This project built a Salary Prediction model using Random Forest Regression. It provides real-time salary estimates through an interactive web interface, demonstrating how ML can be applied to real-world business problems in HR and recruitment.
Prathmesh Gajanan Sose
Email:prathmeshsose93@gmail.com