<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "CreateML",
  "identifier" : "/documentation/CreateML",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "Create ML"
    ],
    "preciseIdentifier" : "CreateML"
  },
  "title" : "Create ML"
}
-->

# Create ML

Create machine learning models for use in your app.

## Overview

Use Create ML with familiar tools like Swift and macOS playgrounds to create and
train custom machine learning models on your Mac. You can train models to perform
tasks like recognizing images, extracting meaning from text, or finding relationships
between numerical values.

![Diagram showing how you use images, text, and other structured data with Create ML to train a Core ML model.](images/com.apple.createml/create-ml-1~dark@2x.png)

You train a model to recognize patterns by showing it representative samples. For
example, you can train a model to recognize dogs by showing it lots of images of
different dogs. After you’ve trained the model, you test it out on data it hasn’t
seen before, and evaluate how well it performed the task. When the model is performing
well enough, you’re ready to integrate it into your app using <doc://com.apple.documentation/documentation/CoreML>.

![Diagram showing the Create ML workflow: Gather data, train the model, and evaluate the trained model.](images/com.apple.createml/create-ml-2@2x.png)

Create ML leverages the machine learning infrastructure built in to Apple products
like Photos and Siri. This means your image classification and natural language models
are smaller and take much less time to train.

## Topics

### Image models

[Creating an Image Classifier Model](/documentation/CreateML/creating-an-image-classifier-model)

Train a machine learning model to classify images, and add it to your Core ML app.

[`MLImageClassifier`](/documentation/CreateML/MLImageClassifier)

A model you train to classify images.

[`MLObjectDetector`](/documentation/CreateML/MLObjectDetector)

A model you train to classify one or more objects within an image.

[`MLHandPoseClassifier`](/documentation/CreateML/MLHandPoseClassifier)

A task that creates a hand pose classification model by training with images
of people’s hands that you provide.

### Video models

[Creating an Action Classifier Model](/documentation/CreateML/creating-an-action-classifier-model)

Train a machine learning model to recognize a person’s body movements.

  <doc://com.apple.documentation/documentation/CreateML/detecting-human-actions-in-a-live-video-feed>

[`MLActionClassifier`](/documentation/CreateML/MLActionClassifier)

A model you train with videos to classify a person’s body movements.

[`MLHandActionClassifier`](/documentation/CreateML/MLHandActionClassifier)

A task that creates a hand action classification model by training with
videos of people’s hand movements that you provide.

[`MLStyleTransfer`](/documentation/CreateML/MLStyleTransfer)

A model you train to apply an image’s style to other images or videos.

### Text models

[Creating a text classifier model](/documentation/CreateML/creating-a-text-classifier-model)

Train a machine learning model to classify natural language text.

[Creating a word tagger model](/documentation/CreateML/creating-a-word-tagger-model)

Train a machine learning model to tag individual words in natural language text.

[`MLTextClassifier`](/documentation/CreateML/MLTextClassifier)

A model you train to classify natural language text.

[`MLWordTagger`](/documentation/CreateML/MLWordTagger)

A word-tagging model you train to classify natural language text at the word level.

[`MLGazetteer`](/documentation/CreateML/MLGazetteer)

A collection of terms and their labels, which augments a tagger that analyzes natural language text.

[`MLWordEmbedding`](/documentation/CreateML/MLWordEmbedding)

A map of strings in a vector space that enable your app to find similar
strings by looking at a string’s neighbors.

### Sound models

[`MLSoundClassifier`](/documentation/CreateML/MLSoundClassifier)

A machine learning model you train with audio files to recognize and identify sounds on a device.

### Motion models

[`MLActivityClassifier`](/documentation/CreateML/MLActivityClassifier)

A model you train to classify motion sensor data.

### Tabular models

  <doc://com.apple.documentation/documentation/CreateML/creating-a-model-from-tabular-data>

[`MLClassifier`](/documentation/CreateML/MLClassifier)

A model you train to classify data into discrete categories.

[`MLRegressor`](/documentation/CreateML/MLRegressor)

A model you train to estimate continuous values.

[`MLRecommender`](/documentation/CreateML/MLRecommender)

A model you train to make recommendations based on item similarity,
grouping, and, optionally, item ratings.

### Tabular data

[`MLDataTable`](/documentation/CreateML/MLDataTable)

A table of data for training or evaluating a machine learning model.

[`MLDataValue`](/documentation/CreateML/MLDataValue)

The value of a cell in a data table.

[Data visualizations](/documentation/CreateML/data-visualizations)

Render images of data tables and columns in a playground.

### Model accuracy

[Improving Your Model’s Accuracy](/documentation/CreateML/improving-your-model-s-accuracy)

Use metrics to tune the performance of your machine learning model.

[`MLClassifierMetrics`](/documentation/CreateML/MLClassifierMetrics)

Metrics you use to evaluate a classifier’s performance.

[`MLRegressorMetrics`](/documentation/CreateML/MLRegressorMetrics)

Metrics you use to evaluate a regressor’s performance.

[`MLWordTaggerMetrics`](/documentation/CreateML/MLWordTaggerMetrics)

Metrics you use to evaluate a word tagger’s performance.

[`MLRecommenderMetrics`](/documentation/CreateML/MLRecommenderMetrics)

Metrics you use to evaluate a recommender’s performance.

[`MLObjectDetectorMetrics`](/documentation/CreateML/MLObjectDetectorMetrics)

Metrics you use to evaluate an object detector’s performance.

### Model training Control

[`MLJob`](/documentation/CreateML/MLJob)

The representation of a model’s asynchronous training session you use to
monitor the session’s progress or terminate its execution.

[`MLTrainingSession`](/documentation/CreateML/MLTrainingSession)

The current state of a model’s asynchronous training session.

[`MLTrainingSessionParameters`](/documentation/CreateML/MLTrainingSessionParameters)

The configuration settings for a training session.

[`MLCheckpoint`](/documentation/CreateML/MLCheckpoint)

The state of a model’s asynchronous training session at a specific point in
time during the feature extraction or training phase.

### Supporting types

[`MLCreateError`](/documentation/CreateML/MLCreateError)

The errors Create ML throws while performing various operations, such as
training models, making predictions, writing models to a file system, and so
on.

[`MLModelMetadata`](/documentation/CreateML/MLModelMetadata)

Information about a model that’s stored in a Core ML model file.

[`MLSplitStrategy`](/documentation/CreateML/MLSplitStrategy)

Data partitioning approaches, typically for creating a validation dataset
from a training dataset.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)
