Call Us

Home / Blog / Data Science / Apple creates ML

Apple creates ML

  • June 23, 2023
  • 3307
  • 94
Author Images

Meet the Author : Mr. Bharani Kumar

Bharani Kumar Depuru is a well known IT personality from Hyderabad. He is the Founder and Director of Innodatatics Pvt Ltd and 360DigiTMG. Bharani Kumar is an IIT and ISB alumni with more than 17 years of experience, he held prominent positions in the IT elites like HSBC, ITC Infotech, Infosys, and Deloitte. He is a prevalent IT consultant specializing in Industrial Revolution 4.0 implementation, Data Analytics practice setup, Artificial Intelligence, Big Data Analytics, Industrial IoT, Business Intelligence and Business Management. Bharani Kumar is also the chief trainer at 360DigiTMG with more than Ten years of experience and has been making the IT transition journey easy for his students. 360DigiTMG is at the forefront of delivering quality education, thereby bridging the gap between academia and industry.

Read More >

The 2018 framework introduced the idea of AutoML. 2019 saw the release of Apple's specialised Create ML app, which offers a user-friendly interface and allows creating and honing Core ML models accessible to everyone.

With Create ML, we can organise many datasets into a single project and train numerous models with complete control over the training process. We are able to pause, save, restart, and prolong your training process. We can also use external graphic processing units with Mac for even quicker training runs. Without the aid of Xcode, we can preview and test the results directly in the programme. With Continuity, which enables the use of our iPhone's camera or microphone on the Mac, or by adding sample data via drag and drop, we can preview model performance.

Learn the core concepts of Data Science Course video on Youtube:


Over the years, Create ML has worked with a wide range of different model types and now offers types for computer vision, sound, text, etc. Models for categorising images can be built. We are able to develop activity categorization models using data from Motion Sensors. Regression and recommendation models, as well as the categorization of sounds or text, are all possible with Create ML.

With a build ML app, any continuing training procedure always takes place offline. Any project will need input data that the learning algorithm utilises to train the model in order to construct bespoke machine learning models. A Core ML model that is prepared to be utilised in Xcode will be produced after a protracted period of training.

Let's understand a use case:

Apple Create ML products use tools such as the Swift programming language and the macOS playground to create and train custom machine learning models on mac computers.

We open the Apple Xcode macOS Playground v10 on a 2018 Apple MacBook Pro to create Image Classifier Model with following lines of swift code:

import CreateMLUI

let builder = MLImageClassifierBuilder()


To execute the code, we first launch the assistant editor in Xcode. The image classifier UI was shown in the live view. To train and validate the model, we must drag the training folder inside. Drag the completed training and validation files into the testing folder to assess the model's performance on the specified locations in live view. The default setup is used for all necessary training, validation, and testing.

A local Apple PC may be used to run Apple Create ML. Machine learning techniques used in image classifier models have a bright future in the healthcare industry.

For an instance :

Creating a Test Classifier Model:

Train a machine learning model to classify natural language text.

A text classifier which is a machine learning model has been trained to recognize patterns in natural language text, like the sentiment expressed by a sentence.

Importing data

From JSON and CSV formats.

The JSON snippet below shows sentences with sentiment labels.

// JSON file



"text": "The movie was fabulous!",

"label": "positive"

}, {

"text": "worst . Fell asleep.",

"label": "negative"

"text": "It was just OK.",

"label": "neutral"

} ...


If we are using macOS playground, if we can create the data table using the

init(contentsOf: options:) method of MLDataTable.

import CreateML

let data = try MLDataTable(contentsOf: URL(fileURLWithPath: "<#/path/to/read/data.json#>"))

The two column names in the final data table, text and label, were obtained from the JSON file's keys.

Prepare your data for training and evaluation:

The training data should always have the majority of data, and the testing data contains the remaining 10 to 20 percent.

let (training data, testing data) = data.random split(by: 0.8, seed: 5)

# seed:5 will hold the data from shuffling

# by:0.8 will split data into train and test

Create and Train the Text Classifier

With the training data table and the column names, create an MLTextClassifier. Practising starts.

With the training data table and the column names, create an MLTextClassifier. Practising starts.

We will use the classificationError properties of the model's trainingMetrics and validationMetrics attributes to determine how correctly the model performed on the training and validation data.

// Training accuracy as a percentage

let trainingAccuracy = (1.0 -sentimentClassifier.trainingMetrics.classificationError) * 100

// Validation accuracy as a percentage

let validationAccuracy = (1.0 - sentimentClassifier.validationMetrics.classificationError) * 100

Evaluate the Classifier’s Accuracy

Giving the evaluation (on:) method access to the test data table will cause it to return an MLClassifierMetrics object.

let evaluationMetrics = sentimentClassifier.evaluation(on: testingData)

// Evaluation accuracy as a percentage

let evaluationAccuracy = (1.0 - evaluationMetrics.classificationError) * 100

Save the Core ML Model

When the model is performing well enough, we are ready to save it so that we can use it in our app. Use the write(to: metadata:) method to write the Core ML model file (SentimentClassifier.mlmodel) to disk. 

