layout: global displayTitle: SystemML Documentation title: SystemML Documentation description: SystemML Documentation
SystemML is now an Apache Incubator project! Please see the Apache SystemML (incubating) website for more information.
SystemML is a flexible, scalable machine learning system. SystemML's distinguishing characteristics are:
- Algorithm customizability via R-like and Python-like languages.
- Multiple execution modes, including Standalone, Spark Batch, Spark MLContext, Hadoop Batch, and JMLC.
- Automatic optimization based on data and cluster characteristics to ensure both efficiency and scalability.
The SystemML GitHub README describes building, testing, and running SystemML. Please read Contributing to SystemML to find out how to help make SystemML even better!
To download SystemML, visit the downloads page.
Running SystemML
- Standalone - Standalone mode allows data scientists to rapidly prototype algorithms on a single machine in R-like and Python-like declarative languages.
- Spark MLContext - Spark MLContext is a programmatic API for running SystemML from Spark via Scala, Python, or Java.
- Spark Batch - Algorithms are automatically optimized to run across Spark clusters.
- See Invoking SystemML in Spark Batch Mode (Coming soon).
- Hadoop Batch - Algorithms are automatically optimized when distributed across Hadoop clusters.
- JMLC - Java Machine Learning Connector.
Language Guides
- DML Language Reference - DML is a high-level R-like declarative language for machine learning.
- PyDML Language Reference (Coming Soon) - PyDML is a high-level Python-like declarative language for machine learning.
- Beginner's Guide to DML and PyDML - An introduction to the basics of DML and PyDML.
ML Algorithms
- Algorithms Reference - The Algorithms Reference describes the machine learning algorithms included with SystemML in detail.
Tools
- Debugger Guide - SystemML supports DML script-level debugging through a command-line interface.
- IDE Guide - Useful IDE Guide for Developing SystemML.
Other