A full-stack web application that predicts salary based on various features using machine learning regression models.
- Salary Prediction: Predict salary based on experience, education, location, and other factors
- Multiple ML Models: Linear Regression, Random Forest, and XGBoost
- Interactive Dashboard: Beautiful charts and visualizations
- Data Management: Upload, view, and manage training data
- Model Comparison: Compare different regression models' performance
- Responsive Design: Works on desktop and mobile devices
- Python 3.8+
- Flask: Web framework
- Scikit-learn: Machine learning library
- Pandas & NumPy: Data manipulation
- SQLite: Database
- Flask-CORS: Cross-origin resource sharing
- React 18: Frontend framework
- TypeScript: Type safety
- Tailwind CSS: Styling
- Chart.js: Data visualization
- Axios: HTTP client
- React Router: Navigation
- Linear Regression: Baseline model
- Random Forest: Ensemble method
- XGBoost: Gradient boosting
- Feature Engineering: Data preprocessing
- Model Evaluation: Metrics and validation
WageWise/
├── backend/ # Flask API
│ ├── app.py # Main Flask application
│ ├── models/ # ML models and training
│ ├── data/ # Data processing
│ ├── api/ # API routes
│ └── requirements.txt # Python dependencies
├── frontend/ # React application
│ ├── src/ # Source code
│ ├── public/ # Public assets
│ └── package.json # Node dependencies
├── data/ # Sample datasets
├── models/ # Trained ML models
└── README.md # This file
cd backend
python -m venv venv
venv\Scripts\activate # Windows
pip install -r requirements.txt
python app.pycd frontend
npm install
npm startPOST /api/predict- Predict salaryGET /api/models- Get available modelsPOST /api/train- Train modelsGET /api/metrics- Get model performance metricsPOST /api/upload- Upload training data
- Input: Experience, education, location, company size, etc.
- Output: Predicted salary with confidence interval
- Support for multiple ML models
- Upload CSV files with salary data
- Data validation and preprocessing
- Feature engineering capabilities
- Automatic model training on new data
- Hyperparameter tuning
- Cross-validation
- Model performance comparison
- Feature importance analysis
- Data distribution charts
- Prediction accuracy metrics
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
MIT License - see LICENSE file for details