Create ML — is een tool van Apple voor het trainen van machinelearningmodellen zonder code te schrijven, ingebouwd in Xcode en beschikbaar als een aparte applicatie voor macOS. Met de tool kunt u Core ML-modellen maken, trainen en testen met behulp van een grafische interface: laad gewoon een dataset, selecteer het taaktype en start de training. Volgens Apple Create ML Documentation (2025) ondersteunt de tool transfer learning op basis van ingebouwde neurale netwerken, selecteert automatisch hyperparameters en exporteert het voltooide model in .mlpackage-formaat.
Belangrijkste punten
Create ML — is een component van het machinelearning-ecosysteem van Apple, geïntroduceerd op WWDC 2018 als een tool voor het trainen van Core ML-modellen zonder code te hoeven schrijven. Vóór Create ML gebruikten ontwikkelaars Python-bibliotheken (TensorFlow, PyTorch, scikit-learn) en converteerden ze modellen vervolgens naar Core ML via coremltools. Create ML abstraheerde dit hele proces door een visuele interface, ingebouwde neurale netwerken voor transfer learning en automatische export naar Core ML-formaat te bieden.
De eerste versie van Create ML (iOS 11/macOS 10.14) ondersteunde alleen basistaken: afbeeldingsclassificatie en tekstanalyse. De versie voor macOS 10.15 voegde objectdetectie, geluidsanalyse en regressie toe. Create ML 3 (macOS 13, 2022) bracht ondersteuning voor aanbevelingssystemen, tabelgegevens met automatische algoritmeselectie en verbeterde visualisatie van het trainingsproces. Create ML 4 (macOS 14, 2024) voegde ondersteuning toe voor dynamische modellen, training op streaminggegevens en integratie met Apple's clouddiensten voor gedistribueerde training.
Create ML is bedoeld voor drie categorieën gebruikers: iOS-ontwikkelaars zonder ML-ervaring die intelligente functies aan een app willen toevoegen; productmanagers en ontwerpers die snel ML-functies willen prototypen; gegevensonderzoekers die snelle validatie van hypothesen nodig hebben voordat ze het model naar de productie-infrastructuur verplaatsen. Voor complexe modellen met een niet-standaard architectuur is Create ML niet geschikt — in dergelijke gevallen worden Python-frameworks gebruikt met daaropvolgende conversie naar Core ML.
Create ML biedt zeven taaktypes, waarvoor elk een vooraf geconfigureerd sjabloon beschikbaar is: afbeeldingsclassificatie (Image Classification), objectdetectie (Object Detection), tekstanalyse (Text Classification en Word Tagger), regressie van tabelgegevens (Tabular Regression), classificatie van tabelgegevens (Tabular Classification), geluidsanalyse (Sound Classification), aanbevelingssystemen (Recommendation). Elk sjabloon bevat een vooraf geselecteerde neurale netwerkarchitectuur die optimaal is voor dat type taak.
| Taaktype | Invoergegevens | Voorbeeld van gebruik |
|---|---|---|
| Image Classification | Afbeeldingen met labels | Bepalen van hondenras op foto |
| Object Detection | Afbeeldingen met annotaties | Gezichten zoeken op foto |
| Text Classification | Teksten met labels | Spamfilter voor berichten |
| Tabular Regression | Tabelgegevens (CSV) | Voorspelling van vastgoedprijs |
| Sound Classification | Audibestanden met labels | Herkennen van natuurgeluiden |
Image Classification — is het populairste Create ML-sjabloon. Voor het trainen van een model volstaat het om een set afbeeldingen te leveren die in mappen zijn verdeeld (mapnaam = klassenlabel). Create ML past automatisch data-augmentatie toe (rotatie, schaling, kleurverschuiving) om de effectieve grootte van de dataset te vergroten en gebruikt het voorgetrainde Vision FeaturePrint-netwerk (gemodificeerde ResNet-50) voor kenmerkextractie. Training met transfer learning duurt 2 tot 15 minuten, afhankelijk van de grootte van de dataset en de prestaties van de Mac.
Het sjabloon Object Detection vereist geannoteerde afbeeldingen met begrenzingskaders (bounding boxes) voor elk object. Create ML gebruikt de YOLOv5-architectuur (You Only Look Once), aangepast voor Core ML, met voorgetrainde gewichten op de COCO-dataset. Het minimum is 30 geannoteerde afbeeldingen per klasse, aanbevolen — 200+. Create ML ondersteunt het importeren van annotaties in de formaten PASCAL VOC, COCO JSON en Create ML JSON.
De workflow van Create ML in Xcode bestaat uit drie fasen: gegevensvoorbereiding, training en validatie, export. In de fase van gegevensvoorbereiding worden trainings- en testsets geïmporteerd. Create ML verdeelt de gegevens automatisch (standaard 80/20) en toont de klassenverdeling. In de trainingsfase toont de tool realtime grafieken van nauwkeurigheid en verlies, evenals metrieken: accuracy, precision, recall, F1-score. In de validatiefase kunt u het model testen op nieuwe gegevens rechtstreeks in het Create ML-venster.
import CreateML
let data = try MLImageClassifierData.labeledDirectories(
at: URL(fileURLWithPath: "/path/to/training-data")
)
let model = try MLImageClassifier(
trainingData: data,
parameters: MLImageClassifier.Parameters(
featureExtractor: .scenePrint(revision: 1)
)
)
try model.write(
to: URL(fileURLWithPath: "/path/to/MyModel.mlpackage")
)
De grafische interface van Create ML in Xcode wordt weergegeven in de zij-editor na selectie van het categorie-sjabloonbestand. De interface bevat de tabbladen: Data (gegevens laden en bekijken), Features (kenmerken en parameters selecteren), Model (neurale netwerkarchitectuur), Training (trainingsgrafieken en metrieken), Evaluation (testen op achtergehouden gegevens), Preview (interactief testen van het model). De ontwikkelaar kan tijdens de training tussen tabbladen schakelen zonder de training te stoppen.
Transfer Learning — is de sleuteltechnologie waarop de Create ML-sjablonen zijn gebaseerd. In plaats van een neuraal netwerk vanaf nul te trainen (wat miljoenen gelabelde voorbeelden vereist), gebruikt Create ML een voorgetraind netwerk (FeaturePrint) als kenmerkextractor en traint alleen de laatste lagen van de classifier. Dit maakt het mogelijk om een hoge nauwkeurigheid (90-95%) te bereiken op datasets van 10 tot 50 afbeeldingen per klasse met een trainingstijd van 2-5 minuten.
Create ML maakt gebruik van verschillende voorgetrainde FeaturePrint-extractors: .scenePrint (gebaseerd op ResNet-50, getraind op Places365), .objectPrint (gebaseerd op YOLOv5, getraind op COCO), .textPrint (gebaseerd op BERT, getraind op Wikipedia). De keuze van de extractor hangt af van het taaktype en het gegevensdomein. .scenePrint is bijvoorbeeld geschikter voor classificatie van afbeeldingen van interieurs en landschappen, terwijl .objectPrint geschikter is voor detectie van specifieke objecten (auto's, mensen, dieren).
Create ML past automatisch data-augmentatie toe tijdens de training: horizontale spiegeling, rotatie tot 20 graden, kleurverschuiving, wijziging van helderheid en contrast. Augmentatie wordt willekeurig toegepast op elke afbeelding in elke epoch, waardoor de effectieve grootte van de dataset 10-20 keer toeneemt. Dit is vooral belangrijk voor kleine datasets, waar overfitting het grootste probleem is. De augmentatieparameters kunnen worden aangepast op het tabblad Features.
Naast de visuele interface biedt Create ML een Swift API voor programmatisch trainen van modellen, waarmee trainingspijplijnen kunnen worden geautomatiseerd en geïntegreerd in CI/CD-processen. De Swift API bevat de klassen MLImageClassifier, MLObjectDetector, MLTextClassifier, MLWordTagger, MLTabularRegressor, MLSoundClassifier en MLRecommender. Elke klasse implementeert het protocol MLModelTrainer met de methoden train(), evaluate() en write().
import CreateML
let csvFile = try MLDataTable(
contentsOf: URL(fileURLWithPath: "data.csv")
)
let (trainingData, testData) = csvFile.randomSplit(by: 0.8)
let regressor = try MLTabularRegressor(
trainingData: trainingData,
targetColumn: "price",
parameters: MLTabularRegressor.Parameters(
algorithm: .randomForest
)
)
let evaluation = regressor.evaluation(on: testData)
print("RMSE: \(evaluation.rootMeanSquaredError)")
De Create ML Swift API kan worden uitgevoerd in build phases-scripts van Xcode of in GitLab/GitHub Actions op macOS-runners. Dit maakt het mogelijk om het model automatisch opnieuw te trainen elke keer dat de trainingsdataset in de repository wordt bijgewerkt. U kunt bijvoorbeeld een pijplijn configureren: push van gegevens naar de repository → GitLab Runner voert het Swift Create ML-script uit → het geëxporteerde .mlpackage-model wordt terug in de repository gecommit → de app wordt gebouwd met het bijgewerkte model.
Ondanks het gemak heeft Create ML een aantal beperkingen waarmee rekening moet worden gehouden bij het kiezen van een tool voor ML-taken. De belangrijkste zijn: werkt alleen op macOS, beperkte controle over de neurale netwerkarchitectuur, onmogelijkheid om aangepaste lagen (custom layers) te gebruiken, afhankelijkheid van ingebouwde FeaturePrint-extractors en geen ondersteuning voor training op meerdere GPU's of in een cluster.
Create ML is niet bedoeld voor productietraining op grote datasets (meer dan 100.000 voorbeelden). De maximale grootte van de dataset wordt beperkt door het RAM-geheugen van de Mac. Voor grootschalige taken raadt Apple aan om Python-frameworks (TensorFlow, PyTorch) op serverinfrastructuur te gebruiken met daaropvolgende conversie naar Core ML via coremltools. Create ML is een tool voor prototyping en kleine projecten, niet voor enterprise ML.
Voor tabelgegevens ondersteunt Create ML slechts drie algoritmen: Random Forest, Gradient Boosting (XGBoost) en Linear Regression. Er is geen ondersteuning voor neurale netwerken voor tabelgegevens (TabNet, FT-Transformer), SVM, kNN en ensemble-methoden die beschikbaar zijn in scikit-learn. Voor taken met tabelgegevens die hoge nauwkeurigheid vereisen, is Create ML vaak inferieur aan klassieke ML-bibliotheken.
Het trainen van modellen is alleen mogelijk op macOS, omdat Create ML gebruikmaakt van Metal Performance Shaders en macOS-exclusieve frameworks. Deze beperking maakt training op Linux-servers of in cloud-GPU-clusters onmogelijk. Voor teams die cloudinfrastructuur gebruiken, blijven coremltools + Python de enige optie.
Laten we drie reële scenario's bekijken van het gebruik van Create ML in commerciële toepassingen: moderatie van gebruikersinhoud, persoonlijke aanbevelingen en automatisch sorteren van documenten. Deze scenario's tonen typische taken die kunnen worden opgelost met Create ML zonder diepgaande kennis van machine learning.
Een app voor het delen van foto's kan Image Classification gebruiken voor automatische moderatie: training van het model op 100-200 afbeeldingen met de labels “toegestaan” en “overtreding” filtert 85-95% van ongewenste inhoud zonder tussenkomst van een moderator. Create ML maakt het mogelijk om het model bij te werken naarmate nieuwe voorbeelden van overtredingen binnenkomen, door het opnieuw te trainen in 3-5 minuten.
Met Text Classification van Create ML kunt u een app leren om gebruikersverzoeken automatisch te classificeren in categorieën: betalingsprobleem, technische storing, functieverzoek, klacht. Voor training zijn 50-100 tekstvoorbeelden per categorie voldoende. De classificatienauwkeurigheid bereikt 90% met behulp van de ingebouwde Word Tagger op basis van BERT.
MLRecommender in Create ML maakt het mogelijk om een aanbevelingssysteem te bouwen op basis van gebruikersacties zonder handmatig collaboratieve filtering te schrijven. Het model traint op gegevens van het type User → Item → Rating (bijvoorbeeld een gebruiker heeft een artikel geliket). Create ML kiest automatisch tussen collaboratieve filtering en een inhoudsgebaseerde benadering op basis van de gegevensomvang en toont top-N-aanbevelingen.
Veelgestelde vragen
Create ML — is een tool van Apple voor het trainen van machinelearningmodellen zonder code, ingebouwd in Xcode en beschikbaar als een aparte applicatie voor macOS. Het maakt het mogelijk om Core ML-modellen te maken via een grafische interface, met ondersteuning voor afbeeldingsclassificatie, tekstanalyse, objectdetectie en andere taken.
Create ML wordt gebruikt voor het trainen van modellen (maken van .mlpackage), terwijl Core ML wordt gebruikt voor het uitvoeren van getrainde modellen op het apparaat (inferentie). Create ML werkt alleen op macOS en genereert modellen in Core ML-formaat. Dit zijn verschillende fasen van hetzelfde proces: eerst trainen in Create ML, daarna integratie via Core ML in de app.
De minimale hoeveelheid gegevens hangt af van het taaktype. Voor afbeeldingsclassificatie met transfer learning zijn 10-15 afbeeldingen per klasse voldoende. Voor objectdetectie zijn minimaal 30 geannoteerde afbeeldingen per klasse nodig. Voor tekstclassificatie — 50-100 voorbeelden per categorie. De aanbevolen hoeveelheid is 100-200 voorbeelden per klasse voor een nauwkeurigheid van 90%+.
Nee, Create ML werkt uitsluitend op macOS. Het maakt gebruik van Metal Performance Shaders voor versnelling van training op de GPU en integratie met Xcode, die niet beschikbaar zijn op andere platforms. Als u geen Mac heeft, gebruik dan Python (TensorFlow/PyTorch) voor training en coremltools voor conversie van het model naar .mlpackage.
Ja, Create ML maakt deel uit van Xcode en is volledig gratis voor Apple-ontwikkelaars. Om het te gebruiken hoeft u alleen Xcode op een Mac te installeren (gratis uit de Mac App Store). Er zijn geen extra licenties of abonnementen vereist — alle trainingsmogelijkheden zijn onbeperkt beschikbaar.
Samenvatting
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.
Lees ook