Deployed model
Project 01
All teams will publish their model for public usage. This might could be an interactive web application where users can generate custom predictions from the model, a deployable API allowing developers to interface with the model to generate predictions, or some other form.
Note
We will learn how to publish models using APIs in this course. At this time I do not expect to cover Shiny applications before project 01 is submitted, but your team is free to learn how to use Shiny or a similar tool independently for the project.
WarningMake it easy to evaluate your deployment
- If you deploy via a Shiny app, include a link to the published app in the
README.md
file in your project repo. - If you deploy via an API, include an R or Python script in your repo that demonstrates how to use the API to generate predictions for your test set. We should be able to source that R script and it just works.
Evaluation criteria
Evaluation criteria differ based on the deployment approach. Teams using a deployment method other than publishing via API will be evaluated a bit more generously given the higher degree of difficulty.
Deployed via API
Category | Less developed projects | Typical projects |
Deployment | API is not deployed successfully to a public URL. Documentation is inaccessible. | API is deployed successfully to a public URL. Documentation is accessible. |
Performance | API does not successfully generate predictions. | API successfully used to generate predictions for observations. |
Plumber reproducibility | plumber.R script does not successfully run. |
plumber.R script successfully runs. |
Docker reproducibility | Required Docker artifacts are missing from the repo. Docker container fails to successfully build and/or run. | All required Docker artifacts are included in the repo. Docker container successfully builds and run. |
Deployed using a Shiny app
Category | Less developed projects | Typical projects | More developed projects |
Deployment | App is not deployed successfully to a public URL. | API is deployed successfully to a public URL. | N/A |
Design + visualization | The design/visualization are inappropriate for the data and/or audience. Charts are hard to read. Design is non-intuitive or hard to access. | The design/visualizations are appropriate and easy to read. | All expectations of typical projects + consistently adheres to best practices for high-quality, accessible data visualizations. Includes but not limited to deliberate choice of color palette, appropriate font size, intuitive labeling. |
Functionality | App is incomplete or broken. Code generates numerous errors or warnings which cause usability problems. App does not provide value to the audience. | App provides sufficient value to the intended audience. No errors or warnings present in final version. App is complete. | All expectations of typical projects + app is intricate and exceptionally designed. Showcases significant technical skills beyond those directly taught in the course. |
Code | Code is not efficient, hard to read, and/or lacks appropriate formatting or consistency. Clearly looks like multiple individuals wrote it instead of a single, cohesive approach. | Code is efficient, easy to read, and properly formatted. | All expectations of typical projects + code is thoroughly documented with comments. Adheres to consistent style guide. Clearly reusable and/or extensible for outside developers. |