Chapter 3. Creating a probabilistic programming application
This chapter covers
- Using a common architecture for probabilistic programming applications
- Designing a realistic model using only simple language features
- Learning models from data and using the results to reason about future instances
You’ve now had a whirlwind introduction to many of the features of Figaro. What can you do with it? How do you build useful software with it? This chapter gives you a glimpse of how to use Figaro to build a realistic application.
In this chapter, you’ll see a complete design of a spam filter based on probabilistic programming, including the design of a model, a component to reason about incoming emails and classify them as normal or spam, and a component to learn the spam-filtering model from a training set of emails. In the process, you’ll learn about an architecture that’s often used in probabilistic programming applications.