Summary
In this chapter, we described the three components of a basic prediction service: a client, the server, and the web application. We discussed how this design allows us to share the results of predictive modelling with other users or software systems, and scale our modeling horizontally and modularly to meet the demands of various use cases. Our code examples illustrate how to create a prediction service with generic model and data parsing functions that can be reused as we try different algorithms for a particular business use case. By utilizing background tasks through Celery worker threads and distributed training and scoring on Spark, we showed how to potentially scale this application to large datasets while providing intermediate feedback to the client on task status. We also showed how an on-demand prediction utility could be used to generate real-time scores for streams of data through a REST API.
Using this prediction service framework, in the next chapter we will extend...