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.

3.1. Understanding the big picture

3.2. Running the code

3.3. Exploring the architecture of a spam filter application

3.4. Designing an email model

3.5. Building the reasoning component

3.6. Creating the learning component

3.7. Summary

3.8. Exercises

sitemap