SMILE: Structural Modeling, Inference, and Learning Engine

SMILE is a reasoning and learning/causal discovery engine for graphical models, such as Bayesian networks, influence diagrams, and structural equation models. Technically, it is a library of C++ classes that can be embedded into existing user software through its API, enhancing user products with decision modeling capabilities. SMILE is fully portable and available for most computing platforms – from data center to embedded. We offer wrappers for SMILE that make it possible to use it from Java, Python, R, .NET, and other development environments.

​Functionality of SMILE

  • Complete coverage of the field of probabilistic graphical models (Bayesian networks, dynamic Bayesian networks, influence diagrams)
  • Variety of state of the art exact and approximate reasoning algorithms, relevance-based inference.
  • Discrete and continuous variables and probability distributions, equation-based interactions.
  • Canonical interaction models, such as Noisy-OR/AND/MAX/MIN.
  • Most complete implementation of influence diagrams in the field (calculation of expected utilities for all decision strategies, multiple utility nodes, multi-attribute utility functions).
  • Structure and parameter learning, incremental learning and model refinement, causal discovery.
  • Model validation, including ROC and calibration curves.
  • Support for diagnostic applications, such as optimal selection of questions and tests.

Why choose SMILE

  • Performance leader in the field of probabilistic graphical models.
  • Platform independent, versions available for Windows, Linux, Mac, Android, etc. We can compile SMILE for your platform on request.
  • Used in web, desktop, and mobile applications.
  • jSMILE available for use with Java. jSMILE can be also used from other environments that can use JVM.
  • PySMILE available for use with Python.
  • rSMILE for R
  • SMILE.NET available for use with .NET framework.
  • SMILE.COM for easy integration with MS Excel.
  • Thorough documentation and tutorials.
  • Robust and running successfully in the field since 1997

For more details, please see SMILE (C++) documentation: HTML, PDF.

SMILE Wrappers (Java, Python, R, .NET) documentation: HTML, PDF.