let metadata = MLModelMetadata(author: "Ravi Appleseed", shortDescription: "A trained model to find movie review sentiment", version: "1.0")

try sentimentClassifier.write(to: URL(fileURLWithPath: "<#/path/to/save/SentimentClassifier.mlmodel#>"), metadata: metadata)

Add the Model to Your App

Drag this SentimentClassifier.mlmodel file onto the navigation pane after starting the app in Xcode. When the model is run by Xcode, a SentimentClassifier class is produced for usage in the application.

To make sure that the tokenization is consistent between training and deployment, we need turn the SentimentClassifier into an NLModel in the Natural Language framework. Then, make predictions based on fresh text input data using predictedLabel(for:).

import NaturalLanguage

import CoreML

let mlModel = try SentimentClassifier(configuration: MLModelConfiguration()).model

let sentimentPredictor = try NLModel(mlModel: mlModel)

sentimentPredictor.predictedLabel(for: "It was one of the worst thing I've ever seen!")


You can do image-based categorization in addition to text-based machine learning. For MLO, I believe we are in a golden age—I'll call it the Industrial Revolution.

Of particular note, photos may be enhanced on the Apple system platform to alter appearances and improve model training. For instance, imported photos may be cropped, rotated, blurred, and flipped to enhance the model's capacity for pattern recognition and recognition of test images during training. Machine learning is being made accessible through Apple Create ML. Apple Create ML is only compatible with an Apple environment and can only be used locally on PCs.

Data Science Placement Success Story

Data Science Training Institutes in Other Locations

Agra, Ahmedabad, Amritsar, Anand, Anantapur, Bangalore, Bhopal, Bhubaneswar, Chengalpattu, Chennai, Cochin, Dehradun, Malaysia, Dombivli, Durgapur, Ernakulam, Erode, Gandhinagar, Ghaziabad, Gorakhpur, Gwalior, Hebbal, Hyderabad, Jabalpur, Jalandhar, Jammu, Jamshedpur, Jodhpur, Khammam, Kolhapur, Kothrud, Ludhiana, Madurai, Meerut, Mohali, Moradabad, Noida, Pimpri, Pondicherry, Pune, Rajkot, Ranchi, Rohtak, Roorkee, Rourkela, Shimla, Shimoga, Siliguri, Srinagar, Thane, Thiruvananthapuram, Tiruchchirappalli, Trichur, Udaipur, Yelahanka, Andhra Pradesh, Anna Nagar, Bhilai, Borivali, Calicut, Chandigarh, Chromepet, Coimbatore, Dilsukhnagar, ECIL, Faridabad, Greater Warangal, Guduvanchery, Guntur, Gurgaon, Guwahati, Hoodi, Indore, Jaipur, Kalaburagi, Kanpur, Kharadi, Kochi, Kolkata, Kompally, Lucknow, Mangalore, Mumbai, Mysore, Nagpur, Nashik, Navi Mumbai, Patna, Porur, Raipur, Salem, Surat, Thoraipakkam, Trichy, Uppal, Vadodara, Varanasi, Vijayawada, Visakhapatnam, Tirunelveli, Aurangabad

Data Analyst Courses in Other Locations

ECIL, Jaipur, Pune, Gurgaon, Salem, Surat, Agra, Ahmedabad, Amritsar, Anand, Anantapur, Andhra Pradesh, Anna Nagar, Aurangabad, Bhilai, Bhopal, Bhubaneswar, Borivali, Calicut, Cochin, Chengalpattu , Dehradun, Dombivli, Durgapur, Ernakulam, Erode, Gandhinagar, Ghaziabad, Gorakhpur, Guduvanchery, Gwalior, Hebbal, Hoodi , Indore, Jabalpur, Jaipur, Jalandhar, Jammu, Jamshedpur, Jodhpur, Kanpur, Khammam, Kochi, Kolhapur, Kolkata, Kothrud, Ludhiana, Madurai, Mangalore, Meerut, Mohali, Moradabad, Pimpri, Pondicherry, Porur, Rajkot, Ranchi, Rohtak, Roorkee, Rourkela, Shimla, Shimoga, Siliguri, Srinagar, Thoraipakkam , Tiruchirappalli, Tirunelveli, Trichur, Trichy, Udaipur, Vijayawada, Vizag, Warangal, Chennai, Coimbatore, Delhi, Dilsukhnagar, Hyderabad, Kalyan, Nagpur, Noida, Thane, Thiruvananthapuram, Uppal, Kompally, Bangalore, Chandigarh, Chromepet, Faridabad, Guntur, Guwahati, Kharadi, Lucknow, Mumbai, Mysore, Nashik, Navi Mumbai, Patna, Pune, Raipur, Vadodara, Varanasi, Yelahanka


Navigate to Address

360DigiTMG - Data Science, Data Scientist Course Training in Bangalore

No 23, 2nd Floor, 9th Main Rd, 22nd Cross Rd, 7th Sector, HSR Layout, Bengaluru, Karnataka 560102


Get Direction: Data Science Course

Make an Enquiry