Machine learning (ML) is a programming technique that provides your apps the ability to automatically learn and improve from experience without being explicitly programmed to do so. This is especially well-suited for apps that utilize unstructured data such as images and text, or problems with large number of parameters such as predicting the winning sports team.

Android supports a wide variety of machine learning tools and methods:

Design guides help you integrate machine learning into your app experience:

When developing ML apps for Android, your main tasks are designing products, implementing inference algorithms, and deploying existing ML models. Depending on your circumstances you may also retrain existing models or build and train new ones.