This project is a machine learning-powered web application designed to predict salaries for programmers. The web application is built using the Streamlit framework, inspired by a YouTube tutorial by Patrick Loeber. The data used for training and evaluation is sourced from the Stack Overflow Survey Data 2023, ensuring the model reflects the most recent industry trends.
- Predicts programmer salaries based on various inputs including country, years of experience, and education level
- Explores global salary statistics for programmers
- Uses Machine Learning algorithms for prediction
- User-friendly web interface built with Streamlit.
- Utilizes the latest data from the Stack Overflow Survey 2023 for accurate and up-to-date predictions.
The data used in this project is derived from the Stack Overflow Developer Survey 2023. The dataset includes responses from developers worldwide, providing insights into demographics, programming experience, education, and salary.
To run this project locally, follow these steps:
- Clone the repository:
git clone https://github.com/Yayi0117/SalaryPredictionForProgrammer.git cd SalaryPredictionForProgrammer
- Install the required dependencies:
pip install streamlit
- run the app
streamlit run app.py
After running the Streamlit application, a web interface will open in your default web browser. Follow these steps to use the application:
- Input the required details such as years of experience, location, and education.
- Click the "Predict Salary" button.
- View the predicted salary based on your inputs.
After running the Streamlit application, a web interface will open in your default web browser. The application offers two main functionalities:
- Navigate to the "Predict" section
- Input the required details: country, education level, and years of experience
- Click the "Calculate Your Salary" button
- View the predicted salary based on your inputs
- Navigate to the "Explore" section
- Use the interactive visualizations to explore programmer salary statistics worldwide
- Filter and compare data based on various factors such as country, experience level, and education
- Python: Programming language
- Streamlit: Framework for building the web application
- Scikit-learn: Machine learning library for model building and evaluation
- Pandas: Data manipulation library
- NumPy: Numerical computing library
- Matplotlib: Data visualization library
This project utilizes a DecisionTreeRegressor
from the scikit-learn
library to predict continuous target values. Hyperparameter tuning is performed using GridSearchCV
to find the optimal model configuration.
- Patrick Loeber for the inspiring YouTube tutorial
- The Stack Overflow community for providing the survey data
- The contributors to the open-source libraries used in this project