A Streamlit-based web application that intelligently allocates tasks to team members based on their skills, interests, and experience using machine learning clustering techniques.
- Features
- Installation
- Usage
- Data Format
- Technical Approach
- Dependencies
- Screenshots
- Future Enhancements
- License
- Handles missing values in skills, interests, and experience fields
- Multi-label encoding for skills and interests
- Experience level encoding using LabelEncoder
- Feature scaling with StandardScaler
- Missing value imputation using KNNImputer
- KMeans clustering for grouping similar team members
- PCA for dimensionality reduction and visualization
- Silhouette scoring for cluster evaluation
- Elbow method for optimal cluster determination
- Cosine similarity for task-member matching
- Dynamic matching of required skills and interests
- Configurable number of required members
- Fallback to next-best matches when perfect matches aren't available
- Visual cluster analysis of team members
- Clone the repository:
git clone https://github.com/badrinarayanms/resourcealloc.git cd resourcealloc - Create and activate a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install the required packages:
pip install -r requirements.txt
To launch the application, execute the following command in your terminal:
```bash
streamlit run app.py
##Required CSV Structure
Name,Team,Skills,Interests,Experience,Past Contribution