

Paperback: 456 pages
Publisher: Manning Publications; 1 edition (April 10, 2016)
Language: English
ISBN-10: 1617292338
ISBN-13: 978-1617292330
Product Dimensions: 7.3 x 1 x 9.2 inches
Shipping Weight: 1.6 pounds (View shipping rates and policies)
Average Customer Review: 3.4 out of 5 stars See all reviews (10 customer reviews)
Best Sellers Rank: #339,597 in Books (See Top 100 in Books) #56 in Books > Computers & Technology > Computer Science > AI & Machine Learning > Machine Theory #84 in Books > Textbooks > Computer Science > Algorithms #107 in Books > Computers & Technology > Databases & Big Data > Data Warehousing

This book is divided into three parts. Part One has three chapters. Chapter One introduces probabilistic reasoning systems: what they are, why the interest in them, and what they typically consist of (e.g., a domain model, and modules for querying and carrying out evidence-based and other types of inferencing relating to the domain model). Chapter Two provides a quick introduction to Figaro, a Scala programming language-based software library that offers several modules for building probabilistic reasoning systems that integrate seamlessly with applications written in Java or Scala, an advantage that very few probabilistic programming languages currently provide; and Chapter Three provides a working but perhaps way too ahead (because of several yet to be explained concepts) example of a simple spam-filtering application that uses lightly described Figaro software constructs as building blocks.Part Two has five chapters that provide tutorials on building various types of data models (e.g., Bayesian and Markov networks), and the five chapters in Part Three delve into various types of inferencing algorithms.Source code for the examples discussed in the book and answers to select end-of-chapter exercises are available for download as separate files from the book publisher's website, the link for which as well as the instructions on how to get started with Figaro are provided in the book.This book can be a tough read for readers who don't already have a reasonably good grasp of Scala and probability concepts. While the author has made a good effort at anticipating what Scala and probability concepts readers may need help on, this book provides no introductory chapters on both, and some concepts did go unexplained or could have been explained better.
Many of us tend to view our world as controllable. Experience tells us that tomorrow will be like today. But this is all an illusion. We live in a world of probabilities. The financial markets are probabilistic, consisting of assets whose returns can be described as random variables. The outcome of many daily events are probabilistic.Programming languages like R and Python give the user access to large libraries of statistical code that aid in building models that deal with random variables. According to Avi Pfeffer's book Practical Probabilistic Programming, the Figaro language is a language that is designed for probabilistic data and models.A language that provides powerful abstractions for dealing with probabilistic systems is very attractive, since probabilistic models are widely useful. The promise that the Figero language holds out is the reason that I chose to review this book for 's Vine program.Practical Probabilistic Programming is a promising book. The topic of the book, probabilistic codes, is a complex one. Learning a complex topic requires time and effort.Unfortunately I was not able to make the kind of progress with this book that I had hoped. I was unable to install Figaro successfully on my Fedora 20 Linux system.Figaro runs under the Scala language. The book recommends using sbt, the Scala Built Tool, with Figaro. Although the Linux yum update program informed me that I had installed the latest version of sbt, it hung when I ran the Figaro installation commands listed in the last chapter of the book.I am currently doing most of my development with either Groovy or Java, so I don't have an active Scala development environment running, although the Scala components are installed on my system.
Practical Probabilistic Programming Java: The Simple Guide to Learn Java Programming In No Time (Programming,Database, Java for dummies, coding books, java programming) (HTML,Javascript,Programming,Developers,Coding,CSS,PHP) (Volume 2) Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series) Probabilistic Graphical Models: Principles and Techniques (Adaptive Computation and Machine Learning series) Probabilistic Reasoning in Expert Systems: Theory and Algorithms Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference (Morgan Kaufmann Series in Representation and Reasoning) Numerical Methods of Statistics (Cambridge Series in Statistical and Probabilistic Mathematics) Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acids Python: Python Programming For Beginners - The Comprehensive Guide To Python Programming: Computer Programming, Computer Language, Computer Science Python: Python Programming Course: Learn the Crash Course to Learning the Basics of Python (Python Programming, Python Programming Course, Python Beginners Course) Swift Programming Artificial Intelligence: Made Easy, w/ Essential Programming Learn to Create your * Problem Solving * Algorithms! TODAY! w/ Machine ... engineering, r programming, iOS development) Delphi Programming with COM and ActiveX (Programming Series) (Charles River Media Programming) Java: The Ultimate Guide to Learn Java and Python Programming (Programming, Java, Database, Java for dummies, coding books, java programming) (HTML, ... Developers, Coding, CSS, PHP) (Volume 3) Programming #8:C Programming Success in a Day & Android Programming in a Day! PowerShell: For Beginners! Master The PowerShell Command Line In 24 Hours (Python Programming, Javascript, Computer Programming, C++, SQL, Computer Hacking, Programming) Excel VBA Programming: Learn Excel VBA Programming FAST and EASY! (Programming is Easy) (Volume 9) Python: Python Programming For Beginners - The Comprehensive Guide To Python Programming: Computer Programming, Computer Language, Computer Science (Machine Language) IEC 61131-3: Programming Industrial Automation Systems: Concepts and Programming Languages, Requirements for Programming Systems, Decision-Making Aids Practical Linux Programming: Device Drivers, Embedded systems, and the Internet (with CD- ROM) (Programming Series) Bioinformatics Programming Using Python: Practical Programming for Biological Data