|
| 1 | +# Evaluation Rubric for Portfolio Project |
| 2 | + |
| 3 | +Candidates are to submit a public Github repo of an ML project built mainly on Python. This will be evaluated using the following rubric. Candidates must explain their design choices in a one-to-one 30 min interview after the project has been graded and accepted. We encourage candidates to prepare a brief powerpoint presentation for this (15 slides). |
| 4 | + |
| 5 | +The minimum grade to pass the portfolio project is 70 points. |
| 6 | + |
| 7 | +1. **Data Preparation and Preprocessing (10 points)**: |
| 8 | + - How effectively is the data cleaned, normalized, and preprocessed? |
| 9 | + - Are techniques like handling missing data, normalization, and feature engineering appropriately applied? |
| 10 | + - Is there a thoughtful approach to dealing with imbalanced data or outliers? |
| 11 | + |
| 12 | +2. **Model Selection and Rationale (10 points)**: |
| 13 | + - Is the choice of model suitable for the problem at hand? |
| 14 | + - How well is the reasoning for selecting a particular model articulated? |
| 15 | + - Are comparisons made with alternative models? |
| 16 | + |
| 17 | +3. **Model Training and Validation (10 points)**: |
| 18 | + - How effectively is the model trained and validated? |
| 19 | + - Are appropriate metrics chosen for evaluating model performance? |
| 20 | + - Is there a robust approach to training, such as cross-validation or use of a validation set? |
| 21 | + |
| 22 | +4. **Code Quality and Efficiency (10 points)**: |
| 23 | + - Is the code well-organized, readable, and efficient? |
| 24 | + - Are best practices in coding and software engineering followed? |
| 25 | + - How are error handling and exception management implemented? |
| 26 | + |
| 27 | +5. **API Design and Implementation (10 points)**: |
| 28 | + - How well is the REST API designed (endpoints, request-response structure)? |
| 29 | + - Are best practices in API development (like security, scalability) considered? |
| 30 | + - Is there proper documentation for the API (e.g., Swagger documentation)? |
| 31 | + |
| 32 | +6. **Model Deployment and Environment (10 points)**: |
| 33 | + - How effectively is the model deployed for use via the REST endpoint? |
| 34 | + - Are considerations like load balancing, scalability, and environment stability addressed? |
| 35 | + - Is there an effective use of cloud services or containerization (e.g., Docker)? |
| 36 | + |
| 37 | +7. **Integration of Machine Learning and API (10 points)**: |
| 38 | + - How well are the machine learning model and REST API integrated? |
| 39 | + - Is there efficient handling of requests and responses between the server and the model? |
| 40 | + - Are there measures for performance optimization in the integration? |
| 41 | + |
| 42 | +8. **Security and Data Privacy (10 points)**: |
| 43 | + - Are security best practices for APIs and machine learning models implemented? |
| 44 | + - How is data privacy and protection handled, especially with sensitive data? |
| 45 | + - Are there mechanisms to prevent common vulnerabilities (e.g., SQL injection, data leaks)? |
| 46 | + |
| 47 | +9. **Testing and Reliability (10 points)**: |
| 48 | + - How thoroughly is the system (both the model and API) tested? |
| 49 | + - Are there unit tests, integration tests, and system tests? |
| 50 | + - Is there evidence of reliable and consistent performance under different scenarios? |
| 51 | + |
| 52 | +10. **Documentation, Reporting, and Usability (10 points)**: |
| 53 | + - Is the project well-documented, including model training, API usage, and deployment details? |
| 54 | + - Are the results, challenges, and decision-making processes clearly communicated? |
| 55 | + - Is the API user-friendly and easy to use for the end-users? |
| 56 | + |
0 commit comments