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. We offer wrappers for SMILE that make it possible to use it from Java, Python, .NET, and other development platforms.

​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 R, Matlab and other environments that can use JVM.
  • PySMILE available for use with Python.
  • 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, R, Python, .NET) documentation: HTML, PDF.